ioctl12.hlp (Topic list)
ASYNC_GETCOMMSTATUS (1.2)
                                                      Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
#define INCL_DOSDEVIOCTL
 
USHORT DosDevIOCtl(pbStatus, 0L, 0x0064, 0x0001, hDevice)
PBYTE pbStatus;    /* pointer to variable for status */
HFILE hDevice;     /* device handle                  */
 
The ASYNC_GETCOMMSTATUS  function retrieves the communication status of the
specified device.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
pbStatus   Points to the variable that receives the communication status.
           This variable can be a combination of the following values:
 
           Value                      Meaning
           ─────────────────────────────────────────────────────────────────
           TX_WAITING_FOR_CTS         Transmission is waiting for the
                                      clear-to-send (CTS) signal to be
                                      turned on. For a full description, see
                                      the ASYNC_SETDCBINFO function (0x0001,
                                      0x0053).
 
           TX_WAITING_FOR_DSR         Transmission is waiting for the
                                      data-set-ready (DSR) signal to be
                                      turned on. For a full description, see
                                      the ASYNC_SETDCBINFO function (0x0001,
                                      0x0053).
 
           TX_WAITING_FOR_DCD         Transmission is waiting for the
                                      data-carrier-detected (DCD) signal to
                                      be turned on. For a full description,
                                      see the ASYNC_SETDCBINFO function
                                      (0x0001, 0x0053).
 
           TX_WAITING_FOR_XON         Transmission is waiting because the
                                      XOFF character is received. For a full
                                      description, see the following
                                      "Comments" section.
 
           TX_WAITING_TO_SEND_XON     Transmission is waiting because the
                                      XOFF character is transmitted. For a
                                      full description, see the following
                                      "Comments" section.
 
           TX_WAITING_WHILE_BREAK_ON  Transmission is waiting because a
                                      break is being transmitted. For a full
                                      description, see the ASYNC_SETBREAKON
                                      function (0x0001, 0x004B).
 
           TX_WAITING_TO_SEND_IMM     Character is waiting to transmit
                                      immediately. For a full description,
                                      see the ASYNC_TRANSMITIMM function
                                      (0x0001, 0x0044).
 
           RX_WAITING_FOR_DSR         Receive state is waiting for the
                                      data-set-ready (DSR) signal to be
                                      turned on. For a full description, see
                                      the ASYNC_SETDCBINFO function (0x0001,
                                      0x0053).
 
hDevice    Identifies the serial device that receives the device-control
           function. The handle must have been created previously by using
           the DosOpen function.
 
Return Value
 
The return value is zero if the function is successful or an error value if
an error occurs.
 
Comments
 
Transmit status indicates why transmission is not occurring, regardless of
whether or not there is data to transmit. However, the device driver must be
enabled for the given condition (for example, enabled for output handshaking
for the modem-control signal) for the status to reflect that the device
driver is waiting for the given condition to transmit.
 
For example, TX_WAITING_FOR_CTS means that the device driver puts receive
characters in the device-driver receive queue, the device driver is not
waiting to transmit a character immediately, and characters from the
device-driver transmit queue are not transmitted because the clear-to-send
(CTS) signal for output handshaking is used and CTS does not have the proper
value.
 
The communication status can include TX_WAITING_TO_SEND_XON if the device
driver is enabled for automatic transmit flow control (XON/XOFF) or if the
ASYNC_STOPTRANSMIT function (0x0001, 0x0047) has been used to tell the
device driver to function as if an XOFF character is received. The
ASYNC_TRANSMITIMM function (0x0001, 0x0044) can still be used to transmit
characters immediately. The device driver can still automatically transmit
XON and XOFF characters due to automatic receive flow control (XON/XOFF)
when the device driver is in this state.
 
The communication status can include TX_WAITING_FOR_XON if the device driver
is enabled for automatic receive flow control. When in this state, the
ASYNC_TRANSMITIMM function (0x0001, 0x0044) can still be used to transmit
characters immediately, and the device driver can still automatically
transmit XON characters.
 
See Also
 
DosOpen, ASYNC_GETCOMMEVENT, ASYNC_GETLINESTATUS, ASYNC_SETDCBINFO,
ASYNC_STARTTRANSMIT, ASYNC_STOPTRANSMIT, ASYNC_TRANSMITIMM