ASYNC SETMODEMCTRL: Difference between revisions
Created page with "This function sets the modem control signals. ; Category:IOCTL_ASYNC (01h) ; Function:ASYNC_SETMODEMCTRL (46h) ==Parameter Packet Format== <pre> ┌───────..." |
|||
Line 18: | Line 18: | ||
The MODEMSTATUS data structure can be used by C programmers. | The MODEMSTATUS data structure can be used by C programmers. | ||
To include this data structure in your file, make sure INCL_DOSDEVIOCTL is defined before you include OS2.H. | To include this data structure in your file, make sure INCL_DOSDEVIOCTL is defined before you include OS2.H. | ||
;Modem Control Signals ON Mask | |||
The physical device driver sets the modem control signals as defined in this field. Bit 0 is DTR; bit 1 is RTS. If any other bits are set/reset by the masks, then a general failure error results. The OFF mask contains a mask (with all bits equal to 0) to turn the modem control signal off. The ON mask contains a mask (with all bits equal to 1) to turn the modem control signal on. If the Parameter Packet indicates both turn off and turn on on the same bit, the bit will be turned on. | |||
For example: | |||
<pre> | |||
┌─────────┬───────────┬───────────────┐ | |||
│Mask ON │Mask OFF │Description │ | |||
├─────────┼───────────┼───────────────┤ | |||
│ 01h │ FFh │Set DTR │ | |||
├─────────┼───────────┼───────────────┤ | |||
│ 00h │ FEh │Clear DTR │ | |||
├─────────┼───────────┼───────────────┤ | |||
│ 02h │ FFh │Set RTS │ | |||
├─────────┼───────────┼───────────────┤ | |||
│ 00h │ FDh │Clear RTS │ | |||
├─────────┼───────────┼───────────────┤ | |||
│ 03h │ FFh │Set DTR and RTS│ | |||
├─────────┼───────────┼───────────────┤ | |||
│ 00h │ FCh │Clear DTR and │ | |||
│ │ │RTS │ | |||
└─────────┴───────────┴───────────────┘ | |||
</pre> | |||
If DTR Control mode input handshaking, RTS Control mode input handshaking or toggling on transmit is set, then this request cannot try to change the state of the modem control signals, that are being used for input handshaking or toggling on transmit. If the request tries to modify a modem control signal that is being used for input handshaking or toggling on transmit, a general failure error results. | |||
;Modem Control Signals OFF Mask | |||
See Modem Control Signals ON Mask above. | |||
==Data Packet Format== | ==Data Packet Format== | ||
<pre> | <pre> |
Revision as of 03:59, 24 April 2020
This function sets the modem control signals.
- Category
- IOCTL_ASYNC (01h)
- Function
- ASYNC_SETMODEMCTRL (46h)
Parameter Packet Format
┌──────────────────────────────────────────────────────┐ │Field Length C Datatype │ ├──────────────────────────────────────────────────────┤ │Modem Control Signals ON Mask BYTE BYTE │ ├──────────────────────────────────────────────────────┤ │Modem Control Signals OFF Mask BYTE BYTE │ └──────────────────────────────────────────────────────┘
- Related C Data Structure
The MODEMSTATUS data structure can be used by C programmers.
To include this data structure in your file, make sure INCL_DOSDEVIOCTL is defined before you include OS2.H.
- Modem Control Signals ON Mask
The physical device driver sets the modem control signals as defined in this field. Bit 0 is DTR; bit 1 is RTS. If any other bits are set/reset by the masks, then a general failure error results. The OFF mask contains a mask (with all bits equal to 0) to turn the modem control signal off. The ON mask contains a mask (with all bits equal to 1) to turn the modem control signal on. If the Parameter Packet indicates both turn off and turn on on the same bit, the bit will be turned on.
For example:
┌─────────┬───────────┬───────────────┐ │Mask ON │Mask OFF │Description │ ├─────────┼───────────┼───────────────┤ │ 01h │ FFh │Set DTR │ ├─────────┼───────────┼───────────────┤ │ 00h │ FEh │Clear DTR │ ├─────────┼───────────┼───────────────┤ │ 02h │ FFh │Set RTS │ ├─────────┼───────────┼───────────────┤ │ 00h │ FDh │Clear RTS │ ├─────────┼───────────┼───────────────┤ │ 03h │ FFh │Set DTR and RTS│ ├─────────┼───────────┼───────────────┤ │ 00h │ FCh │Clear DTR and │ │ │ │RTS │ └─────────┴───────────┴───────────────┘
If DTR Control mode input handshaking, RTS Control mode input handshaking or toggling on transmit is set, then this request cannot try to change the state of the modem control signals, that are being used for input handshaking or toggling on transmit. If the request tries to modify a modem control signal that is being used for input handshaking or toggling on transmit, a general failure error results.
- Modem Control Signals OFF Mask
See Modem Control Signals ON Mask above.
Data Packet Format
┌───────────────────────────────────────────────────┐ │Field Length C Datatype │ ├───────────────────────────────────────────────────┤ │COM Error WORD (COMERR) WORD USHORT │ └───────────────────────────────────────────────────┘
Returns
If the call is made with invalid Parameter Packet values and a general failure error is reported, then the modem control signals are not changed and the Data Packet information returned to the application is undefined.