home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
memsz331.zip
/
Source.zip
/
DQPS.H
< prev
next >
Wrap
Text File
|
1995-10-16
|
5KB
|
104 lines
/********************************************************************* DQPS.H
* *
* DosQProcStatus Definitions *
* *
****************************************************************************/
#ifndef DQPS_H
#define DQPS_H
APIRET16 APIENTRY16 DosQProcStatus ( PULONG buffer, USHORT buffer_size );
typedef struct qsGrec_s {
ULONG cThrds; /* number of threads in use */
ULONG Reserved1;
ULONG Reserved2;
} qsGrec_t;
typedef struct qsTrec_s {
ULONG RecType; /* 00: Record Type */
/* Thread rectype = 0x00000100 */
USHORT tid; /* 04: thread ID */
USHORT slot; /* 06: "unique" thread slot number */
ULONG sleepid; /* 08: sleep id thread is sleeping on */
ULONG priority; /* 0C: thread priority */
ULONG systime; /* 10: thread system time */
ULONG usertime; /* 14: thread user time */
UCHAR state; /* 18: thread state */
UCHAR padchar ; /* 19: */
USHORT padshort ; /* 1A: */
} qsTrec_t; /* Total size: 28 bytes */
typedef struct qsPrec_s {
ULONG RecType; /* 00: type of record being processed */
/* process rectype = 0x00000001 */
qsTrec_t * _Seg16 pThrdRec; /* 04: ptr to 1st thread rec for this prc */
USHORT pid; /* 08: process ID */
USHORT ppid; /* 0A: parent process ID */
ULONG type; /* 0C: process type */
ULONG stat; /* 10: process status */
ULONG sgid; /* 14: process screen group */
USHORT hMte; /* 18: program module handle for process */
USHORT cTCB; /* 1A: # of TCBs in use in process */
ULONG Reserved1 ;
ULONG Reserved2 ;
USHORT c16Sem; /* 24: # of 16 bit system sems in use by proc */
USHORT cLib; /* 26: number of runtime linked libraries */
USHORT cShrMem; /* 28: number of shared memory handles */
USHORT Reserved3 ;
USHORT * _Seg16 p16SemRec; /* 2C: ptr to head of 16 bit sem inf for proc */
USHORT * _Seg16 pLibRec; /* 30: ptr to list of runtime lib in use by process */
USHORT * _Seg16 pShrMemRec; /* 34: ptr to list of shared mem handles in use by process */
ULONG Reserved4 ; /* 38: */
} qsPrec_t; /* Total size: 60 bytes */
typedef struct qsS16Headrec_s {
ULONG SRecType; /* semaphore rectype = 3 */
ULONG Reserved1; /* overlays NextRec of 1st qsS16rec_t*/
ULONG Reserved2;
ULONG S16TblOff; /* index of first semaphore,SEE PSTAT OUTPUT*/
/* System Semaphore Information Section */
} qsS16Headrec_t;
typedef struct qsS16rec_s {
ULONG NextRec; /* offset to next record in buffer*/
UINT s_SysSemOwner ; /* thread owning this semaphore */
UCHAR s_SysSemFlag ; /* system semaphore flag bit field*/
UCHAR s_SysSemRefCnt ; /* number of references to this */
/* system semaphore */
UCHAR s_SysSemProcCnt ; /*number of requests by sem owner*/
UCHAR Reserved1;
ULONG Reserved2;
UINT Reserved3;
CHAR SemName; /* start of semaphore name string */
} qsS16rec_t;
typedef struct qsMrec_s {
ULONG MemNextRec; /* offset to next record in buffer */
USHORT hmem; /* handle for shared memory */
USHORT sel; /* shared memory selector */
USHORT refcnt; /* reference count */
CHAR Memname; /* start of shared memory name string */
} qsMrec_t;
typedef struct qsLrec_s {
void * _Seg16 pNextRec; /* pointer to next record in buffer */
USHORT hmte; /* handle for this mte */
USHORT Reserved1; /* Reserved */
ULONG ctImpMod; /* # of imported modules in table */
ULONG Reserved2; /* Reserved */
ULONG Reserved3; /* Reserved */
UCHAR * _Seg16 pName; /* ptr to name string following stru*/
} qsLrec_t;
typedef struct qsPtrRec_s {
qsGrec_t *pGlobalRec; /* ptr to the global data section */
qsPrec_t *pProcRec; /* ptr to process record section */
qsS16Headrec_t *p16SemRec; /* ptr to 16 bit sem section */
qsMrec_t *pShrMemRec; /* ptr to shared mem section */
qsLrec_t *pLibRec; /* ptr to exe module record section */
} qsPtrRec_t;
#endif