source: trunk/include/win/winbase.h@ 21388

Last change on this file since 21388 was 21388, checked in by dmik, 15 years ago

Make CreateFile() return HANDLE rather than HFILE to match the current Win32 API behavior.

File size: 111.6 KB
Line 
1#ifndef __WINE_WINBASE_H
2#define __WINE_WINBASE_H
3
4#include "winnt.h"
5
6#include "pshpack1.h"
7
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct tagCOORD {
14 INT16 x;
15 INT16 y;
16} COORD, *LPCOORD;
17
18
19 /* Windows Exit Procedure flag values */
20#define WEP_FREE_DLL 0
21#define WEP_SYSTEM_EXIT 1
22
23typedef DWORD (* CALLBACK LPTHREAD_START_ROUTINE)(LPVOID);
24
25/* This is also defined in winnt.h */
26/* typedef struct _EXCEPTION_RECORD {
27 DWORD ExceptionCode;
28 DWORD ExceptionFlags;
29 struct _EXCEPTION_RECORD *ExceptionRecord;
30 LPVOID ExceptionAddress;
31 DWORD NumberParameters;
32 DWORD ExceptionInformation[15];
33} EXCEPTION_RECORD; */
34
35typedef struct _EXCEPTION_DEBUG_INFO {
36/* EXCEPTION_RECORD ExceptionRecord; */
37 DWORD dwFirstChange;
38} EXCEPTION_DEBUG_INFO;
39
40typedef struct _CREATE_THREAD_DEBUG_INFO {
41 HANDLE hThread;
42 LPVOID lpThreadLocalBase;
43 LPTHREAD_START_ROUTINE lpStartAddress;
44} CREATE_THREAD_DEBUG_INFO;
45
46typedef struct _CREATE_PROCESS_DEBUG_INFO {
47 HANDLE hFile;
48 HANDLE hProcess;
49 HANDLE hThread;
50 LPVOID lpBaseOfImage;
51 DWORD dwDebugInfoFileOffset;
52 DWORD nDebugInfoSize;
53 LPVOID lpThreadLocalBase;
54 LPTHREAD_START_ROUTINE lpStartAddress;
55 LPVOID lpImageName;
56 WORD fUnicode;
57} CREATE_PROCESS_DEBUG_INFO;
58
59typedef struct _EXIT_THREAD_DEBUG_INFO {
60 DWORD dwExitCode;
61} EXIT_THREAD_DEBUG_INFO;
62
63typedef struct _EXIT_PROCESS_DEBUG_INFO {
64 DWORD dwExitCode;
65} EXIT_PROCESS_DEBUG_INFO;
66
67typedef struct _LOAD_DLL_DEBUG_INFO {
68 HANDLE hFile;
69 LPVOID lpBaseOfDll;
70 DWORD dwDebugInfoFileOffset;
71 DWORD nDebugInfoSize;
72 LPVOID lpImageName;
73 WORD fUnicode;
74} LOAD_DLL_DEBUG_INFO;
75
76typedef struct _UNLOAD_DLL_DEBUG_INFO {
77 LPVOID lpBaseOfDll;
78} UNLOAD_DLL_DEBUG_INFO;
79
80typedef struct _OUTPUT_DEBUG_STRING_INFO {
81 LPSTR lpDebugStringData;
82 WORD fUnicode;
83 WORD nDebugStringLength;
84} OUTPUT_DEBUG_STRING_INFO;
85
86typedef struct _RIP_INFO {
87 DWORD dwError;
88 DWORD dwType;
89} RIP_INFO;
90
91typedef struct _DEBUG_EVENT {
92 DWORD dwDebugEventCode;
93 DWORD dwProcessId;
94 DWORD dwThreadId;
95 union {
96 EXCEPTION_DEBUG_INFO Exception;
97 CREATE_THREAD_DEBUG_INFO CreateThread;
98 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
99 EXIT_THREAD_DEBUG_INFO ExitThread;
100 EXIT_PROCESS_DEBUG_INFO ExitProcess;
101 LOAD_DLL_DEBUG_INFO LoadDll;
102 UNLOAD_DLL_DEBUG_INFO UnloadDll;
103 OUTPUT_DEBUG_STRING_INFO DebugString;
104 RIP_INFO RipInfo;
105 } u;
106} DEBUG_EVENT, *LPDEBUG_EVENT;
107
108#define EXCEPTION_DEBUG_EVENT 1
109#define CREATE_THREAD_DEBUG_EVENT 2
110#define CREATE_PROCESS_DEBUG_EVENT 3
111#define EXIT_THREAD_DEBUG_EVENT 4
112#define EXIT_PROCESS_DEBUG_EVENT 5
113#define LOAD_DLL_DEBUG_EVENT 6
114#define UNLOAD_DLL_DEBUG_EVENT 7
115#define OUTPUT_DEBUG_STRING_EVENT 8
116#define RIP_EVENT 9
117
118#define OFS_MAXPATHNAME 128
119typedef struct
120{
121 BYTE cBytes;
122 BYTE fFixedDisk;
123 WORD nErrCode;
124 BYTE reserved[4];
125 BYTE szPathName[OFS_MAXPATHNAME];
126} OFSTRUCT, *LPOFSTRUCT;
127
128#define OF_READ 0x0000
129#define OF_WRITE 0x0001
130#define OF_READWRITE 0x0002
131#define OF_SHARE_COMPAT 0x0000
132#define OF_SHARE_EXCLUSIVE 0x0010
133#define OF_SHARE_DENY_WRITE 0x0020
134#define OF_SHARE_DENY_READ 0x0030
135#define OF_SHARE_DENY_NONE 0x0040
136#define OF_PARSE 0x0100
137#define OF_DELETE 0x0200
138#define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
139#define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
140#define OF_CANCEL 0x0800
141#define OF_CREATE 0x1000
142#define OF_PROMPT 0x2000
143#define OF_EXIST 0x4000
144#define OF_REOPEN 0x8000
145
146/* SetErrorMode values */
147#define SEM_FAILCRITICALERRORS 0x0001
148#define SEM_NOGPFAULTERRORBOX 0x0002
149#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
150#define SEM_NOOPENFILEERRORBOX 0x8000
151
152/* CopyFileEx flags */
153#define COPY_FILE_FAIL_IF_EXISTS 0x00000001
154#define COPY_FILE_RESTARTABLE 0x00000002
155#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
156
157/* GetTempFileName() Flags */
158#define TF_FORCEDRIVE 0x80
159
160
161#define DRIVE_UNKNOWN 0
162#define DRIVE_NO_ROOT_DIR 1
163#define DRIVE_CANNOTDETERMINE 0
164#define DRIVE_DOESNOTEXIST 1
165#define DRIVE_REMOVABLE 2
166#define DRIVE_FIXED 3
167#define DRIVE_REMOTE 4
168/* Win32 additions */
169#define DRIVE_CDROM 5
170#define DRIVE_RAMDISK 6
171
172#define MAX_COMPUTERNAME_LENGTH 15
173
174/* The security attributes structure */
175typedef struct
176{
177 DWORD nLength;
178 LPVOID lpSecurityDescriptor;
179 BOOL bInheritHandle;
180} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
181
182#ifndef _FILETIME_
183#define _FILETIME_
184/* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
185typedef struct
186{
187 DWORD dwLowDateTime;
188 DWORD dwHighDateTime;
189} FILETIME, *LPFILETIME, *PFILETIME;
190#endif /* _FILETIME_ */
191
192/* Find* structures */
193typedef struct
194{
195 DWORD dwFileAttributes;
196 FILETIME ftCreationTime;
197 FILETIME ftLastAccessTime;
198 FILETIME ftLastWriteTime;
199 DWORD nFileSizeHigh;
200 DWORD nFileSizeLow;
201 DWORD dwReserved0;
202 DWORD dwReserved1;
203 CHAR cFileName[260];
204 CHAR cAlternateFileName[14];
205} WIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
206
207typedef struct
208{
209 DWORD dwFileAttributes;
210 FILETIME ftCreationTime;
211 FILETIME ftLastAccessTime;
212 FILETIME ftLastWriteTime;
213 DWORD nFileSizeHigh;
214 DWORD nFileSizeLow;
215 DWORD dwReserved0;
216 DWORD dwReserved1;
217 WCHAR cFileName[260];
218 WCHAR cAlternateFileName[14];
219} WIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
220
221DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)
222DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)
223
224typedef enum _FINDEX_INFO_LEVELS
225{
226 FindExInfoStandard,
227 FindExInfoMaxInfoLevel
228} FINDEX_INFO_LEVELS;
229
230typedef enum _FINDEX_SEARCH_OPS
231{
232 FindExSearchNameMatch,
233 FindExSearchLimitToDirectories,
234 FindExSearchLimitToDevices,
235 FindExSearchMaxSearchOp
236} FINDEX_SEARCH_OPS;
237
238typedef struct
239{
240 LPVOID lpData;
241 DWORD cbData;
242 BYTE cbOverhead;
243 BYTE iRegionIndex;
244 WORD wFlags;
245 union {
246 struct {
247 HANDLE hMem;
248 DWORD dwReserved[3];
249 } Block;
250 struct {
251 DWORD dwCommittedSize;
252 DWORD dwUnCommittedSize;
253 LPVOID lpFirstBlock;
254 LPVOID lpLastBlock;
255 } Region;
256 } DUMMYUNIONNAME;
257} PROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY;
258
259#define PROCESS_HEAP_REGION 0x0001
260#define PROCESS_HEAP_UNCOMMITTED_RANGE 0x0002
261#define PROCESS_HEAP_ENTRY_BUSY 0x0004
262#define PROCESS_HEAP_ENTRY_MOVEABLE 0x0010
263#define PROCESS_HEAP_ENTRY_DDESHARE 0x0020
264
265#define INVALID_HANDLE_VALUE16 ((HANDLE16) -1)
266#define INVALID_HANDLE_VALUE ((HANDLE) -1)
267#define INVALID_SET_FILE_POINTER ((DWORD)-1)
268#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
269
270/* comm */
271
272/*
273 Serial provider type
274 */
275#define SP_SERIALCOMM ((DWORD)0x00000001)
276/*
277 Provider SubTypes
278 */
279#define PST_UNSPECIFIED ((DWORD)0x00000000)
280#define PST_RS232 ((DWORD)0x00000001)
281#define PST_PARALLELPORT ((DWORD)0x00000002)
282#define PST_RS422 ((DWORD)0x00000003)
283#define PST_RS423 ((DWORD)0x00000004)
284#define PST_RS449 ((DWORD)0x00000005)
285#define PST_MODEM ((DWORD)0x00000006)
286#define PST_FAX ((DWORD)0x00000021)
287#define PST_SCANNER ((DWORD)0x00000022)
288#define PST_NETWORK_BRIDGE ((DWORD)0x00000100)
289#define PST_LAT ((DWORD)0x00000101)
290#define PST_TCPIP_TELNET ((DWORD)0x00000102)
291#define PST_X25 ((DWORD)0x00000103)
292/*
293 Provider Caps
294 */
295#define PCF_DTRDSR ((DWORD)0x00000001)
296#define PCF_RTSCTS ((DWORD)0x00000002)
297#define PCF_RLSD ((DWORD)0x00000004)
298#define PCF_PARITY_CHECK ((DWORD)0x00000008)
299#define PCF_XONXOFF ((DWORD)0x00000010)
300#define PCF_SETXCHAR ((DWORD)0x00000020)
301#define PCF_TOTALTIMEOUTS ((DWORD)0x00000040)
302#define PCF_INITTIMEOUTS ((DWORD)0x00000080)
303#define PCF_SPECIALCHARS ((DWORD)0x00000100)
304#define PCF_16BITMODE ((DWORD)0x00000200)
305
306/*
307 Provider setable parameters
308 */
309#define SP_PARITY ((DWORD)0x00000001)
310#define SP_BAUD ((DWORD)0x00000002)
311#define SP_DATABITS ((DWORD)0x00000004)
312#define SP_STOPBIT ((DWORD)0x00000008)
313#define SP_HANDSHAKEING ((DWORD)0x00000010)
314#define SP_PARITY_CHECK ((DWORD)0x00000020)
315#define SP_RLSD ((DWORD)0x00000040)
316/*
317 Settable baudrates in the provider
318*/
319#define BAUD_075 ((DWORD)0x00000001)
320#define BAUD_110 ((DWORD)0x00000002)
321#define BAUD_134_5 ((DWORD)0x00000004)
322#define BAUD_150 ((DWORD)0x00000008)
323#define BAUD_300 ((DWORD)0x00000010)
324#define BAUD_600 ((DWORD)0x00000020)
325#define BAUD_1200 ((DWORD)0x00000040)
326#define BAUD_1800 ((DWORD)0x00000080)
327#define BAUD_2400 ((DWORD)0x00000100)
328#define BAUD_4800 ((DWORD)0x00000200)
329#define BAUD_7200 ((DWORD)0x00000400)
330#define BAUD_9600 ((DWORD)0x00000800)
331#define BAUD_14400 ((DWORD)0x00001000)
332#define BAUD_19200 ((DWORD)0x00002000)
333#define BAUD_38400 ((DWORD)0x00004000)
334#define BAUD_56K ((DWORD)0x00008000)
335#define BAUD_128K ((DWORD)0x00010000)
336#define BAUD_115200 ((DWORD)0x00020000)
337#define BAUD_57600 ((DWORD)0x00040000)
338#define BAUD_USER ((DWORD)0x10000000)
339
340/*
341 Setable Databits
342 */
343#define DATABITS_5 ((DWORD)0x00000001)
344#define DATABITS_6 ((DWORD)0x00000002)
345#define DATABITS_7 ((DWORD)0x00000004)
346#define DATABITS_8 ((DWORD)0x00000008)
347#define DATABITS_16 ((DWORD)0x00000010)
348#define DATABITS_16X ((DWORD)0x00000020)
349
350/*
351 Setable Stop and Parity Bits
352 */
353
354#define STOPBITS_10 ((DWORD)0x00000001)
355#define STOPBITS_15 ((DWORD)0x00000002)
356#define STOPBITS_20 ((DWORD)0x00000004)
357#define PARITY_NONE ((DWORD)0x00000100)
358#define PARITY_ODD ((DWORD)0x00000200)
359#define PARITY_EVEN ((DWORD)0x00000400)
360#define PARITY_MARK ((DWORD)0x00000800)
361#define PARITY_SPACE ((DWORD)0x00001000)
362
363#define CBR_110 110
364#define CBR_300 300
365#define CBR_600 600
366#define CBR_1200 1200
367#define CBR_2400 2400
368#define CBR_4800 4800
369#define CBR_9600 9600
370#define CBR_14400 14400
371#define CBR_19200 19200
372#define CBR_38400 38400
373#define CBR_56000 56000
374#define CBR_57600 57600
375#define CBR_115200 115200
376#define CBR_128000 128000
377#define CBR_256000 256000
378
379#define NOPARITY 0
380#define ODDPARITY 1
381#define EVENPARITY 2
382#define MARKPARITY 3
383#define SPACEPARITY 4
384#define ONESTOPBIT 0
385#define ONE5STOPBITS 1
386#define TWOSTOPBITS 2
387
388#define IGNORE 0
389#define INFINITE16 0xFFFF
390#define INFINITE 0xFFFFFFFF
391
392#define CE_RXOVER 0x0001
393#define CE_OVERRUN 0x0002
394#define CE_RXPARITY 0x0004
395#define CE_FRAME 0x0008
396#define CE_BREAK 0x0010
397#define CE_CTSTO 0x0020
398#define CE_DSRTO 0x0040
399#define CE_RLSDTO 0x0080
400#define CE_TXFULL 0x0100
401#define CE_PTO 0x0200
402#define CE_IOE 0x0400
403#define CE_DNS 0x0800
404#define CE_OOP 0x1000
405#define CE_MODE 0x8000
406
407#define IE_BADID -1
408#define IE_OPEN -2
409#define IE_NOPEN -3
410#define IE_MEMORY -4
411#define IE_DEFAULT -5
412#define IE_HARDWARE -10
413#define IE_BYTESIZE -11
414#define IE_BAUDRATE -12
415
416#define EV_RXCHAR 0x0001
417#define EV_RXFLAG 0x0002
418#define EV_TXEMPTY 0x0004
419#define EV_CTS 0x0008
420#define EV_DSR 0x0010
421#define EV_RLSD 0x0020
422#define EV_BREAK 0x0040
423#define EV_ERR 0x0080
424#define EV_RING 0x0100
425#define EV_PERR 0x0200
426#define EV_CTSS 0x0400
427#define EV_DSRS 0x0800
428#define EV_RLSDS 0x1000
429#define EV_RINGTE 0x2000
430#define EV_RingTe EV_RINGTE
431
432#define SETXOFF 1
433#define SETXON 2
434#define SETRTS 3
435#define CLRRTS 4
436#define SETDTR 5
437#define CLRDTR 6
438#define RESETDEV 7
439#define SETBREAK 8
440#define CLRBREAK 9
441
442#define GETBASEIRQ 10
443
444/* Purge functions for Comm Port */
445#define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the
446 comm port */
447#define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to
448 the comm port */
449#define PURGE_TXCLEAR 0x0004 /* Kill the transmit queue if there*/
450#define PURGE_RXCLEAR 0x0008 /* Kill the typeahead buffer if there*/
451
452
453/* Modem Status Flags */
454#define MS_CTS_ON ((DWORD)0x0010)
455#define MS_DSR_ON ((DWORD)0x0020)
456#define MS_RING_ON ((DWORD)0x0040)
457#define MS_RLSD_ON ((DWORD)0x0080)
458
459#define RTS_CONTROL_DISABLE 0
460#define RTS_CONTROL_ENABLE 1
461#define RTS_CONTROL_HANDSHAKE 2
462#define RTS_CONTROL_TOGGLE 3
463
464#define DTR_CONTROL_DISABLE 0
465#define DTR_CONTROL_ENABLE 1
466#define DTR_CONTROL_HANDSHAKE 2
467
468#define CSTF_CTSHOLD 0x01
469#define CSTF_DSRHOLD 0x02
470#define CSTF_RLSDHOLD 0x04
471#define CSTF_XOFFHOLD 0x08
472#define CSTF_XOFFSENT 0x10
473#define CSTF_EOF 0x20
474#define CSTF_TXIM 0x40
475
476#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
477#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
478#define MAKEINTRESOURCE(i) ((ULONG_PTR)((WORD)(i)))
479//#define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
480
481/* Predefined resource types */
482#define RT_CURSORA MAKEINTRESOURCEA(1)
483#define RT_CURSORW MAKEINTRESOURCEW(1)
484#define RT_CURSOR WINELIB_NAME_AW(RT_CURSOR)
485#define RT_BITMAPA MAKEINTRESOURCEA(2)
486#define RT_BITMAPW MAKEINTRESOURCEW(2)
487#define RT_BITMAP WINELIB_NAME_AW(RT_BITMAP)
488#define RT_ICONA MAKEINTRESOURCEA(3)
489#define RT_ICONW MAKEINTRESOURCEW(3)
490#define RT_ICON WINELIB_NAME_AW(RT_ICON)
491#define RT_MENUA MAKEINTRESOURCEA(4)
492#define RT_MENUW MAKEINTRESOURCEW(4)
493#define RT_MENU WINELIB_NAME_AW(RT_MENU)
494#define RT_DIALOGA MAKEINTRESOURCEA(5)
495#define RT_DIALOGW MAKEINTRESOURCEW(5)
496#define RT_DIALOG WINELIB_NAME_AW(RT_DIALOG)
497#define RT_STRINGA MAKEINTRESOURCEA(6)
498#define RT_STRINGW MAKEINTRESOURCEW(6)
499//#define RT_STRING WINELIB_NAME_AW(RT_STRING)
500#define RT_STRING MAKEINTRESOURCE(6)
501#define RT_FONTDIRA MAKEINTRESOURCEA(7)
502#define RT_FONTDIRW MAKEINTRESOURCEW(7)
503#define RT_FONTDIR WINELIB_NAME_AW(RT_FONTDIR)
504#define RT_FONTA MAKEINTRESOURCEA(8)
505#define RT_FONTW MAKEINTRESOURCEW(8)
506#define RT_FONT WINELIB_NAME_AW(RT_FONT)
507#define RT_ACCELERATORA MAKEINTRESOURCEA(9)
508#define RT_ACCELERATORW MAKEINTRESOURCEW(9)
509#define RT_ACCELERATOR WINELIB_NAME_AW(RT_ACCELERATOR)
510#define RT_RCDATAA MAKEINTRESOURCEA(10)
511#define RT_RCDATAW MAKEINTRESOURCEW(10)
512#define RT_RCDATA WINELIB_NAME_AW(RT_RCDATA)
513#define RT_MESSAGELISTA MAKEINTRESOURCEA(11)
514#define RT_MESSAGELISTW MAKEINTRESOURCEW(11)
515#define RT_MESSAGELIST WINELIB_NAME_AW(RT_MESSAGELIST)
516#define RT_GROUP_CURSORA MAKEINTRESOURCEA(12)
517#define RT_GROUP_CURSORW MAKEINTRESOURCEW(12)
518#define RT_GROUP_CURSOR WINELIB_NAME_AW(RT_GROUP_CURSOR)
519#define RT_GROUP_ICONA MAKEINTRESOURCEA(14)
520#define RT_GROUP_ICONW MAKEINTRESOURCEW(14)
521#define RT_GROUP_ICON WINELIB_NAME_AW(RT_GROUP_ICON)
522
523
524#define LMEM_FIXED 0
525#define LMEM_MOVEABLE 0x0002
526#define LMEM_NOCOMPACT 0x0010
527#define LMEM_NODISCARD 0x0020
528#define LMEM_ZEROINIT 0x0040
529#define LMEM_MODIFY 0x0080
530#define LMEM_DISCARDABLE 0x0F00
531#define LMEM_DISCARDED 0x4000
532#define LMEM_LOCKCOUNT 0x00FF
533#define LMEM_INVALID_HANDLE 0x8000
534
535#define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
536#define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
537
538#define NONZEROLHND (LMEM_MOVEABLE)
539#define NONZEROLPTR (LMEM_FIXED)
540
541#define GMEM_FIXED 0x0000
542#define GMEM_MOVEABLE 0x0002
543#define GMEM_NOCOMPACT 0x0010
544#define GMEM_NODISCARD 0x0020
545#define GMEM_ZEROINIT 0x0040
546#define GMEM_MODIFY 0x0080
547#define GMEM_DISCARDABLE 0x0100
548#define GMEM_NOT_BANKED 0x1000
549#define GMEM_SHARE 0x2000
550#define GMEM_DDESHARE 0x2000
551#define GMEM_NOTIFY 0x4000
552#define GMEM_LOWER GMEM_NOT_BANKED
553#define GMEM_DISCARDED 0x4000
554#define GMEM_LOCKCOUNT 0x00ff
555#define GMEM_INVALID_HANDLE 0x8000
556
557#define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
558#define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
559
560#define GlobalLRUNewest(h) ((HANDLE)(h))
561#define GlobalLRUOldest(h) ((HANDLE)(h))
562#define GlobalDiscard(h) (GlobalReAlloc((h),0,GMEM_MOVEABLE))
563
564#define INVALID_ATOM ((ATOM)0)
565#define MAXINTATOM 0xc000
566#define MAKEINTATOMA(atom) ((LPCSTR)((ULONG_PTR)((WORD)(atom))))
567#define MAKEINTATOMW(atom) ((LPCWSTR)((ULONG_PTR)((WORD)(atom))))
568#ifndef MAKEINTATOM //bird: it's in windef.h too for us.
569#define MAKEINTATOM WINELIB_NAME_AW(MAKEINTATOM)
570#endif
571
572typedef struct tagMEMORYSTATUS
573{
574 DWORD dwLength;
575 DWORD dwMemoryLoad;
576 DWORD dwTotalPhys;
577 DWORD dwAvailPhys;
578 DWORD dwTotalPageFile;
579 DWORD dwAvailPageFile;
580 DWORD dwTotalVirtual;
581 DWORD dwAvailVirtual;
582} MEMORYSTATUS, *LPMEMORYSTATUS;
583
584
585//
586// Define the NamedPipe definitions
587//
588
589
590//
591// Define the dwOpenMode values for CreateNamedPipe
592//
593
594#define PIPE_ACCESS_INBOUND 0x00000001
595#define PIPE_ACCESS_OUTBOUND 0x00000002
596#define PIPE_ACCESS_DUPLEX 0x00000003
597
598//
599// Define the Named Pipe End flags for GetNamedPipeInfo
600//
601
602#define PIPE_CLIENT_END 0x00000000
603#define PIPE_SERVER_END 0x00000001
604
605//
606// Define the dwPipeMode values for CreateNamedPipe
607//
608
609#define PIPE_WAIT 0x00000000
610#define PIPE_NOWAIT 0x00000001
611#define PIPE_READMODE_BYTE 0x00000000
612#define PIPE_READMODE_MESSAGE 0x00000002
613#define PIPE_TYPE_BYTE 0x00000000
614#define PIPE_TYPE_MESSAGE 0x00000004
615
616//
617// Define the well known values for CreateNamedPipe nMaxInstances
618//
619
620#define PIPE_UNLIMITED_INSTANCES 255
621
622#define NMPWAIT_WAIT_FOREVER 0xffffffff
623#define NMPWAIT_NOWAIT 0x00000001
624#define NMPWAIT_USE_DEFAULT_WAIT 0x00000000
625
626#ifndef NOLOGERROR
627
628/* LogParamError and LogError values */
629
630/* Error modifier bits */
631#define ERR_WARNING 0x8000
632#define ERR_PARAM 0x4000
633
634#define ERR_SIZE_MASK 0x3000
635#define ERR_BYTE 0x1000
636#define ERR_WORD 0x2000
637#define ERR_DWORD 0x3000
638
639/* LogParamError() values */
640
641/* Generic parameter values */
642#define ERR_BAD_VALUE 0x6001
643#define ERR_BAD_FLAGS 0x6002
644#define ERR_BAD_INDEX 0x6003
645#define ERR_BAD_DVALUE 0x7004
646#define ERR_BAD_DFLAGS 0x7005
647#define ERR_BAD_DINDEX 0x7006
648#define ERR_BAD_PTR 0x7007
649#define ERR_BAD_FUNC_PTR 0x7008
650#define ERR_BAD_SELECTOR 0x6009
651#define ERR_BAD_STRING_PTR 0x700a
652#define ERR_BAD_HANDLE 0x600b
653
654/* KERNEL parameter errors */
655#define ERR_BAD_HINSTANCE 0x6020
656#define ERR_BAD_HMODULE 0x6021
657#define ERR_BAD_GLOBAL_HANDLE 0x6022
658#define ERR_BAD_LOCAL_HANDLE 0x6023
659#define ERR_BAD_ATOM 0x6024
660#define ERR_BAD_HFILE 0x6025
661
662/* USER parameter errors */
663#define ERR_BAD_HWND 0x6040
664#define ERR_BAD_HMENU 0x6041
665#define ERR_BAD_HCURSOR 0x6042
666#define ERR_BAD_HICON 0x6043
667#define ERR_BAD_HDWP 0x6044
668#define ERR_BAD_CID 0x6045
669#define ERR_BAD_HDRVR 0x6046
670
671/* GDI parameter errors */
672#define ERR_BAD_COORDS 0x7060
673#define ERR_BAD_GDI_OBJECT 0x6061
674#define ERR_BAD_HDC 0x6062
675#define ERR_BAD_HPEN 0x6063
676#define ERR_BAD_HFONT 0x6064
677#define ERR_BAD_HBRUSH 0x6065
678#define ERR_BAD_HBITMAP 0x6066
679#define ERR_BAD_HRGN 0x6067
680#define ERR_BAD_HPALETTE 0x6068
681#define ERR_BAD_HMETAFILE 0x6069
682
683
684/* LogError() values */
685
686/* KERNEL errors */
687#define ERR_GALLOC 0x0001
688#define ERR_GREALLOC 0x0002
689#define ERR_GLOCK 0x0003
690#define ERR_LALLOC 0x0004
691#define ERR_LREALLOC 0x0005
692#define ERR_LLOCK 0x0006
693#define ERR_ALLOCRES 0x0007
694#define ERR_LOCKRES 0x0008
695#define ERR_LOADMODULE 0x0009
696
697/* USER errors */
698#define ERR_CREATEDLG 0x0040
699#define ERR_CREATEDLG2 0x0041
700#define ERR_REGISTERCLASS 0x0042
701#define ERR_DCBUSY 0x0043
702#define ERR_CREATEWND 0x0044
703#define ERR_STRUCEXTRA 0x0045
704#define ERR_LOADSTR 0x0046
705#define ERR_LOADMENU 0x0047
706#define ERR_NESTEDBEGINPAINT 0x0048
707#define ERR_BADINDEX 0x0049
708#define ERR_CREATEMENU 0x004a
709
710/* GDI errors */
711#define ERR_CREATEDC 0x0080
712#define ERR_CREATEMETA 0x0081
713#define ERR_DELOBJSELECTED 0x0082
714#define ERR_SELBITMAP 0x0083
715
716
717
718/* Debugging support (DEBUG SYSTEM ONLY) */
719typedef struct
720{
721 UINT16 flags;
722 DWORD dwOptions WINE_PACKED;
723 DWORD dwFilter WINE_PACKED;
724 CHAR achAllocModule[8] /* CHAR is always packed (avoid GCC warning) */;
725 DWORD dwAllocBreak WINE_PACKED;
726 DWORD dwAllocCount WINE_PACKED;
727} WINDEBUGINFO, *LPWINDEBUGINFO;
728
729/* WINDEBUGINFO flags values */
730#define WDI_OPTIONS 0x0001
731#define WDI_FILTER 0x0002
732#define WDI_ALLOCBREAK 0x0004
733
734/* dwOptions values */
735#define DBO_CHECKHEAP 0x0001
736#define DBO_BUFFERFILL 0x0004
737#define DBO_DISABLEGPTRAPPING 0x0010
738#define DBO_CHECKFREE 0x0020
739
740#define DBO_SILENT 0x8000
741
742#define DBO_TRACEBREAK 0x2000
743#define DBO_WARNINGBREAK 0x1000
744#define DBO_NOERRORBREAK 0x0800
745#define DBO_NOFATALBREAK 0x0400
746#define DBO_INT3BREAK 0x0100
747
748/* DebugOutput flags values */
749#define DBF_TRACE 0x0000
750#define DBF_WARNING 0x4000
751#define DBF_ERROR 0x8000
752#define DBF_FATAL 0xc000
753
754/* dwFilter values */
755#define DBF_KERNEL 0x1000
756#define DBF_KRN_MEMMAN 0x0001
757#define DBF_KRN_LOADMODULE 0x0002
758#define DBF_KRN_SEGMENTLOAD 0x0004
759#define DBF_USER 0x0800
760#define DBF_GDI 0x0400
761#define DBF_MMSYSTEM 0x0040
762#define DBF_PENWIN 0x0020
763#define DBF_APPLICATION 0x0008
764#define DBF_DRIVER 0x0010
765
766#endif /* NOLOGERROR */
767
768typedef struct {
769 WORD wYear;
770 WORD wMonth;
771 WORD wDayOfWeek;
772 WORD wDay;
773 WORD wHour;
774 WORD wMinute;
775 WORD wSecond;
776 WORD wMilliseconds;
777} SYSTEMTIME, *LPSYSTEMTIME;
778
779
780/* The 'overlapped' data structure used by async I/O functions.
781 */
782typedef struct {
783 DWORD Internal;
784 DWORD InternalHigh;
785 DWORD Offset;
786 DWORD OffsetHigh;
787 HANDLE hEvent;
788} OVERLAPPED, *LPOVERLAPPED;
789
790typedef VOID (* WINAPI LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD dwErrorCode,
791 DWORD dwNumberOfBytesTransfered,
792 LPOVERLAPPED lpOverlapped);
793
794// LockFileEx flags
795
796#define LOCKFILE_FAIL_IMMEDIATELY 0x00000001
797#define LOCKFILE_EXCLUSIVE_LOCK 0x00000002
798
799
800/* Process startup information.
801 */
802
803/* STARTUPINFO.dwFlags */
804#define STARTF_USESHOWWINDOW 0x00000001
805#define STARTF_USESIZE 0x00000002
806#define STARTF_USEPOSITION 0x00000004
807#define STARTF_USECOUNTCHARS 0x00000008
808#define STARTF_USEFILLATTRIBUTE 0x00000010
809#define STARTF_RUNFULLSCREEN 0x00000020
810#define STARTF_FORCEONFEEDBACK 0x00000040
811#define STARTF_FORCEOFFFEEDBACK 0x00000080
812#define STARTF_USESTDHANDLES 0x00000100
813#define STARTF_USEHOTKEY 0x00000200
814
815typedef struct {
816 DWORD cb; /* 00: size of struct */
817 LPSTR lpReserved; /* 04: */
818 LPSTR lpDesktop; /* 08: */
819 LPSTR lpTitle; /* 0c: */
820 DWORD dwX; /* 10: */
821 DWORD dwY; /* 14: */
822 DWORD dwXSize; /* 18: */
823 DWORD dwYSize; /* 1c: */
824 DWORD dwXCountChars; /* 20: */
825 DWORD dwYCountChars; /* 24: */
826 DWORD dwFillAttribute; /* 28: */
827 DWORD dwFlags; /* 2c: */
828 WORD wShowWindow; /* 30: */
829 WORD cbReserved2; /* 32: */
830 BYTE *lpReserved2; /* 34: */
831 HANDLE hStdInput; /* 38: */
832 HANDLE hStdOutput; /* 3c: */
833 HANDLE hStdError; /* 40: */
834} STARTUPINFOA, *LPSTARTUPINFOA;
835
836typedef struct {
837 DWORD cb;
838 LPWSTR lpReserved;
839 LPWSTR lpDesktop;
840 LPWSTR lpTitle;
841 DWORD dwX;
842 DWORD dwY;
843 DWORD dwXSize;
844 DWORD dwYSize;
845 DWORD dwXCountChars;
846 DWORD dwYCountChars;
847 DWORD dwFillAttribute;
848 DWORD dwFlags;
849 WORD wShowWindow;
850 WORD cbReserved2;
851 BYTE *lpReserved2;
852 HANDLE hStdInput;
853 HANDLE hStdOutput;
854 HANDLE hStdError;
855} STARTUPINFOW, *LPSTARTUPINFOW;
856
857DECL_WINELIB_TYPE_AW(STARTUPINFO)
858DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
859
860typedef struct {
861 HANDLE hProcess;
862 HANDLE hThread;
863 DWORD dwProcessId;
864 DWORD dwThreadId;
865} PROCESS_INFORMATION,*LPPROCESS_INFORMATION;
866
867typedef struct {
868 LONG Bias;
869 WCHAR StandardName[32];
870 SYSTEMTIME StandardDate;
871 LONG StandardBias;
872 WCHAR DaylightName[32];
873 SYSTEMTIME DaylightDate;
874 LONG DaylightBias;
875} TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
876
877#define TIME_ZONE_ID_UNKNOWN 0
878#define TIME_ZONE_ID_STANDARD 1
879#define TIME_ZONE_ID_DAYLIGHT 2
880
881/* CreateProcess: dwCreationFlag values
882 */
883#define DEBUG_PROCESS 0x00000001
884#define DEBUG_ONLY_THIS_PROCESS 0x00000002
885#define CREATE_SUSPENDED 0x00000004
886#define DETACHED_PROCESS 0x00000008
887#define CREATE_NEW_CONSOLE 0x00000010
888#define NORMAL_PRIORITY_CLASS 0x00000020
889#define IDLE_PRIORITY_CLASS 0x00000040
890#define HIGH_PRIORITY_CLASS 0x00000080
891#define REALTIME_PRIORITY_CLASS 0x00000100
892#define CREATE_NEW_PROCESS_GROUP 0x00000200
893#define CREATE_UNICODE_ENVIRONMENT 0x00000400
894#define CREATE_SEPARATE_WOW_VDM 0x00000800
895#define CREATE_SHARED_WOW_VDM 0x00001000
896#define CREATE_DEFAULT_ERROR_MODE 0x04000000
897#define CREATE_NO_WINDOW 0x08000000
898#define PROFILE_USER 0x10000000
899#define PROFILE_KERNEL 0x20000000
900#define PROFILE_SERVER 0x40000000
901
902
903/* File object type definitions
904 */
905#define FILE_TYPE_UNKNOWN 0
906#define FILE_TYPE_DISK 1
907#define FILE_TYPE_CHAR 2
908#define FILE_TYPE_PIPE 3
909#define FILE_TYPE_REMOTE 32768
910
911/* File creation flags
912 */
913#define FILE_FLAG_WRITE_THROUGH 0x80000000UL
914#define FILE_FLAG_OVERLAPPED 0x40000000L
915#define FILE_FLAG_NO_BUFFERING 0x20000000L
916#define FILE_FLAG_RANDOM_ACCESS 0x10000000L
917#define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000L
918#define FILE_FLAG_DELETE_ON_CLOSE 0x04000000L
919#define FILE_FLAG_BACKUP_SEMANTICS 0x02000000L
920#define FILE_FLAG_POSIX_SEMANTICS 0x01000000L
921#define CREATE_NEW 1
922#define CREATE_ALWAYS 2
923#define OPEN_EXISTING 3
924#define OPEN_ALWAYS 4
925#define TRUNCATE_EXISTING 5
926
927/* Standard handle identifiers
928 */
929#define STD_INPUT_HANDLE ((DWORD) -10)
930#define STD_OUTPUT_HANDLE ((DWORD) -11)
931#define STD_ERROR_HANDLE ((DWORD) -12)
932
933typedef struct
934{
935 int dwFileAttributes;
936 FILETIME ftCreationTime;
937 FILETIME ftLastAccessTime;
938 FILETIME ftLastWriteTime;
939 int dwVolumeSerialNumber;
940 int nFileSizeHigh;
941 int nFileSizeLow;
942 int nNumberOfLinks;
943 int nFileIndexHigh;
944 int nFileIndexLow;
945} BY_HANDLE_FILE_INFORMATION ;
946
947
948/* Power Management functions */
949
950#define AC_LINE_OFFLINE 0x00
951#define AC_LINE_ONLINE 0x01
952#define AC_LINE_BACKUP_POWER 0x02
953#define AC_LINE_UNKNOWN 0xFF
954
955#define BATTERY_FLAG_HIGH 0x01
956#define BATTERY_FLAG_LOW 0x02
957#define BATTERY_FLAG_CRITICAL 0x04
958#define BATTERY_FLAG_CHARGING 0x08
959#define BATTERY_FLAG_NO_BATTERY 0x80
960#define BATTERY_FLAG_UNKNOWN 0xFF
961
962#define BATTERY_PERCENTAGE_UNKNOWN 0xFF
963
964#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
965
966typedef struct _SYSTEM_POWER_STATUS {
967 BYTE ACLineStatus;
968 BYTE BatteryFlag;
969 BYTE BatteryLifePercent;
970 BYTE Reserved1;
971 DWORD BatteryLifeTime;
972 DWORD BatteryFullLifeTime;
973} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
974
975
976typedef struct tagSYSTEM_INFO
977{
978 union {
979 DWORD dwOemId;
980 struct {
981 WORD wProcessorArchitecture;
982 WORD wReserved;
983 } x;
984 } u;
985 DWORD dwPageSize;
986 LPVOID lpMinimumApplicationAddress;
987 LPVOID lpMaximumApplicationAddress;
988 DWORD dwActiveProcessorMask;
989 DWORD dwNumberOfProcessors;
990 DWORD dwProcessorType;
991 DWORD dwAllocationGranularity;
992 WORD wProcessorLevel;
993 WORD wProcessorRevision;
994} SYSTEM_INFO, *LPSYSTEM_INFO;
995
996/* {G,S}etPriorityClass */
997#define NORMAL_PRIORITY_CLASS 0x00000020
998#define IDLE_PRIORITY_CLASS 0x00000040
999#define HIGH_PRIORITY_CLASS 0x00000080
1000#define REALTIME_PRIORITY_CLASS 0x00000100
1001
1002typedef BOOL (* CALLBACK ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG);
1003typedef BOOL (* CALLBACK ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG);
1004typedef BOOL (* CALLBACK ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG);
1005typedef BOOL (* CALLBACK ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG);
1006typedef BOOL (* CALLBACK ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG);
1007typedef BOOL (* CALLBACK ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG);
1008
1009DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
1010DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
1011DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
1012
1013/* flags that can be passed to LoadLibraryEx */
1014#define DONT_RESOLVE_DLL_REFERENCES 0x00000001
1015#define LOAD_LIBRARY_AS_DATAFILE 0x00000002
1016#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
1017
1018/* ifdef _x86_ ... */
1019typedef struct _LDT_ENTRY {
1020 WORD LimitLow;
1021 WORD BaseLow;
1022 union {
1023 struct {
1024 BYTE BaseMid;
1025 BYTE Flags1;/*Declare as bytes to avoid alignment problems */
1026 BYTE Flags2;
1027 BYTE BaseHi;
1028 } Bytes;
1029 struct {
1030 unsigned BaseMid : 8;
1031 unsigned Type : 5;
1032 unsigned Dpl : 2;
1033 unsigned Pres : 1;
1034 unsigned LimitHi : 4;
1035 unsigned Sys : 1;
1036 unsigned Reserved_0 : 1;
1037 unsigned Default_Big : 1;
1038 unsigned Granularity : 1;
1039 unsigned BaseHi : 8;
1040 } Bits;
1041 } HighWord;
1042} LDT_ENTRY, *LPLDT_ENTRY;
1043
1044
1045typedef enum _GET_FILEEX_INFO_LEVELS {
1046 GetFileExInfoStandard
1047} GET_FILEEX_INFO_LEVELS;
1048
1049typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
1050 DWORD dwFileAttributes;
1051 FILETIME ftCreationTime;
1052 FILETIME ftLastAccessTime;
1053 FILETIME ftLastWriteTime;
1054 DWORD nFileSizeHigh;
1055 DWORD nFileSizeLow;
1056} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
1057
1058typedef struct _DllVersionInfo {
1059 DWORD cbSize;
1060 DWORD dwMajorVersion;
1061 DWORD dwMinorVersion;
1062 DWORD dwBuildNumber;
1063 DWORD dwPlatformID;
1064} DLLVERSIONINFO;
1065
1066/*
1067 * This one seems to be a Win32 only definition. It also is defined with
1068 * WINAPI instead of CALLBACK in the windows headers.
1069 */
1070typedef DWORD (* WINAPI LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
1071 LARGE_INTEGER, DWORD, DWORD, HANDLE,
1072 HANDLE, LPVOID);
1073
1074
1075#define WAIT_FAILED 0xffffffff
1076#define WAIT_OBJECT_0 0
1077#define WAIT_ABANDONED STATUS_ABANDONED_WAIT_0
1078#define WAIT_ABANDONED_0 STATUS_ABANDONED_WAIT_0
1079#define WAIT_IO_COMPLETION STATUS_USER_APC
1080#define WAIT_TIMEOUT STATUS_TIMEOUT
1081
1082#define PAGE_NOACCESS 0x01
1083#define PAGE_READONLY 0x02
1084#define PAGE_READWRITE 0x04
1085#define PAGE_WRITECOPY 0x08
1086#define PAGE_EXECUTE 0x10
1087#define PAGE_EXECUTE_READ 0x20
1088#define PAGE_EXECUTE_READWRITE 0x40
1089#define PAGE_EXECUTE_WRITECOPY 0x80
1090#define PAGE_GUARD 0x100
1091#define PAGE_NOCACHE 0x200
1092
1093#define MEM_COMMIT 0x00001000
1094#define MEM_RESERVE 0x00002000
1095#define MEM_DECOMMIT 0x00004000
1096#define MEM_RELEASE 0x00008000
1097#define MEM_FREE 0x00010000
1098#define MEM_PRIVATE 0x00020000
1099#define MEM_MAPPED 0x00040000
1100#define MEM_RESET 0x00080000
1101#define MEM_TOP_DOWN 0x00100000
1102
1103#define SEC_FILE 0x00800000
1104#define SEC_IMAGE 0x01000000
1105#define SEC_RESERVE 0x04000000
1106#define SEC_COMMIT 0x08000000
1107#define SEC_NOCACHE 0x10000000
1108
1109#define FILE_BEGIN 0
1110#define FILE_CURRENT 1
1111#define FILE_END 2
1112
1113#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
1114#define FILE_CASE_PRESERVED_NAMES 0x00000002
1115#define FILE_UNICODE_ON_DISK 0x00000004
1116#define FILE_PERSISTENT_ACLS 0x00000008
1117
1118#define FILE_MAP_COPY 0x00000001
1119#define FILE_MAP_WRITE 0x00000002
1120#define FILE_MAP_READ 0x00000004
1121#define FILE_MAP_ALL_ACCESS 0x000f001f
1122
1123#define MOVEFILE_REPLACE_EXISTING 0x00000001
1124#define MOVEFILE_COPY_ALLOWED 0x00000002
1125#define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004
1126
1127#define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH
1128#define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES
1129#define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK
1130
1131
1132#define STATUS_SUCCESS 0x00000000
1133#define STATUS_WAIT_0 0x00000000
1134#define STATUS_ABANDONED_WAIT_0 0x00000080
1135#define STATUS_USER_APC 0x000000C0
1136#define STATUS_TIMEOUT 0x00000102
1137#define STATUS_PENDING 0x00000103
1138#define STATUS_GUARD_PAGE_VIOLATION 0x80000001
1139#define STATUS_DATATYPE_MISALIGNMENT 0x80000002
1140#define STATUS_BREAKPOINT 0x80000003
1141#define STATUS_SINGLE_STEP 0x80000004
1142#define STATUS_BUFFER_OVERFLOW 0x80000005
1143#define STATUS_ACCESS_VIOLATION 0xC0000005
1144#define STATUS_IN_PAGE_ERROR 0xC0000006
1145#define STATUS_INVALID_PARAMETER 0xC000000D
1146#define STATUS_NO_MEMORY 0xC0000017
1147#define STATUS_ILLEGAL_INSTRUCTION 0xC000001D
1148#define STATUS_BUFFER_TOO_SMALL 0xC0000023
1149#define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
1150#define STATUS_INVALID_DISPOSITION 0xC0000026
1151#define STATUS_UNKNOWN_REVISION 0xC0000058
1152#define STATUS_INVALID_SECURITY_DESCR 0xC0000079
1153#define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
1154#define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D
1155#define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E
1156#define STATUS_FLOAT_INEXACT_RESULT 0xC000008F
1157#define STATUS_FLOAT_INVALID_OPERATION 0xC0000090
1158#define STATUS_FLOAT_OVERFLOW 0xC0000091
1159#define STATUS_FLOAT_STACK_CHECK 0xC0000092
1160#define STATUS_FLOAT_UNDERFLOW 0xC0000093
1161#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
1162#define STATUS_INTEGER_OVERFLOW 0xC0000095
1163#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
1164#define STATUS_INVALID_PARAMETER_2 0xC00000F0
1165#define STATUS_STACK_OVERFLOW 0xC00000FD
1166#define STATUS_CONTROL_C_EXIT 0xC000013A
1167
1168#define DUPLICATE_CLOSE_SOURCE 0x00000001
1169#define DUPLICATE_SAME_ACCESS 0x00000002
1170
1171#define HANDLE_FLAG_INHERIT 0x00000001
1172#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x00000002
1173
1174#define HINSTANCE_ERROR 32
1175
1176#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
1177#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
1178#define THREAD_PRIORITY_NORMAL 0
1179#define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
1180#define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
1181#define THREAD_PRIORITY_ERROR_RETURN (0x7fffffff)
1182#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
1183#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
1184
1185typedef struct
1186{
1187 int type;
1188} wine_exception;
1189
1190typedef struct
1191{
1192 int pad[39];
1193 int edi;
1194 int esi;
1195 int ebx;
1196 int edx;
1197 int ecx;
1198 int eax;
1199
1200 int ebp;
1201 int eip;
1202 int cs;
1203 int eflags;
1204 int esp;
1205 int ss;
1206} exception_info;
1207
1208/* Could this type be considered opaque? */
1209typedef struct {
1210 LPVOID DebugInfo;
1211 LONG LockCount;
1212 LONG RecursionCount;
1213 HANDLE OwningThread;
1214 HANDLE LockSemaphore;
1215 DWORD Reserved;
1216}CRITICAL_SECTION;
1217
1218#ifdef __WINE__
1219#define CRITICAL_SECTION_INIT(name) { (void *)(__FILE__ ": " name), -1, 0, 0, 0, 0 }
1220#endif
1221
1222typedef struct {
1223 DWORD dwOSVersionInfoSize;
1224 DWORD dwMajorVersion;
1225 DWORD dwMinorVersion;
1226 DWORD dwBuildNumber;
1227 DWORD dwPlatformId;
1228 CHAR szCSDVersion[128];
1229} OSVERSIONINFOA;
1230
1231typedef struct {
1232 DWORD dwOSVersionInfoSize;
1233 DWORD dwMajorVersion;
1234 DWORD dwMinorVersion;
1235 DWORD dwBuildNumber;
1236 DWORD dwPlatformId;
1237 WCHAR szCSDVersion[128];
1238} OSVERSIONINFOW;
1239
1240DECL_WINELIB_TYPE_AW(OSVERSIONINFO)
1241
1242typedef struct _OSVERSIONINFOEXA {
1243 DWORD dwOSVersionInfoSize;
1244 DWORD dwMajorVersion;
1245 DWORD dwMinorVersion;
1246 DWORD dwBuildNumber;
1247 DWORD dwPlatformId;
1248 CHAR szCSDVersion[128];
1249 WORD wServicePackMajor;
1250 WORD wServicePackMinor;
1251 WORD wReserved[2];
1252} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
1253typedef struct _OSVERSIONINFOEXW {
1254 DWORD dwOSVersionInfoSize;
1255 DWORD dwMajorVersion;
1256 DWORD dwMinorVersion;
1257 DWORD dwBuildNumber;
1258 DWORD dwPlatformId;
1259 WCHAR szCSDVersion[128];
1260 WORD wServicePackMajor;
1261 WORD wServicePackMinor;
1262 WORD wReserved[2];
1263} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
1264
1265DECL_WINELIB_TYPE_AW(OSVERSIONINFOEX)
1266DECL_WINELIB_TYPE_AW(POSVERSIONINFOEX)
1267DECL_WINELIB_TYPE_AW(LPOSVERSIONINFOEX)
1268
1269#define VER_SET_CONDITION(_m_,_t_,_c_) ((_m_)=VerSetConditionMask((_m_),(_t_),(_c_)))
1270
1271#define VER_PLATFORM_WIN32s 0
1272#define VER_PLATFORM_WIN32_WINDOWS 1
1273#define VER_PLATFORM_WIN32_NT 2
1274
1275#define VER_MINORVERSION 0x00000001
1276#define VER_MAJORVERSION 0x00000002
1277#define VER_BUILDNUMBER 0x00000004
1278#define VER_PLATFORMID 0x00000008
1279#define VER_SERVICEPACKMINOR 0x00000010
1280#define VER_SERVICEPACKMAJOR 0x00000020
1281#define VER_SUITENAME 0x00000040
1282#define VER_PRODUCT_TYPE 0x00000080
1283
1284#define VER_NT_WORKSTATION 1
1285#define VER_NT_DOMAIN_CONTROLLER 2
1286#define VER_NT_SERVER 3
1287
1288#define VER_SUITE_SMALLBUSINESS 0x00000001
1289#define VER_SUITE_ENTERPRISE 0x00000002
1290#define VER_SUITE_BACKOFFICE 0x00000004
1291#define VER_SUITE_COMMUNICATIONS 0x00000008
1292#define VER_SUITE_TERMINAL 0x00000010
1293#define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020
1294#define VER_SUITE_EMBEDDEDNT 0x00000040
1295#define VER_SUITE_DATACENTER 0x00000080
1296#define VER_SUITE_SINGLEUSERTS 0x00000100
1297#define VER_SUITE_PERSONAL 0x00000200
1298
1299#define VER_EQUAL 1
1300#define VER_GREATER 2
1301#define VER_GREATER_EQUAL 3
1302#define VER_LESS 4
1303#define VER_LESS_EQUAL 5
1304#define VER_AND 6
1305#define VER_OR 7
1306
1307typedef struct _COMMPROP {
1308 WORD wPacketLength;
1309 WORD wPacketVersion;
1310 DWORD dwServiceMask;
1311 DWORD dwReserved1;
1312 DWORD dwMaxTxQueue;
1313 DWORD dwMaxRxQueue;
1314 DWORD dwMaxBaud;
1315 DWORD dwProvSubType;
1316 DWORD dwProvCapabilities;
1317 DWORD dwSettableParams;
1318 DWORD dwSettableBaud;
1319 WORD wSettableData;
1320 WORD wSettableStopParity;
1321 DWORD dwCurrentTxQueue;
1322 DWORD dwCurrentRxQueue;
1323 DWORD dwProvSpec1;
1324 DWORD dwProvSpec2;
1325 WCHAR wcProvChar[1];
1326} COMMPROP,*LPCOMMPROP;
1327
1328typedef struct tagCOMSTAT
1329{
1330 // DWORD status; // maybe make this a union ??
1331 unsigned fCtsHold:1;
1332 unsigned fDsrHold:1;
1333 unsigned fRlsdHold:1;
1334 unsigned fXoffHold:1;
1335 unsigned fXoffSend:1;
1336 unsigned fEof:1;
1337 unsigned fTxim:1;
1338 unsigned fReserved:25;
1339 DWORD cbInQue;
1340 DWORD cbOutQue;
1341} COMSTAT,*LPCOMSTAT;
1342
1343typedef struct tagDCB
1344{
1345 DWORD DCBlength;
1346 DWORD BaudRate;
1347 unsigned fBinary :1;
1348 unsigned fParity :1;
1349 unsigned fOutxCtsFlow :1;
1350 unsigned fOutxDsrFlow :1;
1351 unsigned fDtrControl :2;
1352 unsigned fDsrSensitivity :1;
1353 unsigned fTXContinueOnXoff :1;
1354 unsigned fOutX :1;
1355 unsigned fInX :1;
1356 unsigned fErrorChar :1;
1357 unsigned fNull :1;
1358 unsigned fRtsControl :2;
1359 unsigned fAbortOnError :1;
1360 unsigned fDummy2 :17;
1361 WORD wReserved;
1362 WORD XonLim;
1363 WORD XoffLim;
1364 BYTE ByteSize;
1365 BYTE Parity;
1366 BYTE StopBits;
1367 char XonChar;
1368 char XoffChar;
1369 char ErrorChar;
1370 char EofChar;
1371 char EvtChar;
1372} DCB, *LPDCB;
1373
1374
1375
1376typedef struct tagCOMMTIMEOUTS {
1377 DWORD ReadIntervalTimeout;
1378 DWORD ReadTotalTimeoutMultiplier;
1379 DWORD ReadTotalTimeoutConstant;
1380 DWORD WriteTotalTimeoutMultiplier;
1381 DWORD WriteTotalTimeoutConstant;
1382} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
1383
1384typedef struct _COMMCONFIG {
1385 DWORD dwSize;
1386 WORD wVersion;
1387 WORD wReserved;
1388 DCB dcb;
1389 DWORD dwProviderSubType;
1390 DWORD dwProviderOffset;
1391 DWORD dwProviderSize;
1392 WCHAR wcProviderData[1];
1393} COMMCONFIG,*LPCOMMCONFIG;
1394
1395typedef void (* CALLBACK PAPCFUNC)(ULONG_PTR);
1396typedef void (* CALLBACK PTIMERAPCROUTINE)(LPVOID,DWORD,DWORD);
1397
1398typedef enum _COMPUTER_NAME_FORMAT
1399{
1400 ComputerNameNetBIOS,
1401 ComputerNameDnsHostname,
1402 ComputerNameDnsDomain,
1403 ComputerNameDnsFullyQualified,
1404 ComputerNamePhysicalNetBIOS,
1405 ComputerNamePhysicalDnsHostname,
1406 ComputerNamePhysicalDnsDomain,
1407 ComputerNamePhysicalDnsFullyQualified,
1408 ComputerNameMax
1409} COMPUTER_NAME_FORMAT;
1410
1411#include "poppack.h"
1412
1413BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
1414BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
1415#define BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
1416BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
1417BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
1418#define BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
1419BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1420BOOL WINAPI SetCommState(HANDLE,LPDCB);
1421BOOL WINAPI TransmitCommChar(HANDLE,CHAR);
1422
1423BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,LPDWORD);
1424BOOL WINAPI GetCommMask(HANDLE,LPDWORD);
1425BOOL WINAPI GetCommModemStatus(HANDLE,LPDWORD);
1426BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP);
1427BOOL WINAPI GetCommState(HANDLE,LPDCB);
1428BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1429
1430
1431/*DWORD WINAPI GetVersion( void );*/
1432BOOL WINAPI GetVersionExA(OSVERSIONINFOA*);
1433BOOL WINAPI GetVersionExW(OSVERSIONINFOW*);
1434#define GetVersionEx WINELIB_NAME_AW(GetVersionEx)
1435
1436/*int WinMain(HINSTANCE, HINSTANCE prev, char *cmd, int show);*/
1437
1438void WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCrit);
1439void WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCrit);
1440void WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
1441void WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCrit);
1442void WINAPI MakeCriticalSectionGlobal(CRITICAL_SECTION *lpCrit);
1443HANDLE WINAPI OpenProcess(DWORD access, BOOL inherit, DWORD id);
1444BOOL WINAPI GetProcessWorkingSetSize(HANDLE,LPDWORD,LPDWORD);
1445BOOL WINAPI GetProcessShutdownParameters( LPDWORD lpdwLevel, LPDWORD lpdwFlags );
1446DWORD WINAPI GetProcessFlags( DWORD processid );
1447DWORD WINAPI GetProcessVersion(DWORD Processid);
1448DWORD WINAPI GetProcessHeaps(DWORD nrofheaps,HANDLE *heaps) ;
1449BOOL WINAPI GetProcessTimes(HANDLE hProcess,
1450 LPFILETIME lpCreationTime,
1451 LPFILETIME lpExitTime,
1452 LPFILETIME lpKernelTime,
1453 LPFILETIME lpUserTime);
1454DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
1455void WINAPI RaiseException(DWORD,DWORD,DWORD,const LPDWORD);
1456BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD);
1457BOOL WINAPI SetProcessPriorityBoost(HANDLE hprocess,BOOL disableboost);
1458BOOL WINAPI SetProcessWorkingSetSize(HANDLE hProcess,DWORD minset,
1459 DWORD maxset);
1460BOOL WINAPI SetProcessShutdownParameters(DWORD level,DWORD flags);
1461BOOL WINAPI TerminateProcess(HANDLE,DWORD);
1462BOOL WINAPI TerminateThread(HANDLE,DWORD);
1463BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD);
1464
1465/* GetBinaryType return values.
1466 */
1467
1468#define SCS_32BIT_BINARY 0
1469#define SCS_DOS_BINARY 1
1470#define SCS_WOW_BINARY 2
1471#define SCS_PIF_BINARY 3
1472#define SCS_POSIX_BINARY 4
1473#define SCS_OS216_BINARY 5
1474
1475BOOL WINAPI GetBinaryTypeA( LPCSTR lpApplicationName, LPDWORD lpBinaryType );
1476BOOL WINAPI GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType );
1477#define GetBinaryType WINELIB_NAME_AW(GetBinaryType)
1478
1479BOOL16 WINAPI GetWinDebugInfo16(LPWINDEBUGINFO,UINT16);
1480BOOL16 WINAPI SetWinDebugInfo16(LPWINDEBUGINFO);
1481/* Declarations for functions that exist only in Win32 */
1482
1483BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL);
1484//BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
1485BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,LPVOID,DWORD,LPVOID,LPDWORD);
1486BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID *);
1487BOOL WINAPI AllocateLocallyUniqueId(PLUID);
1488BOOL WINAPI AllocConsole(void);
1489BOOL WINAPI AreFileApisANSI(void);
1490BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
1491BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
1492#define BackupEventLog WINELIB_NAME_AW(BackupEventLog)
1493BOOL WINAPI BackupRead(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
1494BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,LPDWORD,LPDWORD,LPVOID*);
1495BOOL WINAPI BackupWrite(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
1496BOOL WINAPI Beep(DWORD,DWORD);
1497BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
1498BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
1499#define ClearEventLog WINELIB_NAME_AW(ClearEventLog)
1500BOOL WINAPI CloseEventLog(HANDLE);
1501BOOL WINAPI CloseHandle(HANDLE);
1502BOOL WINAPI CommConfigDialogA(LPCSTR,HANDLE,LPCOMMCONFIG);
1503BOOL WINAPI CommConfigDialogW(LPCWSTR,HANDLE,LPCOMMCONFIG);
1504#define CommConfigDialog WINELIB_NAME_AW(CommConfigDialog)
1505BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
1506HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc);
1507BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
1508BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
1509#define CopyFile WINELIB_NAME_AW(CopyFile)
1510BOOL WINAPI CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1511BOOL WINAPI CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1512#define CopyFileEx WINELIB_NAME_AW(CopyFileEx)
1513BOOL WINAPI CopySid(DWORD,PSID,PSID);
1514INT WINAPI CompareFileTime(LPFILETIME,LPFILETIME);
1515HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
1516HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
1517#define CreateEvent WINELIB_NAME_AW(CreateEvent)
1518HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
1519 DWORD,DWORD,HANDLE);
1520HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
1521 DWORD,DWORD,HANDLE);
1522#define CreateFile WINELIB_NAME_AW(CreateFile)
1523HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,
1524 DWORD,DWORD,LPCSTR);
1525HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,
1526 DWORD,DWORD,LPCWSTR);
1527#define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
1528HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1529HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1530#define CreateMutex WINELIB_NAME_AW(CreateMutex)
1531BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
1532BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,
1533 LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,
1534 LPSTARTUPINFOA,LPPROCESS_INFORMATION);
1535BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,
1536 LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,
1537 LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1538#define CreateProcess WINELIB_NAME_AW(CreateProcess)
1539HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1540HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
1541HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
1542#define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
1543DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
1544HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1545HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1546HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1547#define CreateWaitableTimer WINELIB_NAME_AW(CreateWaitableTimer)
1548BOOL WINAPI DebugActiveProcess(DWORD);
1549void WINAPI DebugBreak(void);
1550BOOL WINAPI DeregisterEventSource(HANDLE);
1551BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
1552BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
1553BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,HANDLE*,DWORD,BOOL,DWORD);
1554BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,
1555 ENUMRESLANGPROCA,LONG);
1556BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,
1557 ENUMRESLANGPROCW,LONG);
1558#define EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
1559BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROCA,
1560 LONG);
1561BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW,
1562 LONG);
1563#define EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
1564BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG);
1565BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG);
1566#define EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
1567BOOL WINAPI EqualSid(PSID, PSID);
1568BOOL WINAPI EqualPrefixSid(PSID,PSID);
1569DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL);
1570VOID WINAPI ExitProcess(DWORD);
1571VOID WINAPI ExitThread(DWORD);
1572DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
1573DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
1574#define ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
1575BOOL WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
1576BOOL WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
1577BOOL WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
1578HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
1579HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
1580#define FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
1581BOOL WINAPI FindNextChangeNotification(HANDLE);
1582BOOL WINAPI FindCloseChangeNotification(HANDLE);
1583HRSRC WINAPI FindResourceExA(HMODULE,LPCSTR,LPCSTR,WORD);
1584HRSRC WINAPI FindResourceExW(HMODULE,LPCWSTR,LPCWSTR,WORD);
1585#define FindResourceEx WINELIB_NAME_AW(FindResourceEx)
1586BOOL WINAPI FlushConsoleInputBuffer(HANDLE);
1587BOOL WINAPI FlushFileBuffers(HANDLE);
1588BOOL WINAPI FlushViewOfFile(LPCVOID, DWORD);
1589DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,
1590 DWORD,LPDWORD);
1591DWORD WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,
1592 DWORD,LPDWORD);
1593#define FormatMessage WINELIB_NAME_AW(FormatMessage)
1594BOOL WINAPI FreeConsole(void);
1595BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
1596BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
1597#define FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
1598PVOID WINAPI FreeSid(PSID);
1599VOID WINAPI FreeLibraryAndExitThread(HINSTANCE,DWORD);
1600UINT WINAPI GetACP(void);
1601LPCSTR WINAPI GetCommandLineA(void);
1602LPCWSTR WINAPI GetCommandLineW(void);
1603#define GetCommandLine WINELIB_NAME_AW(GetCommandLine)
1604DWORD WINAPI GetCompressedFileSizeA(LPCTSTR lpFileName, LPDWORD lpFileSizeHigh);
1605DWORD WINAPI GetCompressedFileSizeW(LPCWSTR lpFileName, LPDWORD lpFileSizeHigh);
1606#define GetCompressedFileSize WINELIB_NAME_AW(GetCompressedFileSize)
1607BOOL WINAPI GetComputerNameA(LPSTR,LPDWORD);
1608BOOL WINAPI GetComputerNameW(LPWSTR,LPDWORD);
1609#define GetComputerName WINELIB_NAME_AW(GetComputerName)
1610UINT WINAPI GetConsoleCP(void);
1611BOOL WINAPI GetConsoleMode(HANDLE,LPDWORD);
1612UINT WINAPI GetConsoleOutputCP(void);
1613DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
1614DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
1615#define GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
1616BOOL WINAPI GetCommMask(HANDLE, LPDWORD);
1617BOOL WINAPI GetCommModemStatus(HANDLE, LPDWORD);
1618HANDLE WINAPI GetCurrentProcess(void);
1619DWORD WINAPI GetCurrentProcessId(void);
1620HANDLE WINAPI GetCurrentThread(void);
1621DWORD WINAPI GetCurrentThreadId(void);
1622BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,LPDWORD);
1623BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,LPDWORD);
1624#define GetDefaultCommConfig WINELIB_NAME_AW(GetDefaultCommConfig)
1625LPSTR WINAPI GetEnvironmentStringsA(void);
1626LPWSTR WINAPI GetEnvironmentStringsW(void);
1627#define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
1628DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
1629DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
1630#define GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
1631BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
1632BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
1633#define GetFileattributesEx WINELIB_NAME_AW(GetFileAttributesEx)
1634DWORD WINAPI GetFileInformationByHandle(HANDLE,BY_HANDLE_FILE_INFORMATION*);
1635BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1636BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1637#define GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
1638DWORD WINAPI GetFileSize(HANDLE,LPDWORD);
1639BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
1640DWORD WINAPI GetFileType(HANDLE);
1641DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
1642DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
1643#define GetFullPathName WINELIB_NAME_AW(GetFullPathName)
1644BOOL WINAPI GetHandleInformation(HANDLE,LPDWORD);
1645DWORD WINAPI GetLargestConsoleWindowSize(HANDLE);
1646DWORD WINAPI GetLengthSid(PSID);
1647VOID WINAPI GetLocalTime(LPSYSTEMTIME);
1648DWORD WINAPI GetLogicalDrives(void);
1649DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
1650DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
1651#define GetLongPathName WINELIB_NAME_AW(GetLongPathName)
1652BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,LPDWORD);
1653BOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD);
1654BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
1655UINT WINAPI GetOEMCP(void);
1656BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
1657DWORD WINAPI GetPriorityClass(HANDLE);
1658BOOL WINAPI GetProcessAffinityMask(HANDLE hProcess,
1659 LPDWORD lpProcessAffinityMask,
1660 LPDWORD lpSystemAffinityMask);
1661HANDLE WINAPI GetProcessHeap(void);
1662DWORD WINAPI GetProcessVersion(DWORD);
1663//BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,LPDWORD);
1664BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
1665BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
1666DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
1667BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
1668BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
1669PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
1670DWORD WINAPI GetSidLengthRequired(BYTE);
1671PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
1672PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
1673DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
1674DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
1675#define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
1676HANDLE WINAPI GetStdHandle(DWORD);
1677BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,INT,LPWORD);
1678BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,INT,LPWORD);
1679#define GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
1680VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
1681BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
1682VOID WINAPI GetSystemTime(LPSYSTEMTIME);
1683VOID WINAPI GetSystemTimeAsFileTime(LPFILETIME);
1684DWORD WINAPI GetTapeParameters(HANDLE,DWORD,LPDWORD,LPVOID);
1685DWORD WINAPI GetTapePosition(HANDLE,DWORD,LPDWORD,LPDWORD,LPDWORD);
1686DWORD WINAPI GetTapeStatus(HANDLE);
1687DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
1688BOOL WINAPI GetThreadContext(HANDLE,CONTEXT *);
1689INT WINAPI GetThreadPriority(HANDLE);
1690BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
1691BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
1692BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD,LPDWORD);
1693BOOL WINAPI GetUserNameA(LPSTR,LPDWORD);
1694BOOL WINAPI GetUserNameW(LPWSTR,LPDWORD);
1695#define GetUserName WINELIB_NAME_AW(GetUserName)
1696VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
1697LPVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD);
1698DWORD WINAPI HeapCompact(HANDLE,DWORD);
1699HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD);
1700BOOL WINAPI HeapDestroy(HANDLE);
1701BOOL WINAPI HeapFree(HANDLE,DWORD,LPVOID);
1702BOOL WINAPI HeapLock(HANDLE);
1703LPVOID WINAPI HeapReAlloc(HANDLE,DWORD,LPVOID,DWORD);
1704DWORD WINAPI HeapSize(HANDLE,DWORD,LPVOID);
1705BOOL WINAPI HeapUnlock(HANDLE);
1706BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
1707BOOL WINAPI HeapWalk (HANDLE, LPVOID);
1708DWORD WINAPI InitializeAcl(PACL,DWORD,DWORD);
1709BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
1710BOOL WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
1711BOOL WINAPI IsTextUnicode(CONST LPVOID lpBuffer, int cb, LPINT lpi);
1712BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
1713BOOL WINAPI IsValidSid(PSID);
1714BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
1715BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
1716BOOL WINAPI IsProcessorFeaturePresent(DWORD);
1717LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare );
1718LONG WINAPI InterlockedDecrement(LPLONG);
1719LONG WINAPI InterlockedExchange(LPLONG,LONG);
1720LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr );
1721LONG WINAPI InterlockedIncrement(LPLONG);
1722
1723/* FIXME: should handle platforms where sizeof(void*) != sizeof(long) */
1724#define InterlockedCompareExchangePointer(dest, xchg, compare) \
1725 (PVOID)InterlockedCompareExchange( (PLONG)dest, (LONG)xchg, (LONG)compare )
1726
1727#define InterlockedExchangePointer(dest, val) \
1728 (PVOID)InterlockedExchange( (PLONG)dest, (LONG)val )
1729
1730BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
1731BOOL WINAPI IsProcessorFeaturePresent(DWORD);
1732BOOL WINAPI IsValidLocale(DWORD,DWORD);
1733BOOL WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
1734BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
1735BOOL WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
1736BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,LPVOID);
1737BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,LPVOID);
1738#define LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
1739BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
1740HMODULE WINAPI MapHModuleSL(HMODULE16);
1741HMODULE16 WINAPI MapHModuleLS(HMODULE);
1742LPVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
1743LPVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPVOID);
1744BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
1745BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
1746#define MoveFile WINELIB_NAME_AW(MoveFile)
1747BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
1748BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
1749#define MoveFileEx WINELIB_NAME_AW(MoveFileEx)
1750INT WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,INT,LPWSTR,INT);
1751BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
1752INT WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,BOOL*);
1753HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
1754HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
1755#define OpenBackupEventLog WINELIB_NAME_AW(OpenBackupEventLog)
1756HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
1757HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
1758#define OpenEvent WINELIB_NAME_AW(OpenEvent)
1759HANDLE WINAPI OpenEventLogA(LPCSTR,LPCSTR);
1760HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
1761#define OpenEventLog WINELIB_NAME_AW(OpenEventLog)
1762HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
1763HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
1764#define OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
1765HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
1766HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
1767#define OpenMutex WINELIB_NAME_AW(OpenMutex)
1768HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
1769BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
1770HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
1771HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
1772#define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
1773BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
1774
1775BOOL WIN32API PostQueuedCompletionStatus(HANDLE CompletionPort,
1776 DWORD dwNumberOfBytesTransferred,
1777 DWORD dwCompletionKey,
1778 LPOVERLAPPED lpOverlapped);
1779
1780DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
1781BOOL WINAPI PulseEvent(HANDLE);
1782BOOL WINAPI PurgeComm(HANDLE,DWORD);
1783DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
1784DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
1785#define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
1786BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
1787BOOL WINAPI QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);
1788
1789BOOL WINAPI ReadConsoleA(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
1790BOOL WINAPI ReadConsoleW(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
1791#define ReadConsole WINELIB_NAME_AW(ReadConsole)
1792BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,
1793 COORD,LPDWORD);
1794#define ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
1795BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
1796BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
1797#define ReadEventLog WINELIB_NAME_AW(ReadEventLog)
1798BOOL WINAPI ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
1799BOOL WINAPI ReadFileEx(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead,
1800 LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1801
1802HANDLE WINAPI RegisterEventSourceA(LPCSTR,LPCSTR);
1803HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
1804#define RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
1805DWORD WINAPI RegisterServiceProcess(DWORD dwProcessId, DWORD dwType);
1806BOOL WINAPI ReleaseMutex(HANDLE);
1807BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
1808BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR *,LPVOID);
1809BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR *,LPVOID);
1810#define ReportEvent WINELIB_NAME_AW(ReportEvent)
1811BOOL WINAPI ResetEvent(HANDLE);
1812DWORD WINAPI ResumeThread(HANDLE);
1813VOID WINAPI RtlFillMemory(LPVOID,UINT,UINT);
1814#define FillMemory RtlFillMemory
1815VOID WINAPI RtlMoveMemory(LPVOID,LPCVOID,UINT);
1816#define MoveMemory RtlMoveMemory
1817VOID WINAPI RtlZeroMemory(LPVOID,UINT);
1818#define ZeroMemory RtlZeroMemory
1819VOID WINAPI RtlCopyMemory(LPVOID,const VOID*, UINT);
1820#define CopyMemory RtlCopyMemory
1821BOOL WINAPI RevertToSelf(void);
1822DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
1823DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
1824#define SearchPath WINELIB_NAME_AW(SearchPath)
1825BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
1826BOOL WINAPI SetCommBreak(HANDLE);
1827BOOL WINAPI SetCommMask(HANDLE,DWORD);
1828BOOL WINAPI SetCommState(HANDLE,LPDCB);
1829BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1830BOOL WINAPI SetComputerNameA(LPCSTR);
1831BOOL WINAPI SetComputerNameW(LPCWSTR);
1832#define SetComputerName WINELIB_NAME_AW(SetComputerName)
1833BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
1834BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
1835#define SetDefaultCommConfig WINELIB_NAME_AW(SetDefaultCommConfig)
1836BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
1837BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
1838BOOL WINAPI SetConsoleTitleA(LPCSTR);
1839BOOL WINAPI SetConsoleTitleW(LPCWSTR);
1840#define SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
1841BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
1842BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
1843#define SetDefaultCommConfig WINELIB_NAME_AW(SetDefaultCommConfig)
1844BOOL WINAPI SetEndOfFile(HANDLE);
1845BOOL WINAPI DeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode,
1846 LPVOID lpInBuffer, DWORD nInBufferSize,
1847 LPVOID lpOutBuffer, DWORD nOutBufferSize,
1848 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
1849
1850BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
1851BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
1852#define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
1853BOOL WINAPI SetEvent(HANDLE);
1854VOID WINAPI SetFileApisToANSI(void);
1855VOID WINAPI SetFileApisToOEM(void);
1856DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
1857BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
1858BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
1859BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
1860#define SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
1861BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
1862BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
1863BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
1864BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
1865BOOL WINAPI SetProcessAffinityMask( HANDLE hProcess, DWORD affmask );
1866BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
1867BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
1868BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
1869BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
1870BOOL WINAPI SetStdHandle(DWORD,HANDLE);
1871BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
1872BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
1873DWORD WINAPI SetTapeParameters(HANDLE,DWORD,LPVOID);
1874BOOL WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
1875DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD);
1876BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT *);
1877DWORD WINAPI SetThreadExecutionState(EXECUTION_STATE);
1878BOOL WINAPI SetThreadPriority(HANDLE,INT);
1879BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
1880BOOL WINAPI SetThreadToken(PHANDLE,HANDLE);
1881BOOL WINAPI SetThreadLocale(LCID);
1882BOOL WINAPI SetThreadPriority(HANDLE,INT);
1883BOOL WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
1884BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
1885VOID WINAPI Sleep(DWORD);
1886DWORD WINAPI SleepEx(DWORD,BOOL);
1887DWORD WINAPI SuspendThread(HANDLE);
1888BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
1889DWORD WINAPI TlsAlloc(void);
1890BOOL WINAPI TlsFree(DWORD);
1891LPVOID WINAPI TlsGetValue(DWORD);
1892BOOL WINAPI TlsSetValue(DWORD,LPVOID);
1893BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
1894BOOL WINAPI UnmapViewOfFile(LPVOID);
1895BOOL WINAPI FlushInstructionCache(HANDLE,LPCVOID,DWORD);
1896LPVOID WINAPI VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
1897BOOL WINAPI VirtualFree(LPVOID,DWORD,DWORD);
1898BOOL WINAPI VirtualLock(LPVOID,DWORD);
1899BOOL WINAPI VirtualProtect(LPVOID,DWORD,DWORD,LPDWORD);
1900BOOL WINAPI VirtualProtectEx(HANDLE,LPVOID,DWORD,DWORD,LPDWORD);
1901DWORD WINAPI VirtualQuery(LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
1902DWORD WINAPI VirtualQueryEx(HANDLE,LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
1903BOOL WINAPI VirtualUnlock(LPVOID,DWORD);
1904BOOL WINAPI WaitCommEvent(HANDLE,LPDWORD,LPOVERLAPPED);
1905BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
1906DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
1907DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
1908DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
1909DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
1910BOOL WINAPI WriteConsoleA(HANDLE,LPCVOID,DWORD,LPDWORD,LPVOID);
1911BOOL WINAPI WriteConsoleW(HANDLE,LPCVOID,DWORD,LPDWORD,LPVOID);
1912#define WriteConsole WINELIB_NAME_AW(WriteConsole)
1913BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
1914BOOL WINAPI WriteFileEx(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite,
1915 LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1916DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
1917DWORD WINAPI GetLastError(void);
1918LANGID WINAPI GetSystemDefaultLangID(void);
1919LCID WINAPI GetSystemDefaultLCID(void);
1920LANGID WINAPI GetUserDefaultLangID(void);
1921LCID WINAPI GetUserDefaultLCID(void);
1922ATOM WINAPI AddAtomA(LPCSTR);
1923ATOM WINAPI AddAtomW(LPCWSTR);
1924#define AddAtom WINELIB_NAME_AW(AddAtom)
1925BOOL WINAPI CancelIo(HANDLE hFile);
1926BOOL WINAPI CancelWaitableTimer(HANDLE);
1927BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
1928BOOL WINAPI ClearCommBreak(HANDLE);
1929BOOL WINAPI ClearCommError(HANDLE,LPDWORD,LPCOMSTAT);
1930BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
1931BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
1932#define ClearEventLog WINELIB_NAME_AW(ClearEventLog)
1933BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
1934BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
1935#define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
1936BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
1937BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
1938#define CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
1939HANDLE WINAPI CreateIoCompletionPort( HANDLE FileHandle,
1940 HANDLE ExistingCompletionPort,
1941 DWORD CompletionKey,
1942 DWORD NumberOfConcurrentThreads);
1943BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
1944BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
1945#define DefineDosDevice WINELIB_NAME_AW(DefineDosDevice)
1946
1947ATOM WINAPI DeleteAtom(ATOM);
1948BOOL WINAPI DeleteFileA(LPCSTR);
1949BOOL WINAPI DeleteFileW(LPCWSTR);
1950#define DeleteFile WINELIB_NAME_AW(DeleteFile)
1951void WINAPI FatalAppExitA(UINT,LPCSTR);
1952void WINAPI FatalAppExitW(UINT,LPCWSTR);
1953#define FatalAppExit WINELIB_NAME_AW(FatalAppExit)
1954VOID WIN32API FatalExit( UINT exitCode);
1955ATOM WINAPI FindAtomA(LPCSTR);
1956ATOM WINAPI FindAtomW(LPCWSTR);
1957#define FindAtom WINELIB_NAME_AW(FindAtom)
1958BOOL WINAPI FindClose(HANDLE);
1959HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
1960HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
1961#define FindFirstFile WINELIB_NAME_AW(FindFirstFile)
1962HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
1963HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
1964#define FindFirstFileEx WINELIB_NAME_AW(FindFirstFileEx)
1965HANDLE WINAPI FindFirstFileMultiA(LPCSTR,LPWIN32_FIND_DATAA,DWORD*); //Odin only
1966BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
1967BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
1968#define FindNextFile WINELIB_NAME_AW(FindNextFile)
1969BOOL WINAPI FindNextFileMultiA(HANDLE,LPWIN32_FIND_DATAA,DWORD*); //Odin only
1970HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
1971HRSRC WINAPI FindResourceW(HMODULE,LPCWSTR,LPCWSTR);
1972#define FindResource WINELIB_NAME_AW(FindResource)
1973
1974VOID WINAPI FreeLibrary16(HINSTANCE16);
1975BOOL WINAPI FreeLibrary(HMODULE);
1976#define FreeModule(handle) FreeLibrary(handle)
1977#define FreeProcInstance(proc) /*nothing*/
1978BOOL WINAPI FreeResource(HGLOBAL);
1979UINT WINAPI GetAtomNameA(ATOM,LPSTR,INT);
1980UINT WINAPI GetAtomNameW(ATOM,LPWSTR,INT);
1981#define GetAtomName WINELIB_NAME_AW(GetAtomName)
1982UINT WINAPI GetCurrentDirectoryA(UINT,LPSTR);
1983UINT WINAPI GetCurrentDirectoryW(UINT,LPWSTR);
1984#define GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
1985BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
1986BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
1987#define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
1988BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
1989BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
1990#define GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
1991UINT WINAPI GetDriveTypeA(LPCSTR);
1992UINT WINAPI GetDriveTypeW(LPCWSTR);
1993#define GetDriveType WINELIB_NAME_AW(GetDriveType)
1994DWORD WINAPI GetFileAttributesA(LPCSTR);
1995DWORD WINAPI GetFileAttributesW(LPCWSTR);
1996#define GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
1997#define GetFreeSpace(w) (0x100000L)
1998UINT WINAPI GetLogicalDriveStringsA(UINT,LPSTR);
1999UINT WINAPI GetLogicalDriveStringsW(UINT,LPWSTR);
2000#define GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
2001INT WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,INT);
2002INT WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,INT);
2003#define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
2004DWORD WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD);
2005DWORD WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD);
2006#define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
2007HMODULE WINAPI GetModuleHandleA(LPCSTR);
2008HMODULE WINAPI GetModuleHandleW(LPCWSTR);
2009#define GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
2010BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
2011UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
2012UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
2013#define GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
2014INT WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
2015INT WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
2016#define GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
2017DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
2018DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
2019#define GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
2020INT WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
2021INT WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
2022#define GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
2023BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
2024BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
2025#define GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
2026FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR);
2027UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
2028UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
2029#define GetProfileInt WINELIB_NAME_AW(GetProfileInt)
2030INT WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
2031INT WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
2032#define GetProfileSection WINELIB_NAME_AW(GetProfileSection)
2033INT WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT);
2034INT WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT);
2035#define GetProfileString WINELIB_NAME_AW(GetProfileString)
2036
2037BOOL WINAPI GetQueuedCompletionStatus(HANDLE CompletionPort,
2038 LPDWORD lpNumberOfBytesTransferred,
2039 LPDWORD lpCompletionKey,
2040 LPOVERLAPPED *lpOverlapped,
2041 DWORD dwMilliseconds);
2042VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
2043VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
2044#define GetStartupInfo WINELIB_NAME_AW(GetStartupInfo)
2045BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,INT,LPWORD);
2046BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,INT,LPWORD);
2047#define GetStringType WINELIB_NAME_AW(GetStringType)
2048UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
2049UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
2050#define GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
2051UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
2052UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
2053#define GetTempFileName WINELIB_NAME_AW(GetTempFileName)
2054UINT WINAPI GetTempPathA(UINT,LPSTR);
2055UINT WINAPI GetTempPathW(UINT,LPWSTR);
2056#define GetTempPath WINELIB_NAME_AW(GetTempPath)
2057LONG WINAPI GetVersion(void);
2058BOOL WINAPI GetExitCodeProcess(HANDLE,LPDWORD);
2059BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
2060BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
2061#define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
2062UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
2063UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
2064#define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
2065HGLOBAL16 WINAPI GlobalAlloc16(UINT16,DWORD);
2066HGLOBAL WINAPI GlobalAlloc(UINT,DWORD);
2067DWORD WINAPI GlobalCompact(DWORD);
2068UINT WINAPI GlobalFlags(HGLOBAL);
2069HGLOBAL16 WINAPI GlobalFree16(HGLOBAL16);
2070HGLOBAL WINAPI GlobalFree(HGLOBAL);
2071HGLOBAL WINAPI GlobalHandle(LPCVOID);
2072WORD WINAPI GlobalFix16(HGLOBAL16);
2073VOID WINAPI GlobalFix(HGLOBAL);
2074LPVOID WINAPI GlobalLock16(HGLOBAL16);
2075LPVOID WINAPI GlobalLock(HGLOBAL);
2076HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT);
2077DWORD WINAPI GlobalSize16(HGLOBAL16);
2078DWORD WINAPI GlobalSize(HGLOBAL);
2079VOID WINAPI GlobalUnfix16(HGLOBAL16);
2080VOID WINAPI GlobalUnfix(HGLOBAL);
2081BOOL16 WINAPI GlobalUnlock16(HGLOBAL16);
2082BOOL WINAPI GlobalUnlock(HGLOBAL);
2083BOOL16 WINAPI GlobalUnWire16(HGLOBAL16);
2084BOOL WINAPI GlobalUnWire(HGLOBAL);
2085SEGPTR WINAPI GlobalWire16(HGLOBAL16);
2086LPVOID WINAPI GlobalWire(HGLOBAL);
2087BOOL WINAPI InitAtomTable(DWORD);
2088BOOL WINAPI IsBadCodePtr(FARPROC);
2089BOOL WINAPI IsBadHugeReadPtr(LPCVOID,UINT);
2090BOOL WINAPI IsBadHugeWritePtr(LPVOID,UINT);
2091BOOL WINAPI IsBadReadPtr(LPCVOID,UINT);
2092BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
2093BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
2094#define IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
2095BOOL WINAPI IsBadWritePtr(LPVOID,UINT);
2096BOOL WINAPI IsDBCSLeadByte(BYTE);
2097BOOL WINAPI IsDebuggerPresent(void);
2098HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
2099HMODULE WINAPI LoadLibraryA(LPCSTR);
2100HMODULE WINAPI LoadLibraryW(LPCWSTR);
2101#define LoadLibrary WINELIB_NAME_AW(LoadLibrary)
2102HMODULE WINAPI LoadLibraryExA(LPCSTR,HFILE,DWORD);
2103HMODULE WINAPI LoadLibraryExW(LPCWSTR,HFILE,DWORD);
2104#define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
2105HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
2106HINSTANCE WINAPI LoadModule(LPCSTR,LPVOID);
2107HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
2108HLOCAL WINAPI LocalAlloc(UINT,DWORD);
2109UINT WINAPI LocalCompact(UINT);
2110UINT WINAPI LocalFlags(HLOCAL);
2111HLOCAL WINAPI LocalFree(HLOCAL);
2112HLOCAL WINAPI LocalHandle(LPCVOID);
2113LPVOID WINAPI LocalLock(HLOCAL);
2114HLOCAL WINAPI LocalReAlloc(HLOCAL,DWORD,UINT);
2115UINT WINAPI LocalShrink(HGLOBAL,UINT);
2116UINT WINAPI LocalSize(HLOCAL);
2117BOOL WINAPI LocalUnlock(HLOCAL);
2118LPVOID WINAPI LockResource(HGLOBAL);
2119#define UnlockResource(hResData) ((hResData), 0)
2120
2121#define LockSegment(handle) GlobalFix((HANDLE)(handle))
2122#define MakeProcInstance(proc,inst) (proc)
2123HFILE16 WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
2124HFILE WINAPI OpenFile(LPCSTR,OFSTRUCT*,UINT);
2125VOID WINAPI OutputDebugStringA(LPCSTR);
2126VOID WINAPI OutputDebugStringW(LPCWSTR);
2127#define OutputDebugString WINELIB_NAME_AW(OutputDebugString)
2128BOOL WINAPI ReadProcessMemory(HANDLE, LPCVOID, LPVOID, DWORD, LPDWORD);
2129BOOL WINAPI RemoveDirectoryA(LPCSTR);
2130BOOL WINAPI RemoveDirectoryW(LPCWSTR);
2131#define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
2132BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
2133BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
2134#define SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
2135UINT WINAPI SetErrorMode(UINT);
2136BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
2137BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
2138#define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
2139UINT WINAPI SetHandleCount(UINT);
2140#define SetSwapAreaSize(w) (w)
2141BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
2142BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
2143#define SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
2144BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,BOOL);
2145DWORD WINAPI SizeofResource(HMODULE,HRSRC);
2146BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
2147#define UnlockSegment(handle) GlobalUnfix((HANDLE)(handle))
2148DWORD WINAPI VerLanguageNameA( UINT wLang, LPSTR szLang, UINT nSize );
2149DWORD WINAPI VerLanguageNameW( UINT wLang, LPWSTR szLang, UINT nSize );
2150#define VerLanguageName WINELIB_NAME_AW(VerLanguageName)
2151BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
2152BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
2153#define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
2154BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
2155BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
2156BOOL WINAPI WriteProcessMemory(HANDLE,LPCVOID,LPVOID,DWORD,LPDWORD);
2157#define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
2158BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
2159BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
2160#define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
2161BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
2162BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
2163#define WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
2164BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
2165BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
2166#define WriteProfileString WINELIB_NAME_AW(WriteProfileString)
2167#define Yield32()
2168LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
2169LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
2170#define lstrcat WINELIB_NAME_AW(lstrcat)
2171LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
2172LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
2173#define lstrcpy WINELIB_NAME_AW(lstrcpy)
2174LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,INT);
2175LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,INT);
2176#define lstrcpyn WINELIB_NAME_AW(lstrcpyn)
2177INT WINAPI lstrlenA(LPCSTR);
2178INT WINAPI lstrlenW(LPCWSTR);
2179#define lstrlen WINELIB_NAME_AW(lstrlen)
2180HINSTANCE WINAPI WinExec(LPCSTR,UINT);
2181LONG WINAPI _hread(HFILE,LPVOID,LONG);
2182LONG WINAPI _hwrite(HFILE,LPCSTR,LONG);
2183HFILE WINAPI _lcreat(LPCSTR,INT);
2184HFILE WINAPI _lclose(HFILE);
2185LONG WINAPI _llseek(HFILE,LONG,INT);
2186HFILE WINAPI _lopen(LPCSTR,INT);
2187UINT WINAPI _lread(HFILE,LPVOID,UINT);
2188UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
2189SEGPTR WINAPI WIN16_GlobalLock16(HGLOBAL16);
2190INT WINAPI lstrcmpA(LPCSTR,LPCSTR);
2191INT WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
2192#define lstrcmp WINELIB_NAME_AW(lstrcmp)
2193INT WINAPI lstrcmpiA(LPCSTR,LPCSTR);
2194INT WINAPI lstrcmpiW(LPCWSTR,LPCWSTR);
2195#define lstrcmpi WINELIB_NAME_AW(lstrcmpi)
2196int WINAPI lstrncmpiA(LPCSTR, LPCSTR, int);
2197int WINAPI lstrncmpiW(LPCWSTR, LPCWSTR, int);
2198#define lstrncmpi WINELIB_NAME_AW(lstrncmpi)
2199
2200VOID WINAPI SetLastError(DWORD);
2201
2202
2203BOOL WINAPI SetTokenInformation(HANDLE hToken,
2204 TOKEN_INFORMATION_CLASS tic,
2205 LPVOID lpvInformation,
2206 DWORD cbInformation);
2207
2208BOOL WINAPI GetUserNameA(LPSTR lpBuffer, LPDWORD lpcchBuffer);
2209BOOL WINAPI GetUserNameW(LPWSTR lpBuffer, LPDWORD lpccBuffer);
2210#define GetUserName WINELIB_NAME_AW(GetUserName)
2211
2212BOOL WINAPI AbortSystemShutdownA(LPTSTR lpMachineName);
2213BOOL WINAPI AbortSystemShutdownW(LPWSTR lpMachineName);
2214BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR SubsystemName,
2215 LPVOID HandleId,
2216 LPTSTR ObjectTypeName,
2217 LPTSTR ObjectName,
2218 PSECURITY_DESCRIPTOR SecurityDescriptor,
2219 DWORD DesiredAccess,
2220 PGENERIC_MAPPING GenericMapping,
2221 BOOL ObjectCreation,
2222 LPDWORD GrantedAccess,
2223 LPBOOL AccessStatus,
2224 LPBOOL pfGenerateOnClose);
2225BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR SubsystemName,
2226 LPVOID HandleId,
2227 LPWSTR ObjectTypeName,
2228 LPWSTR ObjectName,
2229 PSECURITY_DESCRIPTOR SecurityDescriptor,
2230 DWORD DesiredAccess,
2231 PGENERIC_MAPPING GenericMapping,
2232 BOOL ObjectCreation,
2233 LPDWORD GrantedAccess,
2234 LPBOOL AccessStatus,
2235 LPBOOL pfGenerateOnClose);
2236BOOL WINAPI AddAccessAllowedAce(PACL pAcl,
2237 DWORD dwAceRevision,
2238 DWORD AccessMask,
2239 PSID pSid);
2240BOOL WINAPI AddAccessDeniedAce(PACL pAcl,
2241 DWORD dwAceRevision,
2242 DWORD AccessMask,
2243 PSID pSid);
2244BOOL WINAPI AddAce(PACL pAcl,
2245 DWORD dwAceRevision,
2246 DWORD dwStartingAceIndex,
2247 LPVOID pAceList,
2248 DWORD nAceListLength);
2249BOOL WINAPI AddAuditAccessAce(PACL pAcl,
2250 DWORD dwAceRevision,
2251 DWORD dwAccessMask,
2252 PSID pSid,
2253 BOOL bAuditSuccess,
2254 BOOL bAuditFailure);
2255BOOL WINAPI AdjustTokenGroups(HANDLE TokenHandle,
2256 BOOL ResetToDefault,
2257 PTOKEN_GROUPS NewState,
2258 DWORD BufferLength,
2259 PTOKEN_GROUPS PreviousState,
2260 LPDWORD ReturnLength);
2261BOOL WINAPI AllocateLocallyUniqueId(PLUID Luid);
2262BOOL WINAPI AreAllAccessesGranted(DWORD GrantedAccess,
2263 DWORD DesiredAccess);
2264BOOL WINAPI AreAnyAccessesGranted(DWORD GrantedAccess,
2265 DWORD DesiredAccess);
2266BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR ParentDescriptor,
2267 PSECURITY_DESCRIPTOR CreatorDescriptor,
2268 PSECURITY_DESCRIPTOR *NewDescriptor,
2269 BOOL IsDirectoryObject,
2270 HANDLE Token,
2271 PGENERIC_MAPPING GenericMapping);
2272BOOL WINAPI CreateProcessAsUserA(HANDLE hToken,
2273 LPCSTR lpApplicationName,
2274 LPTSTR lpCommandLine,
2275 LPSECURITY_ATTRIBUTES lpProcessAttributes,
2276 LPSECURITY_ATTRIBUTES lpThreadAttributes,
2277 BOOL bInheritHandles,
2278 DWORD dwCreationFlags,
2279 LPVOID lpEnvironment,
2280 LPCSTR lpCurrentDirectory,
2281 LPSTARTUPINFOA lpStartupInfo,
2282 LPPROCESS_INFORMATION lpProcessInformation);
2283BOOL WINAPI CreateProcessAsUserW(HANDLE hToken,
2284 LPCWSTR lpApplicationName,
2285 LPWSTR lpCommandLine,
2286 LPSECURITY_ATTRIBUTES lpProcessAttributes,
2287 LPSECURITY_ATTRIBUTES lpThreadAttributes,
2288 BOOL bInheritHandles,
2289 DWORD dwCreationFlags,
2290 LPVOID lpEnvironment,
2291 LPCWSTR lpCurrentDirectory,
2292 LPSTARTUPINFOA lpStartupInfo,
2293 LPPROCESS_INFORMATION lpProcessInformation);
2294BOOL WINAPI DeleteAce(PACL pAcl,
2295 DWORD dwAceIndex);
2296BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR *ObjectDescriptor);
2297BOOL WINAPI DuplicateToken(HANDLE ExistingTokenHandle,
2298 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
2299 PHANDLE DuplicateTokenHandle);
2300BOOL WINAPI FindFirstFreeAce(PACL pAcl,
2301 LPVOID *pAce);
2302BOOL WINAPI GetAce(PACL pAcl,
2303 DWORD dwAceIndex,
2304 LPVOID *pAce);
2305BOOL WINAPI GetAclInformation(PACL pAcl,
2306 LPVOID pAclInformation,
2307 DWORD nAclInformationLength,
2308 ACL_INFORMATION_CLASS dwAclInformationClass);
2309BOOL WINAPI GetKernelObjectSecurity(HANDLE Handle,
2310 SECURITY_INFORMATION RequestedInformation,
2311 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2312 DWORD nLength,
2313 LPDWORD lpnLengthNeeded);
2314BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR ObjectDescriptor,
2315 SECURITY_INFORMATION SecurityInformation,
2316 PSECURITY_DESCRIPTOR ResultantDescriptor,
2317 DWORD DescriptorLength,
2318 LPDWORD ReturnLength);
2319BOOL WINAPI ImpersonateLoggedOnUser(HANDLE hToken);
2320BOOL WINAPI ImpersonateNamedPipeClient(HANDLE hNamedPipe);
2321BOOL WINAPI InitiateSystemShutdownA(LPTSTR lpMachineName,
2322 LPTSTR lpMessage,
2323 DWORD dwTimeout,
2324 BOOL bForceAppsClosed,
2325 BOOL bRebootAfterShutdown);
2326BOOL WINAPI InitiateSystemShutdownW(LPWSTR lpMachineName,
2327 LPWSTR lpMessage,
2328 DWORD dwTimeout,
2329 BOOL bForceAppsClosed,
2330 BOOL bRebootAfterShutdown);
2331BOOL WINAPI IsValidAcl(PACL pAcl);
2332BOOL WINAPI LogonUserA(LPTSTR lpszUsername,
2333 LPTSTR lpszDomain,
2334 LPTSTR lpszPassword,
2335 DWORD dwLogonType,
2336 DWORD dwLogonProvider,
2337 PHANDLE phToken);
2338BOOL WINAPI LogonUserW(LPWSTR lpszUsername,
2339 LPWSTR lpszDomain,
2340 LPWSTR lpszPassword,
2341 DWORD dwLogonType,
2342 DWORD dwLogonProvider,
2343 PHANDLE phToken);
2344BOOL WINAPI LookupAccountNameA(LPCSTR lpSystemName,
2345 LPCSTR lpAccountName,
2346 PSID Sid,
2347 LPDWORD cbSid,
2348 LPTSTR ReferencedDomainName,
2349 LPDWORD cbReferencedDomainName,
2350 PSID_NAME_USE peUse);
2351BOOL WINAPI LookupAccountNameW(LPCWSTR lpSystemName,
2352 LPCWSTR lpAccountName,
2353 PSID Sid,
2354 LPDWORD cbSid,
2355 LPWSTR ReferencedDomainName,
2356 LPDWORD cbReferencedDomainName,
2357 PSID_NAME_USE peUse);
2358BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR lpSystemName,
2359 LPCSTR lpName,
2360 LPTSTR lpDisplayName,
2361 LPDWORD cbDisplayName,
2362 LPDWORD lpLanguageId);
2363BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR lpSystemName,
2364 LPCWSTR lpName,
2365 LPWSTR lpDisplayName,
2366 LPDWORD cbDisplayName,
2367 LPDWORD lpLanguageId);
2368BOOL WINAPI LookupPrivilegeNameA(LPCSTR lpSystemName,
2369 PLUID lpLuid,
2370 LPTSTR lpName,
2371 LPDWORD cbName);
2372BOOL WINAPI LookupPrivilegeNameW(LPCWSTR lpSystemName,
2373 PLUID lpLuid,
2374 LPWSTR lpName,
2375 LPDWORD cbName);
2376BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
2377 PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
2378 LPDWORD lpdwAbsoluteSecurityDescriptorSize,
2379 PACL pDacl,
2380 LPDWORD lpdwDaclSize,
2381 PACL pSacl,
2382 LPDWORD lpdwSaclSize,
2383 PSID pOwner,
2384 LPDWORD lpdwOwnerSize,
2385 PSID pPrimaryGroup,
2386 LPDWORD lpdwPrimaryGroupSize);
2387VOID WINAPI MapGenericMask(LPDWORD AccessMask,
2388 PGENERIC_MAPPING GenericMapping);
2389BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR SubsystemName,
2390 LPVOID HandleId,
2391 BOOL GenerateOnClose);
2392BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR SubsystemName,
2393 LPVOID HandleId,
2394 BOOL GenerateOnClose);
2395BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR SubsystemName,
2396 LPVOID HandleId,
2397 LPTSTR ObjectTypeName,
2398 LPTSTR ObjectName,
2399 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2400 HANDLE ClientToken,
2401 DWORD DesiredAccess,
2402 DWORD GrantedAccess,
2403 PPRIVILEGE_SET Privileges,
2404 BOOL ObjectCreation,
2405 BOOL AccessGranted,
2406 LPBOOL GenerateOnClose);
2407BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR SubsystemName,
2408 LPVOID HandleId,
2409 LPWSTR ObjectTypeName,
2410 LPWSTR ObjectName,
2411 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2412 HANDLE ClientToken,
2413 DWORD DesiredAccess,
2414 DWORD GrantedAccess,
2415 PPRIVILEGE_SET Privileges,
2416 BOOL ObjectCreation,
2417 BOOL AccessGranted,
2418 LPBOOL GenerateOnClose);
2419BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR lpszSubsystem,
2420 LPVOID lpvHandleId,
2421 HANDLE hClientToken,
2422 DWORD dwDesiredAccess,
2423 PPRIVILEGE_SET pps,
2424 BOOL fAccessGranted);
2425BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR lpszSubsystem,
2426 LPVOID lpvHandleId,
2427 HANDLE hClientToken,
2428 DWORD dwDesiredAccess,
2429 PPRIVILEGE_SET pps,
2430 BOOL fAccessGranted);
2431BOOL WINAPI PrivilegeCheck(HANDLE hClientToken,
2432 PPRIVILEGE_SET pps,
2433 LPBOOL lpfResult);
2434BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR lpszSubsystem,
2435 LPCSTR lpszService,
2436 HANDLE hClientToken,
2437 PPRIVILEGE_SET pps,
2438 BOOL fAccessGranted);
2439BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR lpszSubsystem,
2440 LPCWSTR lpszService,
2441 HANDLE hClientToken,
2442 PPRIVILEGE_SET pps,
2443 BOOL fAccessGranted);
2444BOOL WINAPI SetAclInformation(PACL pAcl,
2445 LPVOID lpvAclInfo,
2446 DWORD cbAclInfo,
2447 ACL_INFORMATION_CLASS aclic);
2448BOOL WINAPI SetKernelObjectSecurity(HANDLE hObject,
2449 SECURITY_INFORMATION si,
2450 PSECURITY_DESCRIPTOR psd);
2451BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION si,
2452 PSECURITY_DESCRIPTOR psdSource,
2453 PSECURITY_DESCRIPTOR *lppsdTarget,
2454 PGENERIC_MAPPING pgm,
2455 HANDLE hClientToken);
2456
2457
2458HANDLE WINAPI CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
2459 DWORD nMaxInstances, DWORD nOutBufferSize,
2460 DWORD nInBufferSize, DWORD nDefaultTimeOut,
2461 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
2462HANDLE WINAPI CreateNamedPipeW(LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
2463 DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize,
2464 DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
2465#define CreateNamedPipe WINELIB_NAME_AW(CreateNamedPipe)
2466
2467BOOL WINAPI GetNamedPipeHandleStateA(HANDLE hNamedPipe, LPDWORD lpState,
2468 LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount,
2469 LPDWORD lpCollectDataTimeout, LPSTR lpUserName,
2470 DWORD nMaxUserNameSize);
2471BOOL WINAPI GetNamedPipeHandleStateW(HANDLE hNamedPipe,LPDWORD lpState, LPDWORD lpCurInstances,
2472 LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout,
2473 LPWSTR lpUserName, DWORD nMaxUserNameSize);
2474#define GetNamedPipeHandleState WINELIB_NAME_AW(GetNamedPipeHandleState)
2475
2476BOOL WINAPI CallNamedPipeA(LPCSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize,
2477 LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead,
2478 DWORD nTimeOut);
2479BOOL WINAPI CallNamedPipeW(LPCWSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize,
2480 LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead,
2481 DWORD nTimeOut);
2482#define CallNamedPipe WINELIB_NAME_AW(CallNamedPipe)
2483
2484
2485BOOL WINAPI WaitNamedPipeA(LPCSTR lpNamedPipeName, DWORD nTimeOut);
2486BOOL WINAPI WaitNamedPipeW(LPCWSTR lpNamedPipeName, DWORD nTimeOut);
2487
2488#define WaitNamedPipe WINELIB_NAME_AW(WaitNamedPipe)
2489
2490BOOL WINAPI CreatePipe(PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes,
2491 DWORD nSize);
2492BOOL WINAPI ConnectNamedPipe(HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped);
2493BOOL WINAPI DisconnectNamedPipe(HANDLE hNamedPipe);
2494BOOL WINAPI SetNamedPipeHandleState(HANDLE hNamedPipe, LPDWORD lpMode,
2495 LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout);
2496BOOL WINAPI GetNamedPipeInfo(HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutBufferSize,
2497 LPDWORD lpInBufferSize, LPDWORD lpMaxInstances);
2498BOOL WINAPI PeekNamedPipe(HANDLE hNamedPipe, LPVOID lpBuffer, DWORD nBufferSize,
2499 LPDWORD lpBytesRead, LPDWORD lpTotalBytesAvail,
2500 LPDWORD lpBytesLeftThisMessage);
2501BOOL WINAPI TransactNamedPipe(HANDLE hNamedPipe, LPVOID lpInBuffer, DWORD nInBufferSize,
2502 LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead,
2503 LPOVERLAPPED lpOverlapped);
2504
2505HANDLE WINAPI CreateMailslotA(LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout,
2506 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
2507HANDLE WINAPI CreateMailslotW(LPCWSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout,
2508 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
2509#define CreateMailslot WINELIB_NAME_AW(WaitNamedPipe)
2510
2511BOOL WINAPI GetMailslotInfo(HANDLE hMailslot, LPDWORD lpMaxMessageSize,
2512 LPDWORD lpNextSize, LPDWORD lpMessageCount,
2513 LPDWORD lpReadTimeout);
2514
2515BOOL WINAPI SetMailslotInfo(HANDLE hMailslot, DWORD lReadTimeout);
2516
2517/* undocumented functions */
2518
2519typedef struct tagSYSLEVEL
2520{
2521 CRITICAL_SECTION crst;
2522 INT level;
2523} SYSLEVEL;
2524
2525/* [GS]etProcessDword offsets */
2526#define GPD_APP_COMPAT_FLAGS (-56)
2527#define GPD_LOAD_DONE_EVENT (-52)
2528#define GPD_HINSTANCE16 (-48)
2529#define GPD_WINDOWS_VERSION (-44)
2530#define GPD_THDB (-40)
2531#define GPD_PDB (-36)
2532#define GPD_STARTF_SHELLDATA (-32)
2533#define GPD_STARTF_HOTKEY (-28)
2534#define GPD_STARTF_SHOWWINDOW (-24)
2535#define GPD_STARTF_SIZE (-20)
2536#define GPD_STARTF_POSITION (-16)
2537#define GPD_STARTF_FLAGS (-12)
2538#define GPD_PARENT (- 8)
2539#define GPD_FLAGS (- 4)
2540#define GPD_USERDATA ( 0)
2541
2542void WINAPI DisposeLZ32Handle(HANDLE);
2543HANDLE WINAPI DosFileHandleToWin32Handle(HFILE);
2544DWORD WINAPI GetProcessDword(DWORD,INT);
2545VOID WINAPI GetpWin16Lock(SYSLEVEL**);
2546DWORD WINAPI MapLS(LPCVOID);
2547DWORD WINAPI MapProcessHandle(HANDLE);
2548LPVOID WINAPI MapSL(DWORD);
2549VOID WINAPI ReleaseThunkLock(DWORD*);
2550VOID WINAPI RestoreThunkLock(DWORD);
2551void WINAPI SetProcessDword(DWORD,INT,DWORD);
2552VOID WINAPI UnMapLS(DWORD);
2553HFILE WINAPI Win32HandleToDosFileHandle(HANDLE);
2554VOID WINAPI _CheckNotSysLevel(SYSLEVEL *lock);
2555DWORD WINAPI _ConfirmWin16Lock(void);
2556DWORD WINAPI _ConfirmSysLevel(SYSLEVEL*);
2557VOID WINAPI _EnterSysLevel(SYSLEVEL*);
2558VOID WINAPI _LeaveSysLevel(SYSLEVEL*);
2559
2560#ifdef __WIN32OS2__
2561HANDLE WINAPI FindFirstVolumeA(LPTSTR lpszVolumeName, DWORD cchBufferLength);
2562HANDLE WINAPI FindFirstVolumeW(LPWSTR lpszVolumeName, DWORD cchBufferLength);
2563#define FindFirstVolume WINELIB_NAME_AW(FindFirstVolume)
2564
2565BOOL WINAPI FindNextVolumeA(HANDLE hFindVolume, LPTSTR lpszVolumeName,
2566 DWORD cchBufferLength);
2567BOOL WINAPI FindNextVolumeW(HANDLE hFindVolume, LPWSTR lpszVolumeName,
2568 DWORD cchBufferLength);
2569#define FindNextVolume WINELIB_NAME_AW(FindNextVolume)
2570
2571BOOL WINAPI FindVolumeClose(HANDLE hFindVolume);
2572
2573HANDLE WINAPI FindFirstVolumeMountPointA(LPTSTR lpszRootPathName,
2574 LPTSTR lpszVolumeMountPoint,
2575 DWORD cchBufferLength);
2576HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR lpszRootPathName,
2577 LPWSTR lpszVolumeMountPoint,
2578 DWORD cchBufferLength);
2579#define FindFirstVolumeMountPoint WINELIB_NAME_AW(FindFirstVolumeMountPoint)
2580
2581BOOL WINAPI FindNextVolumeMountPointA(HANDLE hFindVolumeMountPoint,
2582 LPTSTR lpszVolumeMountPoint,
2583 DWORD cchBufferLength);
2584BOOL WINAPI FindNextVolumeMountPointW(HANDLE hFindVolumeMountPoint,
2585 LPWSTR lpszVolumeMountPoint,
2586 DWORD cchBufferLength);
2587#define FindNextVolumeMountPoint WINELIB_NAME_AW(FindNextVolumeMountPoint)
2588
2589BOOL WINAPI FindVolumeMountPointClose(HANDLE hFindVolumeMountPoint);
2590BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR lpszVolumeMountPoint,
2591 LPSTR lpszVolumeName,
2592 DWORD cchBufferLength);
2593BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR lpszVolumeMountPoint,
2594 LPWSTR lpszVolumeName,
2595 DWORD cchBufferLength);
2596#define GetVolumeNameForVolumeMountPoint WINELIB_NAME_AW(GetVolumeNameForVolumeMountPoint)
2597
2598#endif
2599
2600#ifdef __cplusplus
2601}
2602#endif
2603
2604#endif /* __WINE_WINBASE_H */
Note: See TracBrowser for help on using the repository browser.