This example gets information about the installed devices and displays it. Some return code checking was omitted for brevity.
#define INCL_DOSDEVICES /* Device values */
#define INCL_DOSERRORS /* Error values */
#include <os2.h>
#include <stdio.h>
int main(VOID) {
BYTE Model = 0, /* Model number */
SubModel = 0, /* Submodel */
Adapter = 0, /* Display adapter type */
CoProc = 0, /* Math coprocessor installed? */
Printers = 0; /* Number of printers */
APIRET rc = NO_ERROR; /* Return code */
rc = DosDevConfig(&Model, DEVINFO_MODEL);
if (rc != NO_ERROR) {
printf("DosDevConfig error: return code = %u\n", rc);
return 1;
}
rc = DosDevConfig(&SubModel, DEVINFO_SUBMODEL);
printf(" Model/SubModel: %d / %d\n", Model, SubModel);
rc = DosDevConfig(&Adapter, DEVINFO_ADAPTER);
printf(" Display type: %s\n", (Adapter ? "Color" : "Monochrome"));
rc = DosDevConfig(&CoProc, DEVINFO_COPROCESSOR);
printf(" Math co-processor? %s\n", (CoProc ? "Yes" : "No"));
rc = DosDevConfig(&Printers, DEVINFO_PRINTER);
printf("Number of printers: %d\n", Printers);
return NO_ERROR;
}