File:  [OS/2 SDKs] / os2sdk / include / infoseg.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:25:13 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: os2sdk-1987, HEAD
Microsoft OS/2 SDK 12-15-1987

/*
 *      InfoSeg Data Structures
 */

/*
 * The structure below defines the content and organization of the system
 * information segment (InfoSeg).  The actual table is statically defined in
 * SDATA.ASM and the read-only ring 3 selector is defined in the GDT table
 * in the same file.  Ring 0, read/write access is obtained by the clock
 * device driver using the DevHlp GetDOSVar function.
 */

struct  InfoSegGDT
{

/* Time */

unsigned long   BigTime ;       /* Time from 1-1-1970 in seconds */
unsigned long   MsCount ;       /* Freerunning milliseconds counter */
unsigned char   HrsTime ;       /* Hours */
unsigned char   MinTime ;       /* Minutes */
unsigned char   SecTime ;       /* Seconds */
unsigned char   HunTime ;       /* Hundredths of seconds */
unsigned short  TimeZone ;      /* Timezone in min from GMT (Set to EST) */
unsigned short  ClkIntrvl ;     /* Timer interval (units=0.0001 secs) */

/* Date */

unsigned char   DayDate ;       /* Day-of-month (1-31) */
unsigned char   MonDate ;       /* Month (1-12) */
unsigned short  YrsDate ;       /* Year (>= 1980) */
unsigned char   DOWDate ;       /* Day-of-week (1-1-80 = Tues = 3) */

/* Version */

unsigned char   VerMajor ;      /* Major version number */
unsigned char   VerMinor ;      /* Minor version number */
unsigned char   RevLettr ;      /* Revision letter */

/* System Status */

unsigned char   CurScrnGrp ;    /* Current screen group */
unsigned char   MaxScrnGrp ;    /* Maximum number of screen groups */
unsigned char   HugeShfCnt ;    /* Shift count for huge segments */
unsigned char   ProtMdOnly ;    /* Protect-mode-only indicator */
unsigned short  FgndPID ;       /* Foreground process ID */

/* Scheduler Parms */

unsigned char   Dynamic ;       /* Dynamic variation flag (1=enabled) */
unsigned char   MaxWait ;       /* Maxwait (seconds) */
unsigned short  MinSlice ;      /* Minimum timeslice (milliseconds) */
unsigned short  MaxSlice ;      /* Maximum timeslice (milliseconds) */

/* Boot Drive */

unsigned short  BootDrv ;       /* Drive from which system was booted */

/* RAS Major Event Code Table */

unsigned char   mec_table[32];  /* Table of RAS Major Event Codes (MECs) */

} ;



/*
 *      InfoSeg LDT Data Segment Structure
 *
 * The structure below defines the content and organization of the system
 * information in a special per-process segment to be accessable by the
 * process through the LDT (read-only).
 */

struct InfoSegLDT
{

unsigned short  CurProcID ;     /* Current process ID */
unsigned short  ParProcID ;     /* Process ID of parent */
unsigned short  CurThrdPri ;    /* Current thread priority */
unsigned short  CurThrdID ;     /* Current thread ID */
unsigned short  CurScrnGrp ;    /* Screengroup */
unsigned short  SubScrnGrp ;    /* Subscreen group */
unsigned short  Fgnd ;          /* Current process is in foreground */

} ;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.