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

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

Fixed MAKEINTRESOURCE declaration.

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