1 #ifndef __WINE_TOOLHELP_H
2 #define __WINE_TOOLHELP_H
7 #define MAX_MODULE_NAME 9
9 #define MAX_CLASSNAME 255
40 /* GlobalFirst()/GlobalNext() flags */
56 #define GT_BURGERMASTER 10
59 #define GD_USERDEFINED 0
60 #define GD_CURSORCOMPONENT 1
62 #define GD_ICONCOMPONENT 3
68 #define GD_ACCELERATORS 9
70 #define GD_ERRTABLE 11
73 #define GD_NAMETABLE 15
74 #define GD_MAX_RESOURCE 15
77 #define GF_PDB_OWNER 0x0100 /* Low byte is KERNEL flags */
79 WORD WINAPI
GlobalHandleToSel( HGLOBAL16 handle
);
80 BOOL16 WINAPI
GlobalInfo( GLOBALINFO
*pInfo
);
81 BOOL16 WINAPI
GlobalFirst( GLOBALENTRY
*pGlobal
, WORD wFlags
);
82 BOOL16 WINAPI
GlobalNext( GLOBALENTRY
*pGlobal
, WORD wFlags
) ;
83 BOOL16 WINAPI
GlobalEntryHandle( GLOBALENTRY
*pGlobal
, HGLOBAL16 hItem
);
84 BOOL16 WINAPI
GlobalEntryModule( GLOBALENTRY
*pGlobal
, HMODULE16 hModule
,
109 /* wHeapType values */
110 #define NORMAL_HEAP 0
117 #define LF_MOVEABLE 4
122 #define LT_GDI_PEN 1 /* LT_GDI_* is for GDI's heap */
123 #define LT_GDI_BRUSH 2
124 #define LT_GDI_FONT 3
125 #define LT_GDI_PALETTE 4
126 #define LT_GDI_BITMAP 5
129 #define LT_GDI_DISABLED_DC 8
130 #define LT_GDI_METADC 9
131 #define LT_GDI_METAFILE 10
132 #define LT_GDI_MAX LT_GDI_METAFILE
133 #define LT_USER_CLASS 1 /* LT_USER_* is for USER's heap */
134 #define LT_USER_WND 2
135 #define LT_USER_STRING 3
136 #define LT_USER_MENU 4
137 #define LT_USER_CLIP 5
138 #define LT_USER_CBOX 6
139 #define LT_USER_PALETTE 7
141 #define LT_USER_BWL 9
142 #define LT_USER_OWNERDRAW 10
143 #define LT_USER_SPB 11
144 #define LT_USER_CHECKPOINT 12
145 #define LT_USER_DCE 13
146 #define LT_USER_MWP 14
147 #define LT_USER_PROP 15
148 #define LT_USER_LBIV 16
149 #define LT_USER_MISC 17
150 #define LT_USER_ATOMS 18
151 #define LT_USER_LOCKINPUTSTATE 19
152 #define LT_USER_HOOKLIST 20
153 #define LT_USER_USERSEEUSERDOALLOC 21
154 #define LT_USER_HOTKEYLIST 22
155 #define LT_USER_POPUPMENU 23
156 #define LT_USER_HANDLETABLE 32
157 #define LT_USER_MAX LT_USER_HANDLETABLE
159 BOOL16 WINAPI
LocalInfo( LOCALINFO
*pLocalInfo
, HGLOBAL16 handle
);
160 BOOL16 WINAPI
LocalFirst( LOCALENTRY
*pLocalEntry
, HGLOBAL16 handle
);
161 BOOL16 WINAPI
LocalNext( LOCALENTRY
*pLocalEntry
);
169 char szModule
[MAX_MODULE_NAME
+ 1];
172 char szExePath
[MAX_PATH
+ 1];
174 } MODULEENTRY
, *LPMODULEENTRY
;
176 BOOL16 WINAPI
ModuleFirst(MODULEENTRY
*lpModule
);
177 BOOL16 WINAPI
ModuleNext(MODULEENTRY
*lpModule
);
178 BOOL16 WINAPI
ModuleFindName(MODULEENTRY
*lpModule
, LPCSTR lpstrName
);
179 BOOL16 WINAPI
ModuleFindHandle(MODULEENTRY
*lpModule
, HMODULE16 hModule
);
197 char szModule
[MAX_MODULE_NAME
+ 1];
200 } TASKENTRY
, *LPTASKENTRY
;
202 BOOL16 WINAPI
TaskFirst(LPTASKENTRY lpTask
);
203 BOOL16 WINAPI
TaskNext(LPTASKENTRY lpTask
);
204 BOOL16 WINAPI
TaskFindHandle(LPTASKENTRY lpTask
, HTASK16 hTask
);
205 DWORD WINAPI
TaskSetCSIP(HTASK16 hTask
, WORD wCS
, WORD wIP
);
206 DWORD WINAPI
TaskGetCSIP(HTASK16 hTask
);
207 BOOL16 WINAPI
TaskSwitch(HTASK16 hTask
, DWORD dwNewCSIP
);
211 typedef struct tagMEMMANINFO
{
213 DWORD dwLargestFreeBlock
;
214 DWORD dwMaxPagesAvailable
;
215 DWORD dwMaxPagesLockable
;
216 DWORD dwTotalLinearSpace
;
217 DWORD dwTotalUnlockedPages
;
220 DWORD dwFreeLinearSpace
;
221 DWORD dwSwapFilePages
;
224 typedef MEMMANINFO
*LPMEMMANINFO
;
229 WORD wUserFreePercent
;
230 WORD wGDIFreePercent
;
231 HGLOBAL16 hUserSegment
;
232 HGLOBAL16 hGDISegment
;
235 BOOL16 WINAPI
MemManInfo(LPMEMMANINFO lpEnhMode
);
236 BOOL16 WINAPI
SystemHeapInfo( SYSHEAPINFO
*pHeapInfo
);
240 typedef struct tagTIMERINFO
{
242 DWORD dwmsSinceStart
;
246 BOOL16 WINAPI
TimerCount( TIMERINFO
*pTimerInfo
);
253 HMODULE16 hInst
; /* This is really an hModule */
254 char szClassName
[MAX_CLASSNAME
+ 1];
258 BOOL16 WINAPI
ClassFirst( CLASSENTRY
*pClassEntry
);
259 BOOL16 WINAPI
ClassNext( CLASSENTRY
*pClassEntry
);
262 /* Memory read/write */
264 DWORD WINAPI
MemoryRead( WORD sel
, DWORD offset
, void *buffer
, DWORD count
);
265 DWORD WINAPI
MemoryWrite( WORD sel
, DWORD offset
, void *buffer
, DWORD count
);
267 /* flags to NotifyRegister() */
268 #define NF_NORMAL 0 /* everything except taskswitches, debugerrors,
271 #define NF_TASKSWITCH 1 /* get taskswitch information */
272 #define NF_RIP 2 /* get debugerrors of system */
274 BOOL16 WINAPI
NotifyRegister(HTASK16 htask
,FARPROC16 lpfnCallback
,WORD wFlags
);
276 #define NFY_UNKNOWN 0
277 #define NFY_LOADSEG 1
278 /* DATA is a pointer to following struct: */
283 WORD wType
; /* bit 0 set if this is a code segment */
284 WORD wcInstance
; /* only valid for data segment */
286 /* called when freeing a segment. LOWORD(dwData) is the freed selector */
287 #define NFY_FREESEG 2
289 /* called when loading/starting a DLL */
290 #define NFY_STARTDLL 3
298 /* called when starting a task. dwData is CS:IP */
299 #define NFY_STARTTASK 4
301 /* called when a task terminates. dwData is the return code */
302 #define NFY_EXITTASK 5
304 /* called when module is removed. LOWORD(dwData) is the handle */
305 #define NFY_DELMODULE 6
307 /* RIP? debugevent */
318 /* called before (after?) switching to a task
319 * no data, callback should call GetCurrentTask
323 /* called before(after?) switching from a task
324 * no data, callback should call GetCurrentTask
326 #define NFY_TASKOUT 9
328 /* returns ASCII input value, dwData not set */
329 #define NFY_INCHAR 10
331 /* output debugstring (pointed to by dwData) */
332 #define NFY_OUTSTRING 11
335 #define NFY_LOGERROR 12
339 VOID
*lpInfo
; /* depends on wErrCode */
342 /* called for parameter errors? */
343 #define NFY_LOGPARAMERROR 13
347 FARPROC16 lpfnErrorAddr
;
365 #endif /* __WINE_TOOLHELP_H */