home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / borhead.zip / BSETIB.H < prev    next >
C/C++ Source or Header  |  1994-11-09  |  3KB  |  92 lines

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