DosDevConfig (OS/2 1.x): Difference between revisions
Appearance
No edit summary |
m Ak120 moved page DosDevConfig (Legacy) to DosDevConfig (OS/2 1.x) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This call gets information about attached devices. | This call gets information about attached devices. | ||
==Syntax== | ==Syntax== | ||
DosDevConfig (DeviceInfo, Item, Parm) | |||
DosDevConfig | |||
==Parameters== | ==Parameters== | ||
; | ;DeviceInfo (PVOID) - output: Address of the byte-wide field containing the requested information. | ||
;Item (USHORT) - input: Device information requested. | |||
; Item (USHORT) - input : Device information requested. | :0 - Number of printers attached | ||
:1 - Number of RS232 ports | |||
:2 - Number of diskette drives | |||
:3 - Presence of math coprocessor (where 0 = not present, 1 = present) | |||
:4 - PC Submodel Type (where the return is the system submodel byte) | |||
:5 - PC Model Type (where the return is the system model byte) | |||
:6 - Display adapter type (where 0 = monochrome mode compatible, 1 = other). | |||
;Parm (USHORT) - input: Reserved for future use and should be set to zero. | |||
; Parm (USHORT) - input : Reserved for future use and should be set to zero. | |||
==Return Code== | ==Return Code== | ||
;rc (USHORT) - return:Return code descriptions are: | |||
* 0 NO_ERROR | |||
Return code descriptions are: | *87 ERROR_INVALID_PARAMETER | ||
==Remarks== | ==Remarks== | ||
The system model (function 5) and submodel (function 4) information is obtained from BIOS. | The system model (function 5) and submodel (function 4) information is obtained from BIOS. | ||
In addition, the number of devices attached in a PS/2 environment reflect only devices that are "awake". Devices that are "asleep" are not counted. | In addition, the number of devices attached in a PS/2 environment reflect only devices that are "awake". Devices that are "asleep" are not counted. | ||
== | ==Bindings== | ||
===C | ===C=== | ||
<PRE> | <PRE> | ||
#define INCL_DOSDEVICES | #define INCL_DOSDEVICES | ||
Line 47: | Line 33: | ||
USHORT rc = DosDevConfig(DeviceInfo, Item, Parm); | USHORT rc = DosDevConfig(DeviceInfo, Item, Parm); | ||
PVOID | PVOID DeviceInfo; /* Returned information */ | ||
USHORT | USHORT Item; /* Item number */ | ||
USHORT | USHORT Parm; /* Reserved */ | ||
USHORT rc; /* return */ | |||
</PRE> | |||
===MASM=== | |||
<PRE> | |||
EXTRN DosDevConfig:FAR | |||
INCL_DOSDEVICES EQU 1 | |||
PUSH@ OTHER DeviceInfo ;Requested information (returned) | |||
PUSH WORD Item ;Item number | |||
PUSH WORD Parm ;Reserved (must be zero) | |||
CALL DosDevConfig | |||
Returns WORD | |||
</PRE> | </PRE> | ||
==Example Code== | |||
This example gets information about model type, monitor and coprocessor and display it. | This example gets information about model type, monitor and coprocessor and display it. | ||
<PRE> | <PRE> | ||
Line 66: | Line 66: | ||
USHORT rc; | USHORT rc; | ||
if(!DosDevConfig(&DeviceInfo, | if(!DosDevConfig(&DeviceInfo, /* Returned information */ | ||
MACHINE_MODEL, | MACHINE_MODEL, /* Item number */ | ||
RESERVED)) | RESERVED)) /* Reserved */ | ||
printf("Model Type %d ",DeviceInfo); | printf("Model Type %d ",DeviceInfo); | ||
if(!DosDevConfig(&DeviceInfo, | if(!DosDevConfig(&DeviceInfo, /* Returned information */ | ||
DISPLAY_TYPE, | DISPLAY_TYPE, /* Item number */ | ||
RESERVED)) | RESERVED)) /* Reserved */ | ||
if (DeviceInfo) | if (DeviceInfo) | ||
printf(" | printf("Colour display "); | ||
else | else | ||
printf("Mono display "); | printf("Mono display "); | ||
if(!DosDevConfig(&DeviceInfo, | if(!DosDevConfig(&DeviceInfo, /* Returned information */ | ||
FIND_COPROCESSOR, | FIND_COPROCESSOR, /* Item number */ | ||
RESERVED)) | RESERVED)) /* Reserved */ | ||
if (DeviceInfo) | if (DeviceInfo) | ||
printf("Coprocessor"); | printf("Coprocessor"); | ||
Line 88: | Line 88: | ||
</PRE> | </PRE> | ||
[[Category:Dos16]] | |||
[[Category: |
Latest revision as of 03:04, 26 January 2020
This call gets information about attached devices.
Syntax
DosDevConfig (DeviceInfo, Item, Parm)
Parameters
- DeviceInfo (PVOID) - output
- Address of the byte-wide field containing the requested information.
- Item (USHORT) - input
- Device information requested.
- 0 - Number of printers attached
- 1 - Number of RS232 ports
- 2 - Number of diskette drives
- 3 - Presence of math coprocessor (where 0 = not present, 1 = present)
- 4 - PC Submodel Type (where the return is the system submodel byte)
- 5 - PC Model Type (where the return is the system model byte)
- 6 - Display adapter type (where 0 = monochrome mode compatible, 1 = other).
- Parm (USHORT) - input
- Reserved for future use and should be set to zero.
Return Code
- rc (USHORT) - return
- Return code descriptions are:
- 0 NO_ERROR
- 87 ERROR_INVALID_PARAMETER
Remarks
The system model (function 5) and submodel (function 4) information is obtained from BIOS.
In addition, the number of devices attached in a PS/2 environment reflect only devices that are "awake". Devices that are "asleep" are not counted.
Bindings
C
#define INCL_DOSDEVICES USHORT rc = DosDevConfig(DeviceInfo, Item, Parm); PVOID DeviceInfo; /* Returned information */ USHORT Item; /* Item number */ USHORT Parm; /* Reserved */ USHORT rc; /* return */
MASM
EXTRN DosDevConfig:FAR INCL_DOSDEVICES EQU 1 PUSH@ OTHER DeviceInfo ;Requested information (returned) PUSH WORD Item ;Item number PUSH WORD Parm ;Reserved (must be zero) CALL DosDevConfig Returns WORD
Example Code
This example gets information about model type, monitor and coprocessor and display it.
#define INCL_DOSDEVICES #define MACHINE_MODEL 5 #define DISPLAY_TYPE 6 #define FIND_COPROCESSOR 3 #define RESERVED 0L BYTE DeviceInfo; USHORT rc; if(!DosDevConfig(&DeviceInfo, /* Returned information */ MACHINE_MODEL, /* Item number */ RESERVED)) /* Reserved */ printf("Model Type %d ",DeviceInfo); if(!DosDevConfig(&DeviceInfo, /* Returned information */ DISPLAY_TYPE, /* Item number */ RESERVED)) /* Reserved */ if (DeviceInfo) printf("Colour display "); else printf("Mono display "); if(!DosDevConfig(&DeviceInfo, /* Returned information */ FIND_COPROCESSOR, /* Item number */ RESERVED)) /* Reserved */ if (DeviceInfo) printf("Coprocessor"); else printf("No Coprocessor");