home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / aspisrc.zip / dev / DEVINFO.H < prev    next >
C/C++ Source or Header  |  1998-11-29  |  4KB  |  76 lines

  1.  
  2. // Prevent multiple inclusion
  3. #if !defined(DevInfo_h)
  4. #define DevInfo_h 1
  5.  
  6. #if !defined(__cplusplus)
  7. #error C++ must be used for strict type checking
  8. #endif
  9.  
  10.  
  11. // Include the fundamental type definitions
  12. #include "DevType.h"
  13.  
  14.  
  15. // Global (per-system) information segment
  16. struct        GINFO
  17.   {
  18.   WORD32      Time;           // Time in seconds since 1970.01.01
  19.   WORD32      MilliSeconds;   // Time in milliseconds
  20.   BYTE        Hour;           // Current hour
  21.   BYTE        Minute;         // Current minute
  22.   BYTE        Second;         // Current second
  23.   BYTE        Hundredth;      // Current hundredth of a second
  24.   WORD16      Timezone;       // Minutes from UTC (Greenwich mean-time)
  25.   WORD16      Interval;       // Timer interval (tenths of milliseconds)
  26.   BYTE        Day;            // Current day of month
  27.   BYTE        Month;          // Current month
  28.   WORD16      Year;           // Current year
  29.   BYTE        Weekday;        // Current day of week (0 = Sunday, 6 = Saturday)
  30.   BYTE        MajorVersion;   // Major version number of OS/2
  31.   BYTE        MinorVersion;   // Minor version number of OS/2
  32.   BYTE        Revision;       // Revision letter of OS/2
  33.   BYTE        CurrentSession; // Current foreground full-screen session ID
  34.   BYTE        MaxSessions;    // Maximum number of full-screen sessions
  35.   BYTE        HugeShift;      // Shift count for huge segments
  36.   BYTE        ProtectFlag;    // 1 = protected mode only, 0 = mixed mode
  37.   WORD16      ForegroundPID;  // Process ID of the current foreground process
  38.   BYTE        DynamicFlag;    // 1 = dynamic variation enabled, 0 = disabled
  39.   BYTE        MaxWaitTime;    // Maximum wait to get control (seconds)
  40.   WORD16      MinTimeSlice;   // Minimum time slice length (milliseconds)
  41.   WORD16      MaxTimeSlice;   // Maximum time slice length (milliseconds)
  42.   WORD16      BootDrive;      // ID of system startup drive (1 = A:, 26 = Z:)
  43.   BYTE        Trace[32];      // System tracing flags (RAS)
  44.   BYTE        MaxVIOSessions; // Maximum number of VIO (windowed) sessions
  45.   BYTE        MaxPMSessions;  // Maximum number of PM sessions
  46.   WORD16      ErrorLog;       // Error logging status
  47.   WORD16      RASSelector;    // RAS memory mapped IO selector
  48.   WORD32      RASAddress;     // RAS memory mapped IO address
  49.   BYTE        MaxVDMSessions; // Maximum number of virtual DOS machines
  50.   };
  51.  
  52. // Local (per-process) information segment
  53. struct        LINFO
  54.   {
  55.   WORD16      ProcessID;      // Current process ID
  56.   WORD16      ParentID;       // Current process' parent's PID
  57.   WORD16      Priority;       // Current thread's priority
  58.   WORD16      ThreadID;       // Current thread ID
  59.   WORD16      SessionID;      // Current session ID
  60.   BYTE        Status;         // Process status
  61.   BYTE        Unused1;        // Unused
  62.   WORD16      ForegroundFlag; // Current process has keyboard focus
  63.   BYTE        Type;           // Type of process (0 = FS, 1 = real, 2 = VIO,
  64.   BYTE        Unused2;        //                  3 = PM, 4 = detached)
  65.   WORD16      EnvSelector;    // Selector for environment
  66.   WORD16      CommandLineOff; // Offset of command line in EnvironmentSel
  67.   WORD16      DSLength;       // Length of data segment
  68.   WORD16      StackSize;      // Size of stack (bytes)
  69.   WORD16      HeapSize;       // Size of heap (bytes)
  70.   WORD16      Module;         // Module handle
  71.   WORD16      DSSelector;     // Selector for data segment
  72.   };
  73.  
  74.  
  75. #endif // DevInfo_h
  76.