Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://crydee.sai.msu.ru/ftproot/pub/comp/os/os2/xfree86os2/html/dosqss.h.html
Дата изменения: Tue Oct 24 00:00:00 2000 Дата индексирования: Mon Dec 24 11:42:08 2007 Кодировка: Поисковые слова: m 101 |
#ifndef DOSQSS_H #define DOSQSS_H #ifdef __cplusplus extern "C" { #endif APIRET APIENTRY DosQuerySysState(ULONG func,ULONG arg1,ULONG arg2, ULONG _res_,PVOID buf,ULONG bufsz); #ifdef __cplusplus } #endif typedef struct { ULONG threadcnt; ULONG proccnt; ULONG modulecnt; } QGLOBAL, *PQGLOBAL; typedef struct { ULONG rectype; /* 256 for thread */ USHORT threadid; USHORT slotid; ULONG sleepid; ULONG priority; ULONG systime; ULONG usertime; UCHAR state; UCHAR _reserved1_; /* padding to ULONG */ USHORT _reserved2_; /* padding to ULONG */ } QTHREAD, *PQTHREAD; typedef struct { USHORT sfn; USHORT refcnt; ULONG flags; ULONG accmode; ULONG filesize; USHORT volhnd; USHORT attrib; USHORT _reserved_; } QFDS, *PQFDS; typedef struct qfile { ULONG rectype; /* 8 for file */ struct qfile *next; ULONG opencnt; PQFDS filedata; char name[1]; } QFILE, *PQFILE; typedef struct { ULONG rectype; /* 1 for process */ PQTHREAD threads; USHORT pid; USHORT ppid; ULONG type; ULONG state; ULONG sessid; USHORT hndmod; USHORT threadcnt; ULONG privsem32cnt; ULONG _reserved2_; USHORT sem16cnt; USHORT dllcnt; USHORT shrmemcnt; USHORT fdscnt; PUSHORT sem16s; PUSHORT dlls; PUSHORT shrmems; PUSHORT fds; } QPROCESS, *PQPROCESS; typedef struct sema { struct sema *next; USHORT refcnt; UCHAR sysflags; UCHAR sysproccnt; ULONG _reserved1_; USHORT index; CHAR name[1]; } QSEMA, *PQSEMA; typedef struct { ULONG rectype; /**/ ULONG _reserved1_; USHORT _reserved2_; USHORT syssemidx; ULONG index; QSEMA sema; } QSEMSTRUC, *PQSEMSTRUC; typedef struct { USHORT pid; USHORT opencnt; } QSEMOWNER32, *PQSEMOWNER32; typedef struct { PQSEMOWNER32 own; PCHAR name; PVOID semrecs; /* array of associated sema's */ USHORT flags; USHORT semreccnt; USHORT waitcnt; USHORT _reserved_; /* padding to ULONG */ } QSEMSMUX32, *PQSEMSMUX32; typedef struct { PQSEMOWNER32 own; PCHAR name; PQSEMSMUX32 mux; USHORT flags; USHORT postcnt; } QSEMEV32, *PQSEMEV32; typedef struct { PQSEMOWNER32 own; PCHAR name; PQSEMSMUX32 mux; USHORT flags; USHORT refcnt; USHORT thrdnum; USHORT _reserved_; /* padding to ULONG */ } QSEMMUX32, *PQSEMMUX32; typedef struct semstr32 { struct semstr32 *next; QSEMEV32 evsem; QSEMMUX32 muxsem; QSEMSMUX32 smuxsem; } QSEM32STRUC, *PQSEM32STRUC; typedef struct shrmem { struct shrmem *next; USHORT hndshr; USHORT selshr; USHORT refcnt; CHAR name[1]; } QSHRMEM, *PQSHRMEM; typedef struct module { struct module *next; USHORT hndmod; USHORT type; ULONG refcnt; ULONG segcnt; PVOID _reserved_; PCHAR name; USHORT modref[1]; } QMODULE, *PQMODULE; typedef struct { PQGLOBAL gbldata; PQPROCESS procdata; PQSEMSTRUC semadata; PQSEM32STRUC sem32data; /* not always present */ PQSHRMEM shrmemdata; PQMODULE moddata; PVOID _reserved2_; PQFILE filedata; /* only present in FP19 or later or W4 */ } QTOPLEVEL, *PQTOPLEVEL; #endif