home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / os2tk21j / c / os2h / bsetib.h__ / bsetib.h
Encoding:
C/C++ Source or Header  |  1993-03-12  |  2.5 KB  |  85 lines

  1. /*      SCCSID = @(#)bsetib.h    6.9 92/03/15 */
  2. /***************************************************************************\
  3. *
  4. * Module Name: BSETIB.H
  5. *
  6. * OS/2 Thread Information Block Include File
  7. *
  8. * Copyright (c) 1989, 1992  IBM Corporation
  9. * Copyright (c) 1989  Microsoft Corporation
  10. *
  11. *****************************************************************************/
  12.  
  13. #ifdef __IBMC__
  14. #pragma checkout( suspend )
  15.    #ifndef __CHKHDR__
  16.       #pragma checkout( suspend )
  17.    #endif
  18. #pragma checkout( resume )
  19. #endif
  20.  
  21. #ifndef __BSETIB__
  22. #define __BSETIB__
  23.  
  24. /*
  25.  *      Thread Information Block (TIB)
  26.  */
  27.  
  28. struct tib2_s
  29.        {
  30.        ULONG   tib2_ultid;             /* Thread I.D. */
  31.        ULONG   tib2_ulpri;             /* Thread priority */
  32.        ULONG   tib2_version;           /* Version number for this structure */
  33.        USHORT  tib2_usMCCount;         /* Must Complete count */
  34.        USHORT  tib2_fMCForceFlag;      /* Must Complete force flag */
  35.        };
  36.  
  37. typedef struct tib2_s TIB2;
  38. typedef struct tib2_s *PTIB2;
  39.  
  40. struct tib_s                           /* TIB Thread Information Block */
  41.        {
  42.         PVOID   tib_pexchain;           /* Head of exception handler chain */
  43.         PVOID   tib_pstack;             /* Pointer to base of stack */
  44.         PVOID   tib_pstacklimit;        /* Pointer to end of stack */
  45.         PTIB2   tib_ptib2;              /* Pointer to system specific TIB */
  46.         ULONG   tib_version;            /* Version number for this TIB structure */
  47.         ULONG   tib_ordinal;            /* Thread ordinal number        */
  48.        };
  49.  
  50.  
  51. typedef struct tib_s    tib_t;
  52. typedef struct tib_s    TIB;
  53. typedef struct tib_s    *PTIB;
  54.  
  55.  
  56. /*
  57.  *      Process Information Block (PIB)
  58.  */
  59.  
  60.  
  61. struct pib_s {                         /* PIB Process Information Block */
  62.        ULONG   pib_ulpid;              /* Process I.D. */
  63.        ULONG   pib_ulppid;             /* Parent process I.D. */
  64.        ULONG   pib_hmte;               /* Program (.EXE) module handle */
  65.        PCHAR   pib_pchcmd;             /* Command line pointer */
  66.        PCHAR   pib_pchenv;             /* Environment pointer */
  67.        ULONG   pib_flstatus;           /* Process' status bits */
  68.        ULONG   pib_ultype;             /* Process' type code */
  69.        };
  70.  
  71.  
  72. typedef struct pib_s    pib_t;
  73. typedef struct pib_s    PIB;
  74. typedef struct pib_s    *PPIB;
  75.  
  76. #endif /* __BSETIB__ */
  77.  
  78. #ifdef __IBMC__
  79. #pragma checkout( suspend )
  80.    #ifndef __CHKHDR__
  81.       #pragma checkout( resume )
  82.    #endif
  83. #pragma checkout( resume )
  84. #endif
  85.