Process Information Block structure.
typedef struct _PIB {
ULONG pib_ulpid; /* Process identifier. */
ULONG pib_ulppid; /* Parent process identifier. */
ULONG pib_hmte; /* Module handle of executable program. */
PCHAR pib_pchcmd; /* Command line pointer. */
PCHAR pib_pchenv; /* Environment pointer. */
ULONG pib_flstatus; /* Process' status bits. */
ULONG pib_ultype; /* Process' type code. */
} PIB;
typedef PIB * PPIB ;
An OS/2 application that has been loaded into memory and prepared for execution is called a process. A process is the code, data, and other resources of an application, such as file handles, semaphores, pipes, queues, and so on. The OS/2 operating system considers every application it loads to be a process.
Information about a process is kept in a read/write area of the process address space, called the Process Information Block (PIB). The operating system creates and maintains a PIB for every process in the system.
An application can access the PIB of a specific process using DosGetThreadInfo.