source: trunk/dll/procstat.h@ 551

Last change on this file since 551 was 551, checked in by Gregg Young, 19 years ago

Indentation cleanup

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.6 KB
Line 
1/**********************************************************************
2 * MODULE NAME : procstat.h AUTHOR: Rick Fishman *
3 * DATE WRITTEN: 2-10-92 *
4 * *
5 * DESCRIPTION: *
6 * *
7 * This header file contains the function prototype for the asofyet *
8 * undocumented DosQProcStatus API. It also contains the structure *
9 * definitions that are used in the buffer that is returned by the *
10 * API call. *
11 * *
12 * In order to invoke DosQProcStatus, your .DEF file must contain *
13 * this entry: *
14 * *
15 * IMPORTS DOSQPROCSTATUS=DOSCALLS.154 *
16 * *
17 **********************************************************************/
18
19#pragma linkage( DosQProcStatus, far16 pascal )
20USHORT DosQProcStatus(PVOID pvBuf, USHORT cbBuf);
21
22#define PROCESS_END_INDICATOR 3 // Indicates end of process structs
23
24#pragma pack(1)
25
26typedef struct _SUMMARY
27{
28 ULONG ulThreadCount; // Number of threads in system
29 ULONG ulProcessCount; // Number of processes in system
30 ULONG ulModuleCount; // Number of modules in system
31
32}
33SUMMARY, *PSUMMARY;
34
35typedef struct _THREADINFO
36{
37 ULONG ulRecType; // Record type (thread = 100)
38 USHORT tidWithinProcess; // TID within process (TID is 4 bytes!!)
39 USHORT usSlot; // Unique thread slot number
40 ULONG ulBlockId; // Sleep id thread is sleeping on
41 ULONG ulPriority; // Priority
42 ULONG ulSysTime; // Thread System Time
43 ULONG ulUserTime; // Thread User Time
44 UCHAR uchState; // 1=ready,2=blocked,5=running
45 UCHAR uchPad; // Filler
46 USHORT usPad; // Filler
47
48}
49THREADINFO, *PTHREADINFO;
50
51typedef struct _PROCESSINFO
52{
53 ULONG ulEndIndicator; // 1 means not end, 3 means last entry
54 PTHREADINFO ptiFirst; // Address of the 1st Thread Control Blk
55 USHORT pid; // Process ID (2 bytes - PID is 4 bytes)
56 USHORT pidParent; // Parent's process ID
57 ULONG ulType; // Process Type
58 ULONG ulStatus; // Process Status
59 ULONG idSession; // Session ID
60 USHORT hModRef; // Module handle of EXE
61 USHORT usThreadCount; // Number of threads in this process
62 ULONG ulReserved; // Unknown
63 PVOID pvReserved; // Unknown
64 USHORT usSem16Count; // Number of 16-bit system semaphores
65 USHORT usDllCount; // Number of Dlls used by process
66 USHORT usShrMemHandles; // Number of shared memory handles
67 USHORT usReserved; // Unknown
68 PUSHORT pusSem16TableAddr; // Address of a 16-bit semaphore table
69 PUSHORT pusDllTableAddr; // Address of a Dll table
70 PUSHORT pusShrMemTableAddr; // Address of a shared memory table
71
72}
73PROCESSINFO, *PPROCESSINFO;
74
75typedef struct _SEMINFO
76{
77 struct _SEMINFO *pNext; // Ptr to next block (NULL on last one)
78 UINT idOwningThread; // ID of owning thread?
79 UCHAR fbFlags; // Semaphore flags
80 UCHAR uchReferenceCount; // Number of references
81 UCHAR uchRequestCount; // Number of requests
82 UCHAR uchReserved; // Unknown
83 ULONG ulReserved; // Unknown
84 UINT uiReserved; // Unknown
85 CHAR szSemName[1]; // ASCIIZ semaphore name
86
87}
88SEMINFO, *PSEMINFO;
89
90typedef struct _SHRMEMINFO
91{
92 struct _SHRMEMINFO *pNext; // Ptr to next block (NULL on last one)
93 USHORT usMemHandle; // Shared memory handle (?)
94 SEL selMem; // Selector
95 USHORT usReferenceCount; // Number of references
96 CHAR szMemName[1]; // ASCIIZ shared memory name
97
98}
99SHRMEMINFO, *PSHRMEMINFO;
100
101typedef struct _MODINFO
102{
103 struct _MODINFO *pNext; // Ptr to next block (NULL on last one)
104 USHORT hMod; // Module handle
105 USHORT usModType; // Module type (0=16bit,1=32bit)
106 ULONG ulModRefCount; // Count of module references
107 ULONG ulSegmentCount; // Number of segments in module
108 ULONG ulDontKnow1; //
109 PSZ szModName; // Addr of fully qualified module name
110 USHORT usModRef[1]; // Handles of module references
111
112}
113MODINFO, *PMODINFO;
114
115typedef struct _BUFFHEADER
116{
117 PSUMMARY psumm; // SUMMARY section ptr
118 PPROCESSINFO ppi; // PROCESS section ptr
119 PSEMINFO psi; // SEM section ptr (add 16 to offset)
120 PVOID pDontKnow1; //
121 PSHRMEMINFO psmi; // SHARED MEMORY section ptr
122 PMODINFO pmi; // MODULE section ptr
123 PVOID pDontKnow2; //
124 PVOID pDontKnow3; //
125
126}
127BUFFHEADER, *PBUFFHEADER;
128
129#pragma pack()
Note: See TracBrowser for help on using the repository browser.