source: branches/gcc-kmk/src/kernel32/dosqss.h@ 21824

Last change on this file since 21824 was 21824, checked in by dmik, 13 years ago

Make the debug version of ported DLLs build.

File size: 2.9 KB
Line 
1/* $Id: dosqss.h,v 1.1 1999-12-01 18:40:47 sandervl Exp $ */
2#ifndef DOSQSS_H
3#define DOSQSS_H
4
5#ifndef RESERVED
6#define RESERVED 0
7#endif
8
9/* DosQuerySysState is declared in os2wrap.h */
10
11#undef DosAllocMem
12#define DosAllocMem _DosAllocMem
13
14typedef struct {
15 ULONG threadcnt;
16 ULONG proccnt;
17 ULONG modulecnt;
18} QGLOBAL, *PQGLOBAL;
19
20typedef struct {
21 ULONG rectype; /* 256 for thread */
22 USHORT threadid;
23 USHORT slotid;
24 ULONG sleepid;
25 ULONG priority;
26 ULONG systime;
27 ULONG usertime;
28 UCHAR state;
29 UCHAR _reserved1_; /* padding to ULONG */
30 USHORT _reserved2_; /* padding to ULONG */
31} QTHREAD, *PQTHREAD;
32
33typedef struct {
34 USHORT sfn;
35 USHORT refcnt;
36 ULONG flags;
37 ULONG accmode;
38 ULONG filesize;
39 USHORT volhnd;
40 USHORT attrib;
41 USHORT _reserved_;
42} QFDS, *PQFDS;
43
44typedef struct qfile {
45 ULONG rectype; /* 8 for file */
46 struct qfile *next;
47 ULONG opencnt;
48 PQFDS filedata;
49 char name[1];
50} QFILE, *PQFILE;
51
52typedef struct {
53 ULONG rectype; /* 1 for process */
54 PQTHREAD threads;
55 USHORT pid;
56 USHORT ppid;
57 ULONG type;
58 ULONG state;
59 ULONG sessid;
60 USHORT hndmod;
61 USHORT threadcnt;
62 ULONG privsem32cnt;
63 ULONG _reserved2_;
64 USHORT sem16cnt;
65 USHORT dllcnt;
66 USHORT shrmemcnt;
67 USHORT fdscnt;
68 PUSHORT sem16s;
69 PUSHORT dlls;
70 PUSHORT shrmems;
71 PUSHORT fds;
72} QPROCESS, *PQPROCESS;
73
74typedef struct sema {
75 struct sema *next;
76 USHORT refcnt;
77 UCHAR sysflags;
78 UCHAR sysproccnt;
79 ULONG _reserved1_;
80 USHORT index;
81 CHAR name[1];
82} QSEMA, *PQSEMA;
83
84typedef struct {
85 ULONG rectype; /**/
86 ULONG _reserved1_;
87 USHORT _reserved2_;
88 USHORT syssemidx;
89 ULONG index;
90 QSEMA sema;
91} QSEMSTRUC, *PQSEMSTRUC;
92
93typedef struct {
94 USHORT pid;
95 USHORT opencnt;
96} QSEMOWNER32, *PQSEMOWNER32;
97
98typedef struct {
99 PQSEMOWNER32 own;
100 PCHAR name;
101 PVOID semrecs; /* array of associated sema's */
102 USHORT flags;
103 USHORT semreccnt;
104 USHORT waitcnt;
105 USHORT _reserved_; /* padding to ULONG */
106} QSEMSMUX32, *PQSEMSMUX32;
107
108typedef struct {
109 PQSEMOWNER32 own;
110 PCHAR name;
111 PQSEMSMUX32 mux;
112 USHORT flags;
113 USHORT postcnt;
114} QSEMEV32, *PQSEMEV32;
115
116typedef struct {
117 PQSEMOWNER32 own;
118 PCHAR name;
119 PQSEMSMUX32 mux;
120 USHORT flags;
121 USHORT refcnt;
122 USHORT thrdnum;
123 USHORT _reserved_; /* padding to ULONG */
124} QSEMMUX32, *PQSEMMUX32;
125
126typedef struct semstr32 {
127 struct semstr32 *next;
128 QSEMEV32 evsem;
129 QSEMMUX32 muxsem;
130 QSEMSMUX32 smuxsem;
131} QSEM32STRUC, *PQSEM32STRUC;
132
133typedef struct shrmem {
134 struct shrmem *next;
135 USHORT hndshr;
136 USHORT selshr;
137 USHORT refcnt;
138 CHAR name[1];
139} QSHRMEM, *PQSHRMEM;
140
141typedef struct module {
142 struct module *next;
143 USHORT hndmod;
144 USHORT type;
145 ULONG refcnt;
146 ULONG segcnt;
147 PVOID _reserved_;
148 PCHAR name;
149 USHORT modref[1];
150} QMODULE, *PQMODULE;
151
152typedef struct {
153 PQGLOBAL gbldata;
154 PQPROCESS procdata;
155 PQSEMSTRUC semadata;
156 PQSEM32STRUC sem32data; /* not always present */
157 PQSHRMEM shrmemdata;
158 PQMODULE moddata;
159 PVOID _reserved2_;
160 PQFILE filedata; /* only present in FP19 or later or W4 */
161} QTOPLEVEL, *PQTOPLEVEL;
162
163#endif
Note: See TracBrowser for help on using the repository browser.