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 DosGetInfoBlocks.