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

Last change on this file since 22080 was 22080, checked in by rousseau, 11 years ago

Added missing structures and callback types

structures:
o ACTCTX
o BUTTON_IMAGELIST (from ReactOS)
o CERT_CONTEXT
o CERT_INFO
o CERT_NAME_BLOB
o CERT_PUBLIC_KEY_INFO
o CRYPT_ALGORITHM_IDENTIFIER
o CRYPT_ALGORITHM_IDENTIFIER
o CRYPT_BIT_BLOB
o CRYPT_INTEGER_BLOB
o CRYPT_OBJID_BLOB
o LITEM
o LVINSERTMARK
o MENUBARINFO
o NMLINK
o LPOSVERSIONINFOA
o LPOSVERSIONINFOW

callbacks:
o LANGUAGEGROUP_ENUMPROCA
o LANGUAGEGROUP_ENUMPROCW

File size: 117.3 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} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
1310typedef struct _OSVERSIONINFOEXW {
1311 DWORD dwOSVersionInfoSize;
1312 DWORD dwMajorVersion;
1313 DWORD dwMinorVersion;
1314 DWORD dwBuildNumber;
1315 DWORD dwPlatformId;
1316 WCHAR szCSDVersion[128];
1317 WORD wServicePackMajor;
1318 WORD wServicePackMinor;
1319 WORD wReserved[2];
1320} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
1321
1322DECL_WINELIB_TYPE_AW(OSVERSIONINFOEX)
1323DECL_WINELIB_TYPE_AW(POSVERSIONINFOEX)
1324DECL_WINELIB_TYPE_AW(LPOSVERSIONINFOEX)
1325
1326#define VER_SET_CONDITION(_m_,_t_,_c_) ((_m_)=VerSetConditionMask((_m_),(_t_),(_c_)))
1327
1328#define VER_PLATFORM_WIN32s 0
1329#define VER_PLATFORM_WIN32_WINDOWS 1
1330#define VER_PLATFORM_WIN32_NT 2
1331
1332#define VER_MINORVERSION 0x00000001
1333#define VER_MAJORVERSION 0x00000002
1334#define VER_BUILDNUMBER 0x00000004
1335#define VER_PLATFORMID 0x00000008
1336#define VER_SERVICEPACKMINOR 0x00000010
1337#define VER_SERVICEPACKMAJOR 0x00000020
1338#define VER_SUITENAME 0x00000040
1339#define VER_PRODUCT_TYPE 0x00000080
1340
1341#define VER_NT_WORKSTATION 1
1342#define VER_NT_DOMAIN_CONTROLLER 2
1343#define VER_NT_SERVER 3
1344
1345#define VER_SUITE_SMALLBUSINESS 0x00000001
1346#define VER_SUITE_ENTERPRISE 0x00000002
1347#define VER_SUITE_BACKOFFICE 0x00000004
1348#define VER_SUITE_COMMUNICATIONS 0x00000008
1349#define VER_SUITE_TERMINAL 0x00000010
1350#define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020
1351#define VER_SUITE_EMBEDDEDNT 0x00000040
1352#define VER_SUITE_DATACENTER 0x00000080
1353#define VER_SUITE_SINGLEUSERTS 0x00000100
1354#define VER_SUITE_PERSONAL 0x00000200
1355
1356#define VER_EQUAL 1
1357#define VER_GREATER 2
1358#define VER_GREATER_EQUAL 3
1359#define VER_LESS 4
1360#define VER_LESS_EQUAL 5
1361#define VER_AND 6
1362#define VER_OR 7
1363
1364typedef struct _COMMPROP {
1365 WORD wPacketLength;
1366 WORD wPacketVersion;
1367 DWORD dwServiceMask;
1368 DWORD dwReserved1;
1369 DWORD dwMaxTxQueue;
1370 DWORD dwMaxRxQueue;
1371 DWORD dwMaxBaud;
1372 DWORD dwProvSubType;
1373 DWORD dwProvCapabilities;
1374 DWORD dwSettableParams;
1375 DWORD dwSettableBaud;
1376 WORD wSettableData;
1377 WORD wSettableStopParity;
1378 DWORD dwCurrentTxQueue;
1379 DWORD dwCurrentRxQueue;
1380 DWORD dwProvSpec1;
1381 DWORD dwProvSpec2;
1382 WCHAR wcProvChar[1];
1383} COMMPROP,*LPCOMMPROP;
1384
1385typedef struct tagCOMSTAT
1386{
1387 // DWORD status; // maybe make this a union ??
1388 unsigned fCtsHold:1;
1389 unsigned fDsrHold:1;
1390 unsigned fRlsdHold:1;
1391 unsigned fXoffHold:1;
1392 unsigned fXoffSend:1;
1393 unsigned fEof:1;
1394 unsigned fTxim:1;
1395 unsigned fReserved:25;
1396 DWORD cbInQue;
1397 DWORD cbOutQue;
1398} COMSTAT,*LPCOMSTAT;
1399
1400typedef struct tagDCB
1401{
1402 DWORD DCBlength;
1403 DWORD BaudRate;
1404 unsigned fBinary :1;
1405 unsigned fParity :1;
1406 unsigned fOutxCtsFlow :1;
1407 unsigned fOutxDsrFlow :1;
1408 unsigned fDtrControl :2;
1409 unsigned fDsrSensitivity :1;
1410 unsigned fTXContinueOnXoff :1;
1411 unsigned fOutX :1;
1412 unsigned fInX :1;
1413 unsigned fErrorChar :1;
1414 unsigned fNull :1;
1415 unsigned fRtsControl :2;
1416 unsigned fAbortOnError :1;
1417 unsigned fDummy2 :17;
1418 WORD wReserved;
1419 WORD XonLim;
1420 WORD XoffLim;
1421 BYTE ByteSize;
1422 BYTE Parity;
1423 BYTE StopBits;
1424 char XonChar;
1425 char XoffChar;
1426 char ErrorChar;
1427 char EofChar;
1428 char EvtChar;
1429} DCB, *LPDCB;
1430
1431
1432
1433typedef struct tagCOMMTIMEOUTS {
1434 DWORD ReadIntervalTimeout;
1435 DWORD ReadTotalTimeoutMultiplier;
1436 DWORD ReadTotalTimeoutConstant;
1437 DWORD WriteTotalTimeoutMultiplier;
1438 DWORD WriteTotalTimeoutConstant;
1439} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
1440
1441typedef struct _COMMCONFIG {
1442 DWORD dwSize;
1443 WORD wVersion;
1444 WORD wReserved;
1445 DCB dcb;
1446 DWORD dwProviderSubType;
1447 DWORD dwProviderOffset;
1448 DWORD dwProviderSize;
1449 WCHAR wcProviderData[1];
1450} COMMCONFIG,*LPCOMMCONFIG;
1451
1452typedef void (* CALLBACK PAPCFUNC)(ULONG_PTR);
1453typedef void (* CALLBACK PTIMERAPCROUTINE)(LPVOID,DWORD,DWORD);
1454
1455typedef enum _COMPUTER_NAME_FORMAT
1456{
1457 ComputerNameNetBIOS,
1458 ComputerNameDnsHostname,
1459 ComputerNameDnsDomain,
1460 ComputerNameDnsFullyQualified,
1461 ComputerNamePhysicalNetBIOS,
1462 ComputerNamePhysicalDnsHostname,
1463 ComputerNamePhysicalDnsDomain,
1464 ComputerNamePhysicalDnsFullyQualified,
1465 ComputerNameMax
1466} COMPUTER_NAME_FORMAT;
1467
1468#include "poppack.h"
1469
1470BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
1471BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
1472#define BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
1473BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
1474BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
1475#define BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
1476BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1477BOOL WINAPI SetCommState(HANDLE,LPDCB);
1478BOOL WINAPI TransmitCommChar(HANDLE,CHAR);
1479
1480BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,LPDWORD);
1481BOOL WINAPI GetCommMask(HANDLE,LPDWORD);
1482BOOL WINAPI GetCommModemStatus(HANDLE,LPDWORD);
1483BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP);
1484BOOL WINAPI GetCommState(HANDLE,LPDCB);
1485BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1486
1487
1488/*DWORD WINAPI GetVersion( void );*/
1489BOOL WINAPI GetVersionExA(OSVERSIONINFOA*);
1490BOOL WINAPI GetVersionExW(OSVERSIONINFOW*);
1491#define GetVersionEx WINELIB_NAME_AW(GetVersionEx)
1492
1493/*int WinMain(HINSTANCE, HINSTANCE prev, char *cmd, int show);*/
1494
1495void WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCrit);
1496void WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCrit);
1497void WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
1498void WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCrit);
1499void WINAPI MakeCriticalSectionGlobal(CRITICAL_SECTION *lpCrit);
1500HANDLE WINAPI OpenProcess(DWORD access, BOOL inherit, DWORD id);
1501BOOL WINAPI GetProcessWorkingSetSize(HANDLE,LPDWORD,LPDWORD);
1502BOOL WINAPI GetProcessShutdownParameters( LPDWORD lpdwLevel, LPDWORD lpdwFlags );
1503DWORD WINAPI GetProcessFlags( DWORD processid );
1504DWORD WINAPI GetProcessVersion(DWORD Processid);
1505DWORD WINAPI GetProcessHeaps(DWORD nrofheaps,HANDLE *heaps) ;
1506BOOL WINAPI GetProcessTimes(HANDLE hProcess,
1507 LPFILETIME lpCreationTime,
1508 LPFILETIME lpExitTime,
1509 LPFILETIME lpKernelTime,
1510 LPFILETIME lpUserTime);
1511DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
1512void WINAPI RaiseException(DWORD,DWORD,DWORD,const LPDWORD);
1513BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD);
1514BOOL WINAPI SetProcessPriorityBoost(HANDLE hprocess,BOOL disableboost);
1515BOOL WINAPI SetProcessWorkingSetSize(HANDLE hProcess,DWORD minset,
1516 DWORD maxset);
1517BOOL WINAPI SetProcessShutdownParameters(DWORD level,DWORD flags);
1518BOOL WINAPI TerminateProcess(HANDLE,DWORD);
1519BOOL WINAPI TerminateThread(HANDLE,DWORD);
1520BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD);
1521
1522/* GetBinaryType return values.
1523 */
1524
1525#define SCS_32BIT_BINARY 0
1526#define SCS_DOS_BINARY 1
1527#define SCS_WOW_BINARY 2
1528#define SCS_PIF_BINARY 3
1529#define SCS_POSIX_BINARY 4
1530#define SCS_OS216_BINARY 5
1531
1532BOOL WINAPI GetBinaryTypeA( LPCSTR lpApplicationName, LPDWORD lpBinaryType );
1533BOOL WINAPI GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType );
1534#define GetBinaryType WINELIB_NAME_AW(GetBinaryType)
1535
1536BOOL16 WINAPI GetWinDebugInfo16(LPWINDEBUGINFO,UINT16);
1537BOOL16 WINAPI SetWinDebugInfo16(LPWINDEBUGINFO);
1538/* Declarations for functions that exist only in Win32 */
1539
1540BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL);
1541//BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
1542BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,LPVOID,DWORD,LPVOID,LPDWORD);
1543BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID *);
1544BOOL WINAPI AllocateLocallyUniqueId(PLUID);
1545BOOL WINAPI AllocConsole(void);
1546BOOL WINAPI AreFileApisANSI(void);
1547BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
1548BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
1549#define BackupEventLog WINELIB_NAME_AW(BackupEventLog)
1550BOOL WINAPI BackupRead(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
1551BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,LPDWORD,LPDWORD,LPVOID*);
1552BOOL WINAPI BackupWrite(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
1553BOOL WINAPI Beep(DWORD,DWORD);
1554BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
1555BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
1556#define ClearEventLog WINELIB_NAME_AW(ClearEventLog)
1557BOOL WINAPI CloseEventLog(HANDLE);
1558BOOL WINAPI CloseHandle(HANDLE);
1559BOOL WINAPI CommConfigDialogA(LPCSTR,HANDLE,LPCOMMCONFIG);
1560BOOL WINAPI CommConfigDialogW(LPCWSTR,HANDLE,LPCOMMCONFIG);
1561#define CommConfigDialog WINELIB_NAME_AW(CommConfigDialog)
1562BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
1563HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc);
1564BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
1565BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
1566#define CopyFile WINELIB_NAME_AW(CopyFile)
1567BOOL WINAPI CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1568BOOL WINAPI CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1569#define CopyFileEx WINELIB_NAME_AW(CopyFileEx)
1570BOOL WINAPI CopySid(DWORD,PSID,PSID);
1571INT WINAPI CompareFileTime(LPFILETIME,LPFILETIME);
1572HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
1573HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
1574#define CreateEvent WINELIB_NAME_AW(CreateEvent)
1575HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
1576 DWORD,DWORD,HANDLE);
1577HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
1578 DWORD,DWORD,HANDLE);
1579#define CreateFile WINELIB_NAME_AW(CreateFile)
1580HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,
1581 DWORD,DWORD,LPCSTR);
1582HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,
1583 DWORD,DWORD,LPCWSTR);
1584#define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
1585HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1586HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1587#define CreateMutex WINELIB_NAME_AW(CreateMutex)
1588BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
1589BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,
1590 LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,
1591 LPSTARTUPINFOA,LPPROCESS_INFORMATION);
1592BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,
1593 LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,
1594 LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1595#define CreateProcess WINELIB_NAME_AW(CreateProcess)
1596HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1597HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
1598HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
1599#define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
1600DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
1601HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1602HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1603HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1604#define CreateWaitableTimer WINELIB_NAME_AW(CreateWaitableTimer)
1605BOOL WINAPI DebugActiveProcess(DWORD);
1606void WINAPI DebugBreak(void);
1607BOOL WINAPI DeregisterEventSource(HANDLE);
1608BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
1609BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
1610BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,HANDLE*,DWORD,BOOL,DWORD);
1611BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,
1612 ENUMRESLANGPROCA,LONG);
1613BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,
1614 ENUMRESLANGPROCW,LONG);
1615#define EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
1616BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROCA,
1617 LONG);
1618BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW,
1619 LONG);
1620#define EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
1621BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG);
1622BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG);
1623#define EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
1624BOOL WINAPI EqualSid(PSID, PSID);
1625BOOL WINAPI EqualPrefixSid(PSID,PSID);
1626DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL);
1627VOID WINAPI ExitProcess(DWORD);
1628VOID WINAPI ExitThread(DWORD);
1629DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
1630DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
1631#define ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
1632BOOL WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
1633BOOL WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
1634BOOL WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
1635HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
1636HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
1637#define FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
1638BOOL WINAPI FindNextChangeNotification(HANDLE);
1639BOOL WINAPI FindCloseChangeNotification(HANDLE);
1640HRSRC WINAPI FindResourceExA(HMODULE,LPCSTR,LPCSTR,WORD);
1641HRSRC WINAPI FindResourceExW(HMODULE,LPCWSTR,LPCWSTR,WORD);
1642#define FindResourceEx WINELIB_NAME_AW(FindResourceEx)
1643BOOL WINAPI FlushConsoleInputBuffer(HANDLE);
1644BOOL WINAPI FlushFileBuffers(HANDLE);
1645BOOL WINAPI FlushViewOfFile(LPCVOID, DWORD);
1646DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,
1647 DWORD,LPDWORD);
1648DWORD WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,
1649 DWORD,LPDWORD);
1650#define FormatMessage WINELIB_NAME_AW(FormatMessage)
1651BOOL WINAPI FreeConsole(void);
1652BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
1653BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
1654#define FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
1655PVOID WINAPI FreeSid(PSID);
1656VOID WINAPI FreeLibraryAndExitThread(HINSTANCE,DWORD);
1657UINT WINAPI GetACP(void);
1658LPCSTR WINAPI GetCommandLineA(void);
1659LPCWSTR WINAPI GetCommandLineW(void);
1660#define GetCommandLine WINELIB_NAME_AW(GetCommandLine)
1661DWORD WINAPI GetCompressedFileSizeA(LPCTSTR lpFileName, LPDWORD lpFileSizeHigh);
1662DWORD WINAPI GetCompressedFileSizeW(LPCWSTR lpFileName, LPDWORD lpFileSizeHigh);
1663#define GetCompressedFileSize WINELIB_NAME_AW(GetCompressedFileSize)
1664BOOL WINAPI GetComputerNameA(LPSTR,LPDWORD);
1665BOOL WINAPI GetComputerNameW(LPWSTR,LPDWORD);
1666#define GetComputerName WINELIB_NAME_AW(GetComputerName)
1667UINT WINAPI GetConsoleCP(void);
1668BOOL WINAPI GetConsoleMode(HANDLE,LPDWORD);
1669UINT WINAPI GetConsoleOutputCP(void);
1670DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
1671DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
1672#define GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
1673BOOL WINAPI GetCommMask(HANDLE, LPDWORD);
1674BOOL WINAPI GetCommModemStatus(HANDLE, LPDWORD);
1675HANDLE WINAPI GetCurrentProcess(void);
1676DWORD WINAPI GetCurrentProcessId(void);
1677HANDLE WINAPI GetCurrentThread(void);
1678DWORD WINAPI GetCurrentThreadId(void);
1679BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,LPDWORD);
1680BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,LPDWORD);
1681#define GetDefaultCommConfig WINELIB_NAME_AW(GetDefaultCommConfig)
1682LPSTR WINAPI GetEnvironmentStringsA(void);
1683LPWSTR WINAPI GetEnvironmentStringsW(void);
1684#define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
1685DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
1686DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
1687#define GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
1688BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
1689BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
1690#define GetFileAttributesEx WINELIB_NAME_AW(GetFileAttributesEx)
1691BOOL WINAPI GetFileInformationByHandle(HANDLE,BY_HANDLE_FILE_INFORMATION*);
1692BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1693BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1694#define GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
1695DWORD WINAPI GetFileSize(HANDLE,LPDWORD);
1696BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
1697DWORD WINAPI GetFileType(HANDLE);
1698DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
1699DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
1700#define GetFullPathName WINELIB_NAME_AW(GetFullPathName)
1701BOOL WINAPI GetHandleInformation(HANDLE,LPDWORD);
1702DWORD WINAPI GetLargestConsoleWindowSize(HANDLE);
1703DWORD WINAPI GetLengthSid(PSID);
1704VOID WINAPI GetLocalTime(LPSYSTEMTIME);
1705DWORD WINAPI GetLogicalDrives(void);
1706DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
1707DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
1708#define GetLongPathName WINELIB_NAME_AW(GetLongPathName)
1709BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,LPDWORD);
1710BOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD);
1711BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
1712UINT WINAPI GetOEMCP(void);
1713BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
1714DWORD WINAPI GetPriorityClass(HANDLE);
1715BOOL WINAPI GetProcessAffinityMask(HANDLE hProcess,
1716 LPDWORD lpProcessAffinityMask,
1717 LPDWORD lpSystemAffinityMask);
1718HANDLE WINAPI GetProcessHeap(void);
1719DWORD WINAPI GetProcessVersion(DWORD);
1720//BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,LPDWORD);
1721BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
1722BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
1723DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
1724BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
1725BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
1726PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
1727DWORD WINAPI GetSidLengthRequired(BYTE);
1728PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
1729PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
1730DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
1731DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
1732#define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
1733HANDLE WINAPI GetStdHandle(DWORD);
1734BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,INT,LPWORD);
1735BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,INT,LPWORD);
1736#define GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
1737VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
1738BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
1739VOID WINAPI GetSystemTime(LPSYSTEMTIME);
1740VOID WINAPI GetSystemTimeAsFileTime(LPFILETIME);
1741DWORD WINAPI GetTapeParameters(HANDLE,DWORD,LPDWORD,LPVOID);
1742DWORD WINAPI GetTapePosition(HANDLE,DWORD,LPDWORD,LPDWORD,LPDWORD);
1743DWORD WINAPI GetTapeStatus(HANDLE);
1744DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
1745BOOL WINAPI GetThreadContext(HANDLE,CONTEXT *);
1746INT WINAPI GetThreadPriority(HANDLE);
1747BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
1748BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
1749BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD,LPDWORD);
1750BOOL WINAPI GetUserNameA(LPSTR,LPDWORD);
1751BOOL WINAPI GetUserNameW(LPWSTR,LPDWORD);
1752#define GetUserName WINELIB_NAME_AW(GetUserName)
1753VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
1754LPVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD);
1755DWORD WINAPI HeapCompact(HANDLE,DWORD);
1756HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD);
1757BOOL WINAPI HeapDestroy(HANDLE);
1758BOOL WINAPI HeapFree(HANDLE,DWORD,LPVOID);
1759BOOL WINAPI HeapLock(HANDLE);
1760LPVOID WINAPI HeapReAlloc(HANDLE,DWORD,LPVOID,DWORD);
1761DWORD WINAPI HeapSize(HANDLE,DWORD,LPVOID);
1762BOOL WINAPI HeapUnlock(HANDLE);
1763BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
1764BOOL WINAPI HeapWalk (HANDLE, LPVOID);
1765DWORD WINAPI InitializeAcl(PACL,DWORD,DWORD);
1766BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
1767BOOL WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
1768BOOL WINAPI IsTextUnicode(CONST LPVOID lpBuffer, int cb, LPINT lpi);
1769BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
1770BOOL WINAPI IsValidSid(PSID);
1771BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
1772BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
1773BOOL WINAPI IsProcessorFeaturePresent(DWORD);
1774LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare );
1775LONG WINAPI InterlockedDecrement(LPLONG);
1776LONG WINAPI InterlockedExchange(LPLONG,LONG);
1777LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr );
1778LONG WINAPI InterlockedIncrement(LPLONG);
1779
1780/* FIXME: should handle platforms where sizeof(void*) != sizeof(long) */
1781#define InterlockedCompareExchangePointer(dest, xchg, compare) \
1782 (PVOID)InterlockedCompareExchange( (PLONG)dest, (LONG)xchg, (LONG)compare )
1783
1784#define InterlockedExchangePointer(dest, val) \
1785 (PVOID)InterlockedExchange( (PLONG)dest, (LONG)val )
1786
1787BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
1788BOOL WINAPI IsProcessorFeaturePresent(DWORD);
1789BOOL WINAPI IsValidLocale(DWORD,DWORD);
1790BOOL WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
1791BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
1792BOOL WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
1793BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,LPVOID);
1794BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,LPVOID);
1795#define LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
1796BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
1797HMODULE WINAPI MapHModuleSL(HMODULE16);
1798HMODULE16 WINAPI MapHModuleLS(HMODULE);
1799LPVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
1800LPVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPVOID);
1801BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
1802BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
1803#define MoveFile WINELIB_NAME_AW(MoveFile)
1804BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
1805BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
1806#define MoveFileEx WINELIB_NAME_AW(MoveFileEx)
1807INT WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,INT,LPWSTR,INT);
1808BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
1809INT WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,BOOL*);
1810HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
1811HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
1812#define OpenBackupEventLog WINELIB_NAME_AW(OpenBackupEventLog)
1813HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
1814HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
1815#define OpenEvent WINELIB_NAME_AW(OpenEvent)
1816HANDLE WINAPI OpenEventLogA(LPCSTR,LPCSTR);
1817HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
1818#define OpenEventLog WINELIB_NAME_AW(OpenEventLog)
1819HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
1820HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
1821#define OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
1822HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
1823HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
1824#define OpenMutex WINELIB_NAME_AW(OpenMutex)
1825HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
1826BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
1827HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
1828HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
1829#define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
1830BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
1831
1832BOOL WIN32API PostQueuedCompletionStatus(HANDLE CompletionPort,
1833 DWORD dwNumberOfBytesTransferred,
1834 DWORD dwCompletionKey,
1835 LPOVERLAPPED lpOverlapped);
1836
1837DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
1838BOOL WINAPI PulseEvent(HANDLE);
1839BOOL WINAPI PurgeComm(HANDLE,DWORD);
1840DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
1841DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
1842#define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
1843BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
1844BOOL WINAPI QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);
1845
1846BOOL WINAPI ReadConsoleA(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
1847BOOL WINAPI ReadConsoleW(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
1848#define ReadConsole WINELIB_NAME_AW(ReadConsole)
1849BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,
1850 COORD,LPDWORD);
1851#define ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
1852BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
1853BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
1854#define ReadEventLog WINELIB_NAME_AW(ReadEventLog)
1855BOOL WINAPI ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
1856BOOL WINAPI ReadFileEx(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead,
1857 LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1858
1859HANDLE WINAPI RegisterEventSourceA(LPCSTR,LPCSTR);
1860HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
1861#define RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
1862DWORD WINAPI RegisterServiceProcess(DWORD dwProcessId, DWORD dwType);
1863BOOL WINAPI ReleaseMutex(HANDLE);
1864BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
1865BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR *,LPVOID);
1866BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR *,LPVOID);
1867#define ReportEvent WINELIB_NAME_AW(ReportEvent)
1868BOOL WINAPI ResetEvent(HANDLE);
1869DWORD WINAPI ResumeThread(HANDLE);
1870VOID WINAPI RtlFillMemory(LPVOID,UINT,UINT);
1871#define FillMemory RtlFillMemory
1872VOID WINAPI RtlMoveMemory(LPVOID,LPCVOID,UINT);
1873#define MoveMemory RtlMoveMemory
1874VOID WINAPI RtlZeroMemory(LPVOID,UINT);
1875#define ZeroMemory RtlZeroMemory
1876VOID WINAPI RtlCopyMemory(LPVOID,const VOID*, UINT);
1877#define CopyMemory RtlCopyMemory
1878BOOL WINAPI RevertToSelf(void);
1879DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
1880DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
1881#define SearchPath WINELIB_NAME_AW(SearchPath)
1882BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
1883BOOL WINAPI SetCommBreak(HANDLE);
1884BOOL WINAPI SetCommMask(HANDLE,DWORD);
1885BOOL WINAPI SetCommState(HANDLE,LPDCB);
1886BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1887BOOL WINAPI SetComputerNameA(LPCSTR);
1888BOOL WINAPI SetComputerNameW(LPCWSTR);
1889#define SetComputerName WINELIB_NAME_AW(SetComputerName)
1890BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
1891BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
1892#define SetDefaultCommConfig WINELIB_NAME_AW(SetDefaultCommConfig)
1893BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
1894BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
1895BOOL WINAPI SetConsoleTitleA(LPCSTR);
1896BOOL WINAPI SetConsoleTitleW(LPCWSTR);
1897#define SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
1898BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
1899BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
1900#define SetDefaultCommConfig WINELIB_NAME_AW(SetDefaultCommConfig)
1901BOOL WINAPI SetEndOfFile(HANDLE);
1902BOOL WINAPI DeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode,
1903 LPVOID lpInBuffer, DWORD nInBufferSize,
1904 LPVOID lpOutBuffer, DWORD nOutBufferSize,
1905 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
1906
1907BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
1908BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
1909#define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
1910BOOL WINAPI SetEvent(HANDLE);
1911VOID WINAPI SetFileApisToANSI(void);
1912VOID WINAPI SetFileApisToOEM(void);
1913DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
1914BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
1915BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
1916BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
1917#define SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
1918BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
1919BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
1920BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
1921BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
1922BOOL WINAPI SetProcessAffinityMask( HANDLE hProcess, DWORD affmask );
1923BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
1924BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
1925BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
1926BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
1927BOOL WINAPI SetStdHandle(DWORD,HANDLE);
1928BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
1929BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
1930DWORD WINAPI SetTapeParameters(HANDLE,DWORD,LPVOID);
1931BOOL WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
1932DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD);
1933BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT *);
1934DWORD WINAPI SetThreadExecutionState(EXECUTION_STATE);
1935BOOL WINAPI SetThreadPriority(HANDLE,INT);
1936BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
1937BOOL WINAPI SetThreadToken(PHANDLE,HANDLE);
1938BOOL WINAPI SetThreadLocale(LCID);
1939BOOL WINAPI SetThreadPriority(HANDLE,INT);
1940BOOL WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
1941BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
1942VOID WINAPI Sleep(DWORD);
1943DWORD WINAPI SleepEx(DWORD,BOOL);
1944DWORD WINAPI SuspendThread(HANDLE);
1945BOOL WINAPI SwitchToThread(void);
1946BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
1947DWORD WINAPI TlsAlloc(void);
1948BOOL WINAPI TlsFree(DWORD);
1949LPVOID WINAPI TlsGetValue(DWORD);
1950BOOL WINAPI TlsSetValue(DWORD,LPVOID);
1951BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
1952BOOL WINAPI UnmapViewOfFile(LPVOID);
1953BOOL WINAPI FlushInstructionCache(HANDLE,LPCVOID,DWORD);
1954LPVOID WINAPI VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
1955BOOL WINAPI VirtualFree(LPVOID,DWORD,DWORD);
1956BOOL WINAPI VirtualLock(LPVOID,DWORD);
1957BOOL WINAPI VirtualProtect(LPVOID,DWORD,DWORD,LPDWORD);
1958BOOL WINAPI VirtualProtectEx(HANDLE,LPVOID,DWORD,DWORD,LPDWORD);
1959DWORD WINAPI VirtualQuery(LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
1960DWORD WINAPI VirtualQueryEx(HANDLE,LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
1961BOOL WINAPI VirtualUnlock(LPVOID,DWORD);
1962BOOL WINAPI WaitCommEvent(HANDLE,LPDWORD,LPOVERLAPPED);
1963BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
1964DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
1965DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
1966DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
1967DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
1968BOOL WINAPI WriteConsoleA(HANDLE,LPCVOID,DWORD,LPDWORD,LPVOID);
1969BOOL WINAPI WriteConsoleW(HANDLE,LPCVOID,DWORD,LPDWORD,LPVOID);
1970#define WriteConsole WINELIB_NAME_AW(WriteConsole)
1971BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
1972BOOL WINAPI WriteFileEx(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite,
1973 LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1974DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
1975DWORD WINAPI GetLastError(void);
1976LANGID WINAPI GetSystemDefaultLangID(void);
1977LCID WINAPI GetSystemDefaultLCID(void);
1978LANGID WINAPI GetUserDefaultLangID(void);
1979LCID WINAPI GetUserDefaultLCID(void);
1980ATOM WINAPI AddAtomA(LPCSTR);
1981ATOM WINAPI AddAtomW(LPCWSTR);
1982#define AddAtom WINELIB_NAME_AW(AddAtom)
1983BOOL WINAPI CancelIo(HANDLE hFile);
1984BOOL WINAPI CancelWaitableTimer(HANDLE);
1985BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
1986BOOL WINAPI ClearCommBreak(HANDLE);
1987BOOL WINAPI ClearCommError(HANDLE,LPDWORD,LPCOMSTAT);
1988BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
1989BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
1990#define ClearEventLog WINELIB_NAME_AW(ClearEventLog)
1991BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
1992BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
1993#define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
1994BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
1995BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
1996#define CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
1997HANDLE WINAPI CreateIoCompletionPort( HANDLE FileHandle,
1998 HANDLE ExistingCompletionPort,
1999 DWORD CompletionKey,
2000 DWORD NumberOfConcurrentThreads);
2001BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
2002BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
2003#define DefineDosDevice WINELIB_NAME_AW(DefineDosDevice)
2004
2005ATOM WINAPI DeleteAtom(ATOM);
2006BOOL WINAPI DeleteFileA(LPCSTR);
2007BOOL WINAPI DeleteFileW(LPCWSTR);
2008#define DeleteFile WINELIB_NAME_AW(DeleteFile)
2009void WINAPI FatalAppExitA(UINT,LPCSTR);
2010void WINAPI FatalAppExitW(UINT,LPCWSTR);
2011#define FatalAppExit WINELIB_NAME_AW(FatalAppExit)
2012VOID WIN32API FatalExit( UINT exitCode);
2013ATOM WINAPI FindAtomA(LPCSTR);
2014ATOM WINAPI FindAtomW(LPCWSTR);
2015#define FindAtom WINELIB_NAME_AW(FindAtom)
2016BOOL WINAPI FindClose(HANDLE);
2017HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
2018HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
2019#define FindFirstFile WINELIB_NAME_AW(FindFirstFile)
2020HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
2021HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
2022#define FindFirstFileEx WINELIB_NAME_AW(FindFirstFileEx)
2023HANDLE WINAPI FindFirstFileMultiA(LPCSTR,LPWIN32_FIND_DATAA,DWORD*); //Odin only
2024BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
2025BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
2026#define FindNextFile WINELIB_NAME_AW(FindNextFile)
2027BOOL WINAPI FindNextFileMultiA(HANDLE,LPWIN32_FIND_DATAA,DWORD*); //Odin only
2028HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
2029HRSRC WINAPI FindResourceW(HMODULE,LPCWSTR,LPCWSTR);
2030#define FindResource WINELIB_NAME_AW(FindResource)
2031
2032VOID WINAPI FreeLibrary16(HINSTANCE16);
2033BOOL WINAPI FreeLibrary(HMODULE);
2034#define FreeModule(handle) FreeLibrary(handle)
2035#define FreeProcInstance(proc) /*nothing*/
2036BOOL WINAPI FreeResource(HGLOBAL);
2037UINT WINAPI GetAtomNameA(ATOM,LPSTR,INT);
2038UINT WINAPI GetAtomNameW(ATOM,LPWSTR,INT);
2039#define GetAtomName WINELIB_NAME_AW(GetAtomName)
2040UINT WINAPI GetCurrentDirectoryA(UINT,LPSTR);
2041UINT WINAPI GetCurrentDirectoryW(UINT,LPWSTR);
2042#define GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
2043BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
2044BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
2045#define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
2046BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
2047BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
2048#define GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
2049UINT WINAPI GetDriveTypeA(LPCSTR);
2050UINT WINAPI GetDriveTypeW(LPCWSTR);
2051#define GetDriveType WINELIB_NAME_AW(GetDriveType)
2052DWORD WINAPI GetFileAttributesA(LPCSTR);
2053DWORD WINAPI GetFileAttributesW(LPCWSTR);
2054#define GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
2055#define GetFreeSpace(w) (0x100000L)
2056UINT WINAPI GetLogicalDriveStringsA(UINT,LPSTR);
2057UINT WINAPI GetLogicalDriveStringsW(UINT,LPWSTR);
2058#define GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
2059INT WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,INT);
2060INT WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,INT);
2061#define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
2062DWORD WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD);
2063DWORD WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD);
2064#define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
2065HMODULE WINAPI GetModuleHandleA(LPCSTR);
2066HMODULE WINAPI GetModuleHandleW(LPCWSTR);
2067#define GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
2068BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
2069UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
2070UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
2071#define GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
2072INT WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
2073INT WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
2074#define GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
2075DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
2076DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
2077#define GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
2078INT WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
2079INT WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
2080#define GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
2081BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
2082BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
2083#define GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
2084FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR);
2085UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
2086UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
2087#define GetProfileInt WINELIB_NAME_AW(GetProfileInt)
2088INT WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
2089INT WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
2090#define GetProfileSection WINELIB_NAME_AW(GetProfileSection)
2091INT WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT);
2092INT WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT);
2093#define GetProfileString WINELIB_NAME_AW(GetProfileString)
2094
2095BOOL WINAPI GetQueuedCompletionStatus(HANDLE CompletionPort,
2096 LPDWORD lpNumberOfBytesTransferred,
2097 LPDWORD lpCompletionKey,
2098 LPOVERLAPPED *lpOverlapped,
2099 DWORD dwMilliseconds);
2100VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
2101VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
2102#define GetStartupInfo WINELIB_NAME_AW(GetStartupInfo)
2103BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,INT,LPWORD);
2104BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,INT,LPWORD);
2105#define GetStringType WINELIB_NAME_AW(GetStringType)
2106UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
2107UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
2108#define GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
2109UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
2110UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
2111#define GetTempFileName WINELIB_NAME_AW(GetTempFileName)
2112UINT WINAPI GetTempPathA(UINT,LPSTR);
2113UINT WINAPI GetTempPathW(UINT,LPWSTR);
2114#define GetTempPath WINELIB_NAME_AW(GetTempPath)
2115LONG WINAPI GetVersion(void);
2116BOOL WINAPI GetExitCodeProcess(HANDLE,LPDWORD);
2117BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
2118BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
2119#define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
2120UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
2121UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
2122#define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
2123HGLOBAL16 WINAPI GlobalAlloc16(UINT16,DWORD);
2124HGLOBAL WINAPI GlobalAlloc(UINT,DWORD);
2125DWORD WINAPI GlobalCompact(DWORD);
2126UINT WINAPI GlobalFlags(HGLOBAL);
2127HGLOBAL16 WINAPI GlobalFree16(HGLOBAL16);
2128HGLOBAL WINAPI GlobalFree(HGLOBAL);
2129HGLOBAL WINAPI GlobalHandle(LPCVOID);
2130WORD WINAPI GlobalFix16(HGLOBAL16);
2131VOID WINAPI GlobalFix(HGLOBAL);
2132LPVOID WINAPI GlobalLock16(HGLOBAL16);
2133LPVOID WINAPI GlobalLock(HGLOBAL);
2134HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT);
2135DWORD WINAPI GlobalSize16(HGLOBAL16);
2136DWORD WINAPI GlobalSize(HGLOBAL);
2137VOID WINAPI GlobalUnfix16(HGLOBAL16);
2138VOID WINAPI GlobalUnfix(HGLOBAL);
2139BOOL16 WINAPI GlobalUnlock16(HGLOBAL16);
2140BOOL WINAPI GlobalUnlock(HGLOBAL);
2141BOOL16 WINAPI GlobalUnWire16(HGLOBAL16);
2142BOOL WINAPI GlobalUnWire(HGLOBAL);
2143SEGPTR WINAPI GlobalWire16(HGLOBAL16);
2144LPVOID WINAPI GlobalWire(HGLOBAL);
2145BOOL WINAPI InitAtomTable(DWORD);
2146BOOL WINAPI IsBadCodePtr(FARPROC);
2147BOOL WINAPI IsBadHugeReadPtr(LPCVOID,UINT);
2148BOOL WINAPI IsBadHugeWritePtr(LPVOID,UINT);
2149BOOL WINAPI IsBadReadPtr(LPCVOID,UINT);
2150BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
2151BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
2152#define IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
2153BOOL WINAPI IsBadWritePtr(LPVOID,UINT);
2154BOOL WINAPI IsDBCSLeadByte(BYTE);
2155BOOL WINAPI IsDebuggerPresent(void);
2156HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
2157HMODULE WINAPI LoadLibraryA(LPCSTR);
2158HMODULE WINAPI LoadLibraryW(LPCWSTR);
2159#define LoadLibrary WINELIB_NAME_AW(LoadLibrary)
2160HMODULE WINAPI LoadLibraryExA(LPCSTR,HFILE,DWORD);
2161HMODULE WINAPI LoadLibraryExW(LPCWSTR,HFILE,DWORD);
2162#define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
2163HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
2164HINSTANCE WINAPI LoadModule(LPCSTR,LPVOID);
2165HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
2166HLOCAL WINAPI LocalAlloc(UINT,DWORD);
2167UINT WINAPI LocalCompact(UINT);
2168UINT WINAPI LocalFlags(HLOCAL);
2169HLOCAL WINAPI LocalFree(HLOCAL);
2170HLOCAL WINAPI LocalHandle(LPCVOID);
2171LPVOID WINAPI LocalLock(HLOCAL);
2172HLOCAL WINAPI LocalReAlloc(HLOCAL,DWORD,UINT);
2173UINT WINAPI LocalShrink(HGLOBAL,UINT);
2174UINT WINAPI LocalSize(HLOCAL);
2175BOOL WINAPI LocalUnlock(HLOCAL);
2176LPVOID WINAPI LockResource(HGLOBAL);
2177#define UnlockResource(hResData) ((hResData), 0)
2178
2179#define LockSegment(handle) GlobalFix((HANDLE)(handle))
2180#define MakeProcInstance(proc,inst) (proc)
2181HFILE16 WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
2182HFILE WINAPI OpenFile(LPCSTR,OFSTRUCT*,UINT);
2183VOID WINAPI OutputDebugStringA(LPCSTR);
2184VOID WINAPI OutputDebugStringW(LPCWSTR);
2185#define OutputDebugString WINELIB_NAME_AW(OutputDebugString)
2186BOOL WINAPI ReadProcessMemory(HANDLE, LPCVOID, LPVOID, DWORD, LPDWORD);
2187BOOL WINAPI RemoveDirectoryA(LPCSTR);
2188BOOL WINAPI RemoveDirectoryW(LPCWSTR);
2189#define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
2190BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
2191BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
2192#define SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
2193UINT WINAPI SetErrorMode(UINT);
2194BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
2195BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
2196#define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
2197UINT WINAPI SetHandleCount(UINT);
2198#define SetSwapAreaSize(w) (w)
2199BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
2200BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
2201#define SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
2202BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,BOOL);
2203DWORD WINAPI SizeofResource(HMODULE,HRSRC);
2204BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
2205#define UnlockSegment(handle) GlobalUnfix((HANDLE)(handle))
2206DWORD WINAPI VerLanguageNameA( UINT wLang, LPSTR szLang, UINT nSize );
2207DWORD WINAPI VerLanguageNameW( UINT wLang, LPWSTR szLang, UINT nSize );
2208#define VerLanguageName WINELIB_NAME_AW(VerLanguageName)
2209BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
2210BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
2211#define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
2212BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
2213BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
2214BOOL WINAPI WriteProcessMemory(HANDLE,LPCVOID,LPVOID,DWORD,LPDWORD);
2215#define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
2216BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
2217BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
2218#define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
2219BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
2220BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
2221#define WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
2222BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
2223BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
2224#define WriteProfileString WINELIB_NAME_AW(WriteProfileString)
2225#define Yield32()
2226LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
2227LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
2228#define lstrcat WINELIB_NAME_AW(lstrcat)
2229LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
2230LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
2231#define lstrcpy WINELIB_NAME_AW(lstrcpy)
2232LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,INT);
2233LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,INT);
2234#define lstrcpyn WINELIB_NAME_AW(lstrcpyn)
2235INT WINAPI lstrlenA(LPCSTR);
2236INT WINAPI lstrlenW(LPCWSTR);
2237#define lstrlen WINELIB_NAME_AW(lstrlen)
2238HINSTANCE WINAPI WinExec(LPCSTR,UINT);
2239LONG WINAPI _hread(HFILE,LPVOID,LONG);
2240LONG WINAPI _hwrite(HFILE,LPCSTR,LONG);
2241HFILE WINAPI _lcreat(LPCSTR,INT);
2242HFILE WINAPI _lclose(HFILE);
2243LONG WINAPI _llseek(HFILE,LONG,INT);
2244HFILE WINAPI _lopen(LPCSTR,INT);
2245UINT WINAPI _lread(HFILE,LPVOID,UINT);
2246UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
2247SEGPTR WINAPI WIN16_GlobalLock16(HGLOBAL16);
2248INT WINAPI lstrcmpA(LPCSTR,LPCSTR);
2249INT WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
2250#define lstrcmp WINELIB_NAME_AW(lstrcmp)
2251INT WINAPI lstrcmpiA(LPCSTR,LPCSTR);
2252INT WINAPI lstrcmpiW(LPCWSTR,LPCWSTR);
2253#define lstrcmpi WINELIB_NAME_AW(lstrcmpi)
2254int WINAPI lstrncmpiA(LPCSTR, LPCSTR, int);
2255int WINAPI lstrncmpiW(LPCWSTR, LPCWSTR, int);
2256#define lstrncmpi WINELIB_NAME_AW(lstrncmpi)
2257
2258VOID WINAPI SetLastError(DWORD);
2259
2260
2261BOOL WINAPI SetTokenInformation(HANDLE hToken,
2262 TOKEN_INFORMATION_CLASS tic,
2263 LPVOID lpvInformation,
2264 DWORD cbInformation);
2265
2266BOOL WINAPI GetUserNameA(LPSTR lpBuffer, LPDWORD lpcchBuffer);
2267BOOL WINAPI GetUserNameW(LPWSTR lpBuffer, LPDWORD lpccBuffer);
2268#define GetUserName WINELIB_NAME_AW(GetUserName)
2269
2270BOOL WINAPI AbortSystemShutdownA(LPTSTR lpMachineName);
2271BOOL WINAPI AbortSystemShutdownW(LPWSTR lpMachineName);
2272#define AbortSystemShutdown WINELIB_NAME_AW(AbortSystemShutdown)
2273BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR SubsystemName,
2274 LPVOID HandleId,
2275 LPTSTR ObjectTypeName,
2276 LPTSTR ObjectName,
2277 PSECURITY_DESCRIPTOR SecurityDescriptor,
2278 DWORD DesiredAccess,
2279 PGENERIC_MAPPING GenericMapping,
2280 BOOL ObjectCreation,
2281 LPDWORD GrantedAccess,
2282 LPBOOL AccessStatus,
2283 LPBOOL pfGenerateOnClose);
2284BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR SubsystemName,
2285 LPVOID HandleId,
2286 LPWSTR ObjectTypeName,
2287 LPWSTR ObjectName,
2288 PSECURITY_DESCRIPTOR SecurityDescriptor,
2289 DWORD DesiredAccess,
2290 PGENERIC_MAPPING GenericMapping,
2291 BOOL ObjectCreation,
2292 LPDWORD GrantedAccess,
2293 LPBOOL AccessStatus,
2294 LPBOOL pfGenerateOnClose);
2295#define AccessCheckAndAuditAlarm WINELIB_NAME_AW(AccessCheckAndAuditAlarm)
2296BOOL WINAPI AddAccessAllowedAce(PACL pAcl,
2297 DWORD dwAceRevision,
2298 DWORD AccessMask,
2299 PSID pSid);
2300BOOL WINAPI AddAccessDeniedAce(PACL pAcl,
2301 DWORD dwAceRevision,
2302 DWORD AccessMask,
2303 PSID pSid);
2304BOOL WINAPI AddAce(PACL pAcl,
2305 DWORD dwAceRevision,
2306 DWORD dwStartingAceIndex,
2307 LPVOID pAceList,
2308 DWORD nAceListLength);
2309BOOL WINAPI AddAuditAccessAce(PACL pAcl,
2310 DWORD dwAceRevision,
2311 DWORD dwAccessMask,
2312 PSID pSid,
2313 BOOL bAuditSuccess,
2314 BOOL bAuditFailure);
2315BOOL WINAPI AdjustTokenGroups(HANDLE TokenHandle,
2316 BOOL ResetToDefault,
2317 PTOKEN_GROUPS NewState,
2318 DWORD BufferLength,
2319 PTOKEN_GROUPS PreviousState,
2320 LPDWORD ReturnLength);
2321BOOL WINAPI AllocateLocallyUniqueId(PLUID Luid);
2322BOOL WINAPI AreAllAccessesGranted(DWORD GrantedAccess,
2323 DWORD DesiredAccess);
2324BOOL WINAPI AreAnyAccessesGranted(DWORD GrantedAccess,
2325 DWORD DesiredAccess);
2326BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR ParentDescriptor,
2327 PSECURITY_DESCRIPTOR CreatorDescriptor,
2328 PSECURITY_DESCRIPTOR *NewDescriptor,
2329 BOOL IsDirectoryObject,
2330 HANDLE Token,
2331 PGENERIC_MAPPING GenericMapping);
2332BOOL WINAPI CreateProcessAsUserA(HANDLE hToken,
2333 LPCSTR lpApplicationName,
2334 LPTSTR lpCommandLine,
2335 LPSECURITY_ATTRIBUTES lpProcessAttributes,
2336 LPSECURITY_ATTRIBUTES lpThreadAttributes,
2337 BOOL bInheritHandles,
2338 DWORD dwCreationFlags,
2339 LPVOID lpEnvironment,
2340 LPCSTR lpCurrentDirectory,
2341 LPSTARTUPINFOA lpStartupInfo,
2342 LPPROCESS_INFORMATION lpProcessInformation);
2343BOOL WINAPI CreateProcessAsUserW(HANDLE hToken,
2344 LPCWSTR lpApplicationName,
2345 LPWSTR lpCommandLine,
2346 LPSECURITY_ATTRIBUTES lpProcessAttributes,
2347 LPSECURITY_ATTRIBUTES lpThreadAttributes,
2348 BOOL bInheritHandles,
2349 DWORD dwCreationFlags,
2350 LPVOID lpEnvironment,
2351 LPCWSTR lpCurrentDirectory,
2352 LPSTARTUPINFOA lpStartupInfo,
2353 LPPROCESS_INFORMATION lpProcessInformation);
2354#define CreateProcessAsUser WINELIB_NAME_AW(CreateProcessAsUser)
2355BOOL WINAPI DeleteAce(PACL pAcl,
2356 DWORD dwAceIndex);
2357BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR *ObjectDescriptor);
2358BOOL WINAPI DuplicateToken(HANDLE ExistingTokenHandle,
2359 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
2360 PHANDLE DuplicateTokenHandle);
2361BOOL WINAPI FindFirstFreeAce(PACL pAcl,
2362 LPVOID *pAce);
2363BOOL WINAPI GetAce(PACL pAcl,
2364 DWORD dwAceIndex,
2365 LPVOID *pAce);
2366BOOL WINAPI GetAclInformation(PACL pAcl,
2367 LPVOID pAclInformation,
2368 DWORD nAclInformationLength,
2369 ACL_INFORMATION_CLASS dwAclInformationClass);
2370BOOL WINAPI GetKernelObjectSecurity(HANDLE Handle,
2371 SECURITY_INFORMATION RequestedInformation,
2372 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2373 DWORD nLength,
2374 LPDWORD lpnLengthNeeded);
2375BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR ObjectDescriptor,
2376 SECURITY_INFORMATION SecurityInformation,
2377 PSECURITY_DESCRIPTOR ResultantDescriptor,
2378 DWORD DescriptorLength,
2379 LPDWORD ReturnLength);
2380BOOL WINAPI ImpersonateLoggedOnUser(HANDLE hToken);
2381BOOL WINAPI ImpersonateNamedPipeClient(HANDLE hNamedPipe);
2382BOOL WINAPI InitiateSystemShutdownA(LPTSTR lpMachineName,
2383 LPTSTR lpMessage,
2384 DWORD dwTimeout,
2385 BOOL bForceAppsClosed,
2386 BOOL bRebootAfterShutdown);
2387BOOL WINAPI InitiateSystemShutdownW(LPWSTR lpMachineName,
2388 LPWSTR lpMessage,
2389 DWORD dwTimeout,
2390 BOOL bForceAppsClosed,
2391 BOOL bRebootAfterShutdown);
2392#define InitiateSystemShutdown WINELIB_NAME_AW(InitiateSystemShutdown)
2393BOOL WINAPI IsValidAcl(PACL pAcl);
2394BOOL WINAPI LogonUserA(LPTSTR lpszUsername,
2395 LPTSTR lpszDomain,
2396 LPTSTR lpszPassword,
2397 DWORD dwLogonType,
2398 DWORD dwLogonProvider,
2399 PHANDLE phToken);
2400BOOL WINAPI LogonUserW(LPWSTR lpszUsername,
2401 LPWSTR lpszDomain,
2402 LPWSTR lpszPassword,
2403 DWORD dwLogonType,
2404 DWORD dwLogonProvider,
2405 PHANDLE phToken);
2406#define LogonUser WINELIB_NAME_AW(LogonUser)
2407BOOL WINAPI IsValidSid(PSID pSid);
2408BOOL WINAPI EqualSid(PSID pSid1,
2409 PSID pSid2);
2410BOOL WINAPI EqualPrefixSid(PSID pSid1,
2411 PSID pSid2);
2412DWORD WINAPI GetSidLengthRequired(BYTE nSubAuthorityCount);
2413BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
2414 BYTE nSubAuthorityCount,
2415 DWORD nSubAuthority0,
2416 DWORD nSubAuthority1,
2417 DWORD nSubAuthority2,
2418 DWORD nSubAuthority3,
2419 DWORD nSubAuthority4,
2420 DWORD nSubAuthority5,
2421 DWORD nSubAuthority6,
2422 DWORD nSubAuthority7,
2423 PSID* pSid);
2424VOID* WINAPI FreeSid(PSID pSid);
2425BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor,
2426 DWORD dwRevision);
2427BOOL WINAPI InitializeSid(PSID Sid,
2428 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
2429 BYTE nSubAuthorityCount);
2430DWORD* WINAPI GetSidSubAuthority(PSID pSid, DWORD nSubAuthority);
2431BYTE * WINAPI GetSidSubAuthorityCount(PSID pSid);
2432DWORD WINAPI GetLengthSid(PSID pSid);
2433BOOL WINAPI CopySid(DWORD nDestinationSidLength,
2434 PSID pDestinationSid,
2435 PSID pSourceSid);
2436BOOL WINAPI LookupAccountSidA(LPCSTR lpSystemName,
2437 PSID Sid,
2438 LPSTR Name,
2439 LPDWORD cchName,
2440 LPSTR ReferencedDomainName,
2441 LPDWORD cchReferencedDomainName,
2442 PSID_NAME_USE peUse);
2443BOOL WINAPI LookupAccountSidW(LPCWSTR lpSystemName,
2444 PSID Sid,
2445 LPWSTR Name,
2446 LPDWORD cchName,
2447 LPWSTR ReferencedDomainName,
2448 LPDWORD cchReferencedDomainName,
2449 PSID_NAME_USE peUse);
2450#define LookupAccountSid WINELIB_NAME_AW(LookupAccountSid)
2451PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID pSid);
2452BOOL WINAPI LookupAccountNameA(LPCSTR lpSystemName,
2453 LPCSTR lpAccountName,
2454 PSID Sid,
2455 LPDWORD cbSid,
2456 LPTSTR ReferencedDomainName,
2457 LPDWORD cbReferencedDomainName,
2458 PSID_NAME_USE peUse);
2459BOOL WINAPI LookupAccountNameW(LPCWSTR lpSystemName,
2460 LPCWSTR lpAccountName,
2461 PSID Sid,
2462 LPDWORD cbSid,
2463 LPWSTR ReferencedDomainName,
2464 LPDWORD cbReferencedDomainName,
2465 PSID_NAME_USE peUse);
2466#define LookupAccountName WINELIB_NAME_AW(LookupAccountName)
2467BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR lpSystemName,
2468 LPCSTR lpName,
2469 LPTSTR lpDisplayName,
2470 LPDWORD cbDisplayName,
2471 LPDWORD lpLanguageId);
2472BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR lpSystemName,
2473 LPCWSTR lpName,
2474 LPWSTR lpDisplayName,
2475 LPDWORD cbDisplayName,
2476 LPDWORD lpLanguageId);
2477#define LookupPrivilegeDisplayName WINELIB_NAME_AW(LookupPrivilegeDisplayName)
2478BOOL WINAPI LookupPrivilegeNameA(LPCSTR lpSystemName,
2479 PLUID lpLuid,
2480 LPTSTR lpName,
2481 LPDWORD cbName);
2482BOOL WINAPI LookupPrivilegeNameW(LPCWSTR lpSystemName,
2483 PLUID lpLuid,
2484 LPWSTR lpName,
2485 LPDWORD cbName);
2486#define LookupPrivilegeName WINELIB_NAME_AW(LookupPrivilegeName)
2487BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
2488 PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
2489 LPDWORD lpdwAbsoluteSecurityDescriptorSize,
2490 PACL pDacl,
2491 LPDWORD lpdwDaclSize,
2492 PACL pSacl,
2493 LPDWORD lpdwSaclSize,
2494 PSID pOwner,
2495 LPDWORD lpdwOwnerSize,
2496 PSID pPrimaryGroup,
2497 LPDWORD lpdwPrimaryGroupSize);
2498VOID WINAPI MapGenericMask(LPDWORD AccessMask,
2499 PGENERIC_MAPPING GenericMapping);
2500BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR SubsystemName,
2501 LPVOID HandleId,
2502 BOOL GenerateOnClose);
2503BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR SubsystemName,
2504 LPVOID HandleId,
2505 BOOL GenerateOnClose);
2506#define ObjectCloseAuditAlarm WINELIB_NAME_AW(ObjectCloseAuditAlarm)
2507BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR SubsystemName,
2508 LPVOID HandleId,
2509 LPTSTR ObjectTypeName,
2510 LPTSTR ObjectName,
2511 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2512 HANDLE ClientToken,
2513 DWORD DesiredAccess,
2514 DWORD GrantedAccess,
2515 PPRIVILEGE_SET Privileges,
2516 BOOL ObjectCreation,
2517 BOOL AccessGranted,
2518 LPBOOL GenerateOnClose);
2519BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR SubsystemName,
2520 LPVOID HandleId,
2521 LPWSTR ObjectTypeName,
2522 LPWSTR ObjectName,
2523 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2524 HANDLE ClientToken,
2525 DWORD DesiredAccess,
2526 DWORD GrantedAccess,
2527 PPRIVILEGE_SET Privileges,
2528 BOOL ObjectCreation,
2529 BOOL AccessGranted,
2530 LPBOOL GenerateOnClose);
2531#define ObjectOpenAuditAlarm WINELIB_NAME_AW(ObjectOpenAuditAlarm)
2532BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR lpszSubsystem,
2533 LPVOID lpvHandleId,
2534 HANDLE hClientToken,
2535 DWORD dwDesiredAccess,
2536 PPRIVILEGE_SET pps,
2537 BOOL fAccessGranted);
2538BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR lpszSubsystem,
2539 LPVOID lpvHandleId,
2540 HANDLE hClientToken,
2541 DWORD dwDesiredAccess,
2542 PPRIVILEGE_SET pps,
2543 BOOL fAccessGranted);
2544#define ObjectPrivilegeAuditAlarm WINELIB_NAME_AW(ObjectPrivilegeAuditAlarm)
2545BOOL WINAPI PrivilegeCheck(HANDLE hClientToken,
2546 PPRIVILEGE_SET pps,
2547 LPBOOL lpfResult);
2548BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR lpszSubsystem,
2549 LPCSTR lpszService,
2550 HANDLE hClientToken,
2551 PPRIVILEGE_SET pps,
2552 BOOL fAccessGranted);
2553BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR lpszSubsystem,
2554 LPCWSTR lpszService,
2555 HANDLE hClientToken,
2556 PPRIVILEGE_SET pps,
2557 BOOL fAccessGranted);
2558#define PrivilegedServiceAuditAlarm WINELIB_NAME_AW(PrivilegedServiceAuditAlarm)
2559BOOL WINAPI SetAclInformation(PACL pAcl,
2560 LPVOID lpvAclInfo,
2561 DWORD cbAclInfo,
2562 ACL_INFORMATION_CLASS aclic);
2563BOOL WINAPI SetKernelObjectSecurity(HANDLE hObject,
2564 SECURITY_INFORMATION si,
2565 PSECURITY_DESCRIPTOR psd);
2566BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION si,
2567 PSECURITY_DESCRIPTOR psdSource,
2568 PSECURITY_DESCRIPTOR *lppsdTarget,
2569 PGENERIC_MAPPING pgm,
2570 HANDLE hClientToken);
2571
2572
2573HANDLE WINAPI CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
2574 DWORD nMaxInstances, DWORD nOutBufferSize,
2575 DWORD nInBufferSize, DWORD nDefaultTimeOut,
2576 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
2577HANDLE WINAPI CreateNamedPipeW(LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
2578 DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize,
2579 DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
2580#define CreateNamedPipe WINELIB_NAME_AW(CreateNamedPipe)
2581
2582BOOL WINAPI GetNamedPipeHandleStateA(HANDLE hNamedPipe, LPDWORD lpState,
2583 LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount,
2584 LPDWORD lpCollectDataTimeout, LPSTR lpUserName,
2585 DWORD nMaxUserNameSize);
2586BOOL WINAPI GetNamedPipeHandleStateW(HANDLE hNamedPipe,LPDWORD lpState, LPDWORD lpCurInstances,
2587 LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout,
2588 LPWSTR lpUserName, DWORD nMaxUserNameSize);
2589#define GetNamedPipeHandleState WINELIB_NAME_AW(GetNamedPipeHandleState)
2590
2591BOOL WINAPI CallNamedPipeA(LPCSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize,
2592 LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead,
2593 DWORD nTimeOut);
2594BOOL WINAPI CallNamedPipeW(LPCWSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize,
2595 LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead,
2596 DWORD nTimeOut);
2597#define CallNamedPipe WINELIB_NAME_AW(CallNamedPipe)
2598
2599
2600BOOL WINAPI WaitNamedPipeA(LPCSTR lpNamedPipeName, DWORD nTimeOut);
2601BOOL WINAPI WaitNamedPipeW(LPCWSTR lpNamedPipeName, DWORD nTimeOut);
2602
2603#define WaitNamedPipe WINELIB_NAME_AW(WaitNamedPipe)
2604
2605BOOL WINAPI CreatePipe(PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes,
2606 DWORD nSize);
2607BOOL WINAPI ConnectNamedPipe(HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped);
2608BOOL WINAPI DisconnectNamedPipe(HANDLE hNamedPipe);
2609BOOL WINAPI SetNamedPipeHandleState(HANDLE hNamedPipe, LPDWORD lpMode,
2610 LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout);
2611BOOL WINAPI GetNamedPipeInfo(HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutBufferSize,
2612 LPDWORD lpInBufferSize, LPDWORD lpMaxInstances);
2613BOOL WINAPI PeekNamedPipe(HANDLE hNamedPipe, LPVOID lpBuffer, DWORD nBufferSize,
2614 LPDWORD lpBytesRead, LPDWORD lpTotalBytesAvail,
2615 LPDWORD lpBytesLeftThisMessage);
2616BOOL WINAPI TransactNamedPipe(HANDLE hNamedPipe, LPVOID lpInBuffer, DWORD nInBufferSize,
2617 LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead,
2618 LPOVERLAPPED lpOverlapped);
2619
2620HANDLE WINAPI CreateMailslotA(LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout,
2621 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
2622HANDLE WINAPI CreateMailslotW(LPCWSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout,
2623 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
2624#define CreateMailslot WINELIB_NAME_AW(WaitNamedPipe)
2625
2626BOOL WINAPI GetMailslotInfo(HANDLE hMailslot, LPDWORD lpMaxMessageSize,
2627 LPDWORD lpNextSize, LPDWORD lpMessageCount,
2628 LPDWORD lpReadTimeout);
2629
2630BOOL WINAPI SetMailslotInfo(HANDLE hMailslot, DWORD lReadTimeout);
2631
2632/* undocumented functions */
2633
2634typedef struct tagSYSLEVEL
2635{
2636 CRITICAL_SECTION crst;
2637 INT level;
2638} SYSLEVEL;
2639
2640/* [GS]etProcessDword offsets */
2641#define GPD_APP_COMPAT_FLAGS (-56)
2642#define GPD_LOAD_DONE_EVENT (-52)
2643#define GPD_HINSTANCE16 (-48)
2644#define GPD_WINDOWS_VERSION (-44)
2645#define GPD_THDB (-40)
2646#define GPD_PDB (-36)
2647#define GPD_STARTF_SHELLDATA (-32)
2648#define GPD_STARTF_HOTKEY (-28)
2649#define GPD_STARTF_SHOWWINDOW (-24)
2650#define GPD_STARTF_SIZE (-20)
2651#define GPD_STARTF_POSITION (-16)
2652#define GPD_STARTF_FLAGS (-12)
2653#define GPD_PARENT (- 8)
2654#define GPD_FLAGS (- 4)
2655#define GPD_USERDATA ( 0)
2656
2657void WINAPI DisposeLZ32Handle(HANDLE);
2658HANDLE WINAPI DosFileHandleToWin32Handle(HFILE);
2659DWORD WINAPI GetProcessDword(DWORD,INT);
2660VOID WINAPI GetpWin16Lock(SYSLEVEL**);
2661DWORD WINAPI MapLS(LPCVOID);
2662DWORD WINAPI MapProcessHandle(HANDLE);
2663LPVOID WINAPI MapSL(DWORD);
2664VOID WINAPI ReleaseThunkLock(DWORD*);
2665VOID WINAPI RestoreThunkLock(DWORD);
2666void WINAPI SetProcessDword(DWORD,INT,DWORD);
2667VOID WINAPI UnMapLS(DWORD);
2668HFILE WINAPI Win32HandleToDosFileHandle(HANDLE);
2669VOID WINAPI _CheckNotSysLevel(SYSLEVEL *lock);
2670DWORD WINAPI _ConfirmWin16Lock(void);
2671DWORD WINAPI _ConfirmSysLevel(SYSLEVEL*);
2672VOID WINAPI _EnterSysLevel(SYSLEVEL*);
2673VOID WINAPI _LeaveSysLevel(SYSLEVEL*);
2674
2675#ifdef __WIN32OS2__
2676HANDLE WINAPI FindFirstVolumeA(LPTSTR lpszVolumeName, DWORD cchBufferLength);
2677HANDLE WINAPI FindFirstVolumeW(LPWSTR lpszVolumeName, DWORD cchBufferLength);
2678#define FindFirstVolume WINELIB_NAME_AW(FindFirstVolume)
2679
2680BOOL WINAPI FindNextVolumeA(HANDLE hFindVolume, LPTSTR lpszVolumeName,
2681 DWORD cchBufferLength);
2682BOOL WINAPI FindNextVolumeW(HANDLE hFindVolume, LPWSTR lpszVolumeName,
2683 DWORD cchBufferLength);
2684#define FindNextVolume WINELIB_NAME_AW(FindNextVolume)
2685
2686BOOL WINAPI FindVolumeClose(HANDLE hFindVolume);
2687
2688HANDLE WINAPI FindFirstVolumeMountPointA(LPTSTR lpszRootPathName,
2689 LPTSTR lpszVolumeMountPoint,
2690 DWORD cchBufferLength);
2691HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR lpszRootPathName,
2692 LPWSTR lpszVolumeMountPoint,
2693 DWORD cchBufferLength);
2694#define FindFirstVolumeMountPoint WINELIB_NAME_AW(FindFirstVolumeMountPoint)
2695
2696BOOL WINAPI FindNextVolumeMountPointA(HANDLE hFindVolumeMountPoint,
2697 LPTSTR lpszVolumeMountPoint,
2698 DWORD cchBufferLength);
2699BOOL WINAPI FindNextVolumeMountPointW(HANDLE hFindVolumeMountPoint,
2700 LPWSTR lpszVolumeMountPoint,
2701 DWORD cchBufferLength);
2702#define FindNextVolumeMountPoint WINELIB_NAME_AW(FindNextVolumeMountPoint)
2703
2704BOOL WINAPI FindVolumeMountPointClose(HANDLE hFindVolumeMountPoint);
2705
2706BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR lpszVolumeMountPoint,
2707 LPSTR lpszVolumeName,
2708 DWORD cchBufferLength);
2709BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR lpszVolumeMountPoint,
2710 LPWSTR lpszVolumeName,
2711 DWORD cchBufferLength);
2712#define GetVolumeNameForVolumeMountPoint WINELIB_NAME_AW(GetVolumeNameForVolumeMountPoint)
2713
2714BOOL WINAPI GetVolumePathNameA(LPCSTR,LPSTR,DWORD);
2715BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
2716#define GetVolumePathName WINELIB_NAME_AW(GetVolumePathName)
2717
2718#endif
2719
2720#ifdef __cplusplus
2721}
2722#endif
2723
2724#endif /* __WINE_WINBASE_H */
Note: See TracBrowser for help on using the repository browser.