The following code example shows the use of DosGetProcessorStatus:
#define INCL_BASE
#define INCL_DOSSPINLOCK
#define INCL_DOSERRORS
#include <os2.h>
#include <stdio.h>
#include <string.h>
int main(VOID)
{
ULONG ulProcNum = 0L; /* Processor number */
ULONG ulStatus = 0L; /* Processor status */
APIRET rc = NO_ERROR; /* Return code */
/* Determine status of processor 0 */
ulProcNum = 1L; /* Processors are numbered from 1 to n */
rc = DosGetProcessorStatus(ulProcNum, &ulStatus);
if (rc != NO_ERROR) {
printf("DosGetProcessorStatus failed: rc = %u\n", rc);
return 1;
} else {
printf("Processor %u is %s.\n", ulProcNum,
(ulStatus ? "OFFLINE" : "ONLINE"));
} /* endif */
return NO_ERROR;
}