source: branches/swt/include/win/winbase.h@ 22123

Last change on this file since 22123 was 22123, checked in by rousseau, 10 years ago

Corrected some string related mismatches [odin]

In 'heapstring.h', 'strncasecmp' is mapped to 'lstrncmpiA', but the
latter used 'int' for the length and not 'size_t'. According to the C++
language documentation, 'size_t' is an 'unsigned int'.

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