/*DDK*************************************************************************/
/*                                                                           */
/* COPYRIGHT (C) Microsoft Corporation, 1989                                 */
/* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
/*                                                                           */
/*    The following IBM OS/2 WARP source code is provided to you solely for  */
/*    the purpose of assisting you in your development of OS/2 WARP device   */
/*    drivers. You may use this code in accordance with the IBM License      */
/*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
/*    Copyright statement may not be removed.                                */
/*                                                                           */
/*****************************************************************************/
/*static char *SCCSID = "@(#)bsetib.h	6.3 92/02/12";*/
/*
 * SCCSID = @(#)bsetib.h	6.3 92/02/12
 *
 * Module Name: bsetib.h
 *
 * OS/2 Thread Information Block Include File
 *
 */

/*
 *      Thread Information Block (TIB)
 */


struct tib2_s {
        ULONG   tib2_ultid;             /* Thread I.D. */
        ULONG   tib2_ulpri;             /* Thread priority */
        ULONG   tib2_version;           /* Version number for this structure */
        USHORT  tib2_usMCCount;         /* Must Complete count */
        USHORT  tib2_fMCForceFlag;      /* Must Complete force flag */
};

typedef struct tib2_s TIB2;
typedef struct tib2_s *PTIB2;

struct tib_s {                          /* TIB Thread Information Block */
        PVOID   tib_pexchain;           /* Head of exception handler chain */
        PVOID   tib_pstack;             /* Pointer to base of stack */
        PVOID   tib_pstacklimit;        /* Pointer to end of stack */
        PTIB2   tib_ptib2;              /* Pointer to system specific TIB */
        ULONG   tib_version;            /* Version number for this TIB structure */
        ULONG   tib_ordinal;            /* Thread Ordinal Number DCR 1355 */
};

typedef struct tib_s    tib_t;
typedef struct tib_s    TIB;
typedef struct tib_s    *PTIB;

/*
 *      Process Information Block (PIB)
 */


struct pib_s {                          /* PIB Process Information Block */
        ULONG   pib_ulpid;              /* Process I.D. */
        ULONG   pib_ulppid;             /* Parent process I.D. */
        ULONG   pib_hmte;               /* Program (.EXE) module handle */
        PCHAR   pib_pchcmd;             /* Command line pointer */
        PCHAR   pib_pchenv;             /* Environment pointer */
        ULONG   pib_flstatus;           /* Process' status bits */
        ULONG   pib_ultype;             /* Process' type code */
};


typedef struct pib_s    pib_t;
typedef struct pib_s    PIB;
typedef struct pib_s    *PPIB;
