home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / BSETIB.H < prev    next >
C/C++ Source or Header  |  1997-08-17  |  3KB  |  93 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. #if __IBMC__ || __IBMCPP__
  14. #pragma info( none )
  15.    #ifndef __CHKHDR__
  16.       #pragma info( none )
  17.    #endif
  18. #pragma info( restore )
  19. #endif
  20. #ifdef __cplusplus
  21.       extern "C" {
  22. #endif
  23.  
  24. #ifndef __BSETIB__
  25. /* NOINC */
  26. #define __BSETIB__
  27. /* INC */
  28.  
  29. /*
  30.  *      Thread Information Block (TIB)
  31.  */
  32.  
  33. struct tib2_s
  34.        {
  35.        ULONG   tib2_ultid;             /* Thread I.D. */
  36.        ULONG   tib2_ulpri;             /* Thread priority */
  37.        ULONG   tib2_version;           /* Version number for this structure */
  38.        USHORT  tib2_usMCCount;         /* Must Complete count */
  39.        USHORT  tib2_fMCForceFlag;      /* Must Complete force flag */
  40.        };
  41.  
  42. typedef struct tib2_s TIB2;
  43. typedef struct tib2_s *PTIB2;
  44.  
  45. struct tib_s                           /* TIB Thread Information Block */
  46.        {
  47.         PVOID   tib_pexchain;           /* Head of exception handler chain */
  48.         PVOID   tib_pstack;             /* Pointer to base of stack */
  49.         PVOID   tib_pstacklimit;        /* Pointer to end of stack */
  50.         PTIB2   tib_ptib2;              /* Pointer to system specific TIB */
  51.         ULONG   tib_version;            /* Version number for this TIB structure */
  52.         ULONG   tib_ordinal;            /* Thread ordinal number        */
  53.        };
  54.  
  55.  
  56. typedef struct tib_s    tib_t;
  57. typedef struct tib_s    TIB;
  58. typedef struct tib_s    *PTIB;
  59.  
  60.  
  61. /*
  62.  *      Process Information Block (PIB)
  63.  */
  64.  
  65.  
  66. struct pib_s {                         /* PIB Process Information Block */
  67.        ULONG   pib_ulpid;              /* Process I.D. */
  68.        ULONG   pib_ulppid;             /* Parent process I.D. */
  69.        ULONG   pib_hmte;               /* Program (.EXE) module handle */
  70.        PCHAR   pib_pchcmd;             /* Command line pointer */
  71.        PCHAR   pib_pchenv;             /* Environment pointer */
  72.        ULONG   pib_flstatus;           /* Process' status bits */
  73.        ULONG   pib_ultype;             /* Process' type code */
  74.        };
  75.  
  76.  
  77. typedef struct pib_s    pib_t;
  78. typedef struct pib_s    PIB;
  79. typedef struct pib_s    *PPIB;
  80.  
  81. #endif /* __BSETIB__ */
  82.  
  83. #ifdef __cplusplus
  84.         }
  85. #endif
  86. #if __IBMC__ || __IBMCPP__
  87. #pragma info( none )
  88.    #ifndef __CHKHDR__
  89.       #pragma info( restore )
  90.    #endif
  91. #pragma info( restore )
  92. #endif
  93.