VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/winbase.h@ 53201

最後變更 在這個檔案從53201是 53201,由 vboxsync 提交於 10 年 前

Devices/Main: vmsvga updates

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 126.1 KB
 
1/*
2 * Copyright (C) the Wine project
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#ifndef __WINE_WINBASE_H
20#define __WINE_WINBASE_H
21
22#include <winerror.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28#ifdef _KERNEL32_
29#define WINBASEAPI
30#else
31#define WINBASEAPI DECLSPEC_IMPORT
32#endif
33
34#ifdef _ADVAPI32_
35#define WINADVAPI
36#else
37#define WINADVAPI DECLSPEC_IMPORT
38#endif
39
40 /* Windows Exit Procedure flag values */
41#define WEP_FREE_DLL 0
42#define WEP_SYSTEM_EXIT 1
43
44typedef DWORD (CALLBACK *LPTHREAD_START_ROUTINE)(LPVOID);
45
46typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
47typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
48
49#define FIBER_FLAG_FLOAT_SWITCH 1
50
51typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
52typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
53typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
54
55typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
56typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
57typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
58
59#define CRITICAL_SECTION_NO_DEBUG_INFO RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO
60
61typedef RTL_SRWLOCK SRWLOCK;
62typedef PRTL_SRWLOCK PSRWLOCK;
63
64#define SRWLOCK_INIT RTL_SRWLOCK_INIT
65
66typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
67
68#define CONDITION_VARIABLE_INIT RTL_CONDITION_VARIABLE_INIT
69#define CONDITION_VARIABLE_LOCKMODE_SHARED RTL_CONDITION_VARIABLE_LOCKMODE_SHARED
70typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE;
71
72#define EXCEPTION_DEBUG_EVENT 1
73#define CREATE_THREAD_DEBUG_EVENT 2
74#define CREATE_PROCESS_DEBUG_EVENT 3
75#define EXIT_THREAD_DEBUG_EVENT 4
76#define EXIT_PROCESS_DEBUG_EVENT 5
77#define LOAD_DLL_DEBUG_EVENT 6
78#define UNLOAD_DLL_DEBUG_EVENT 7
79#define OUTPUT_DEBUG_STRING_EVENT 8
80#define RIP_EVENT 9
81
82typedef struct _EXCEPTION_DEBUG_INFO {
83 EXCEPTION_RECORD ExceptionRecord;
84 DWORD dwFirstChance;
85} EXCEPTION_DEBUG_INFO;
86
87typedef struct _CREATE_THREAD_DEBUG_INFO {
88 HANDLE hThread;
89 LPVOID lpThreadLocalBase;
90 LPTHREAD_START_ROUTINE lpStartAddress;
91} CREATE_THREAD_DEBUG_INFO;
92
93typedef struct _CREATE_PROCESS_DEBUG_INFO {
94 HANDLE hFile;
95 HANDLE hProcess;
96 HANDLE hThread;
97 LPVOID lpBaseOfImage;
98 DWORD dwDebugInfoFileOffset;
99 DWORD nDebugInfoSize;
100 LPVOID lpThreadLocalBase;
101 LPTHREAD_START_ROUTINE lpStartAddress;
102 LPVOID lpImageName;
103 WORD fUnicode;
104} CREATE_PROCESS_DEBUG_INFO;
105
106typedef struct _EXIT_THREAD_DEBUG_INFO {
107 DWORD dwExitCode;
108} EXIT_THREAD_DEBUG_INFO;
109
110typedef struct _EXIT_PROCESS_DEBUG_INFO {
111 DWORD dwExitCode;
112} EXIT_PROCESS_DEBUG_INFO;
113
114typedef struct _LOAD_DLL_DEBUG_INFO {
115 HANDLE hFile;
116 LPVOID lpBaseOfDll;
117 DWORD dwDebugInfoFileOffset;
118 DWORD nDebugInfoSize;
119 LPVOID lpImageName;
120 WORD fUnicode;
121} LOAD_DLL_DEBUG_INFO;
122
123typedef struct _UNLOAD_DLL_DEBUG_INFO {
124 LPVOID lpBaseOfDll;
125} UNLOAD_DLL_DEBUG_INFO;
126
127typedef struct _OUTPUT_DEBUG_STRING_INFO {
128 LPSTR lpDebugStringData;
129 WORD fUnicode;
130 WORD nDebugStringLength;
131} OUTPUT_DEBUG_STRING_INFO;
132
133typedef struct _RIP_INFO {
134 DWORD dwError;
135 DWORD dwType;
136} RIP_INFO;
137
138typedef struct _DEBUG_EVENT {
139 DWORD dwDebugEventCode;
140 DWORD dwProcessId;
141 DWORD dwThreadId;
142 union {
143 EXCEPTION_DEBUG_INFO Exception;
144 CREATE_THREAD_DEBUG_INFO CreateThread;
145 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
146 EXIT_THREAD_DEBUG_INFO ExitThread;
147 EXIT_PROCESS_DEBUG_INFO ExitProcess;
148 LOAD_DLL_DEBUG_INFO LoadDll;
149 UNLOAD_DLL_DEBUG_INFO UnloadDll;
150 OUTPUT_DEBUG_STRING_INFO DebugString;
151 RIP_INFO RipInfo;
152 } u;
153} DEBUG_EVENT, *LPDEBUG_EVENT;
154
155typedef PCONTEXT LPCONTEXT;
156typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
157typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
158
159typedef LONG (CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(PEXCEPTION_POINTERS);
160typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
161
162#define OFS_MAXPATHNAME 128
163typedef struct _OFSTRUCT
164{
165 BYTE cBytes;
166 BYTE fFixedDisk;
167 WORD nErrCode;
168 WORD Reserved1;
169 WORD Reserved2;
170 CHAR szPathName[OFS_MAXPATHNAME];
171} OFSTRUCT, *POFSTRUCT, *LPOFSTRUCT;
172
173#define OF_READ 0x0000
174#define OF_WRITE 0x0001
175#define OF_READWRITE 0x0002
176#define OF_SHARE_COMPAT 0x0000
177#define OF_SHARE_EXCLUSIVE 0x0010
178#define OF_SHARE_DENY_WRITE 0x0020
179#define OF_SHARE_DENY_READ 0x0030
180#define OF_SHARE_DENY_NONE 0x0040
181#define OF_PARSE 0x0100
182#define OF_DELETE 0x0200
183#define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
184#define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
185#define OF_CANCEL 0x0800
186#define OF_CREATE 0x1000
187#define OF_PROMPT 0x2000
188#define OF_EXIST 0x4000
189#define OF_REOPEN 0x8000
190
191/* SetErrorMode values */
192#define SEM_FAILCRITICALERRORS 0x0001
193#define SEM_NOGPFAULTERRORBOX 0x0002
194#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
195#define SEM_NOOPENFILEERRORBOX 0x8000
196
197/* CopyFileEx flags */
198#define COPY_FILE_FAIL_IF_EXISTS 0x00000001
199#define COPY_FILE_RESTARTABLE 0x00000002
200#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
201#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008
202#define COPY_FILE_COPY_SYMLINK 0x00000800
203#define COPY_FILE_NO_BUFFERING 0x00001000
204
205/* return values for CopyProgressRoutine */
206#define PROGRESS_CONTINUE 0
207#define PROGRESS_CANCEL 1
208#define PROGRESS_STOP 2
209#define PROGRESS_QUIET 3
210
211/* reason codes for CopyProgressRoutine */
212#define CALLBACK_CHUNK_FINISHED 0
213#define CALLBACK_STREAM_SWITCH 1
214
215/* GetTempFileName() Flags */
216#define TF_FORCEDRIVE 0x80
217
218#define DRIVE_UNKNOWN 0
219#define DRIVE_NO_ROOT_DIR 1
220#define DRIVE_REMOVABLE 2
221#define DRIVE_FIXED 3
222#define DRIVE_REMOTE 4
223/* Win32 additions */
224#define DRIVE_CDROM 5
225#define DRIVE_RAMDISK 6
226
227#define MAX_COMPUTERNAME_LENGTH 15
228
229/* The security attributes structure */
230typedef struct _SECURITY_ATTRIBUTES
231{
232 DWORD nLength;
233 LPVOID lpSecurityDescriptor;
234 BOOL bInheritHandle;
235} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
236
237#ifndef _FILETIME_
238#define _FILETIME_
239/* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
240typedef struct _FILETIME
241{
242#ifdef WORDS_BIGENDIAN
243 DWORD dwHighDateTime;
244 DWORD dwLowDateTime;
245#else
246 DWORD dwLowDateTime;
247 DWORD dwHighDateTime;
248#endif
249} FILETIME, *PFILETIME, *LPFILETIME;
250#endif /* _FILETIME_ */
251
252/* Find* structures */
253typedef struct _WIN32_FIND_DATAA
254{
255 DWORD dwFileAttributes;
256 FILETIME ftCreationTime;
257 FILETIME ftLastAccessTime;
258 FILETIME ftLastWriteTime;
259 DWORD nFileSizeHigh;
260 DWORD nFileSizeLow;
261 DWORD dwReserved0;
262 DWORD dwReserved1;
263 CHAR cFileName[260];
264 CHAR cAlternateFileName[14];
265} WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
266
267typedef struct _WIN32_FIND_DATAW
268{
269 DWORD dwFileAttributes;
270 FILETIME ftCreationTime;
271 FILETIME ftLastAccessTime;
272 FILETIME ftLastWriteTime;
273 DWORD nFileSizeHigh;
274 DWORD nFileSizeLow;
275 DWORD dwReserved0;
276 DWORD dwReserved1;
277 WCHAR cFileName[260];
278 WCHAR cAlternateFileName[14];
279} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
280
281DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)
282DECL_WINELIB_TYPE_AW(PWIN32_FIND_DATA)
283DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)
284
285typedef enum _FINDEX_INFO_LEVELS
286{
287 FindExInfoStandard,
288 FindExInfoMaxInfoLevel
289} FINDEX_INFO_LEVELS;
290
291typedef enum _FINDEX_SEARCH_OPS
292{
293 FindExSearchNameMatch,
294 FindExSearchLimitToDirectories,
295 FindExSearchLimitToDevices,
296 FindExSearchMaxSearchOp
297} FINDEX_SEARCH_OPS;
298
299typedef struct _PROCESS_HEAP_ENTRY
300{
301 LPVOID lpData;
302 DWORD cbData;
303 BYTE cbOverhead;
304 BYTE iRegionIndex;
305 WORD wFlags;
306 union {
307 struct {
308 HANDLE hMem;
309 DWORD dwReserved[3];
310 } Block;
311 struct {
312 DWORD dwCommittedSize;
313 DWORD dwUnCommittedSize;
314 LPVOID lpFirstBlock;
315 LPVOID lpLastBlock;
316 } Region;
317 } DUMMYUNIONNAME;
318} PROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY;
319
320#define PROCESS_HEAP_REGION 0x0001
321#define PROCESS_HEAP_UNCOMMITTED_RANGE 0x0002
322#define PROCESS_HEAP_ENTRY_BUSY 0x0004
323#define PROCESS_HEAP_ENTRY_MOVEABLE 0x0010
324#define PROCESS_HEAP_ENTRY_DDESHARE 0x0020
325
326#define INVALID_HANDLE_VALUE ((HANDLE)~(ULONG_PTR)0)
327#define INVALID_FILE_SIZE (~0u)
328#define INVALID_SET_FILE_POINTER (~0u)
329#define INVALID_FILE_ATTRIBUTES (~0u)
330
331#define LOCKFILE_FAIL_IMMEDIATELY 1
332#define LOCKFILE_EXCLUSIVE_LOCK 2
333
334#define FLS_OUT_OF_INDEXES (~0u)
335#define TLS_OUT_OF_INDEXES (~0u)
336
337#define SHUTDOWN_NORETRY 1
338
339/* comm */
340
341#define CBR_110 0xFF10
342#define CBR_300 0xFF11
343#define CBR_600 0xFF12
344#define CBR_1200 0xFF13
345#define CBR_2400 0xFF14
346#define CBR_4800 0xFF15
347#define CBR_9600 0xFF16
348#define CBR_14400 0xFF17
349#define CBR_19200 0xFF18
350#define CBR_38400 0xFF1B
351#define CBR_56000 0xFF1F
352#define CBR_57600 0xFF20
353#define CBR_115200 0xFF21
354#define CBR_128000 0xFF23
355#define CBR_256000 0xFF27
356
357#define NOPARITY 0
358#define ODDPARITY 1
359#define EVENPARITY 2
360#define MARKPARITY 3
361#define SPACEPARITY 4
362#define ONESTOPBIT 0
363#define ONE5STOPBITS 1
364#define TWOSTOPBITS 2
365
366#define IGNORE 0
367#define INFINITE 0xFFFFFFFF
368
369#define CE_RXOVER 0x0001
370#define CE_OVERRUN 0x0002
371#define CE_RXPARITY 0x0004
372#define CE_FRAME 0x0008
373#define CE_BREAK 0x0010
374#define CE_CTSTO 0x0020
375#define CE_DSRTO 0x0040
376#define CE_RLSDTO 0x0080
377#define CE_TXFULL 0x0100
378#define CE_PTO 0x0200
379#define CE_IOE 0x0400
380#define CE_DNS 0x0800
381#define CE_OOP 0x1000
382#define CE_MODE 0x8000
383
384#define IE_BADID -1
385#define IE_OPEN -2
386#define IE_NOPEN -3
387#define IE_MEMORY -4
388#define IE_DEFAULT -5
389#define IE_HARDWARE -10
390#define IE_BYTESIZE -11
391#define IE_BAUDRATE -12
392
393#define EV_RXCHAR 0x0001
394#define EV_RXFLAG 0x0002
395#define EV_TXEMPTY 0x0004
396#define EV_CTS 0x0008
397#define EV_DSR 0x0010
398#define EV_RLSD 0x0020
399#define EV_BREAK 0x0040
400#define EV_ERR 0x0080
401#define EV_RING 0x0100
402#define EV_PERR 0x0200
403#define EV_RX80FULL 0x0400
404#define EV_EVENT1 0x0800
405#define EV_EVENT2 0x1000
406
407#define SETXOFF 1
408#define SETXON 2
409#define SETRTS 3
410#define CLRRTS 4
411#define SETDTR 5
412#define CLRDTR 6
413#define RESETDEV 7
414#define SETBREAK 8
415#define CLRBREAK 9
416
417/* Purge functions for Comm Port */
418#define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the
419 comm port */
420#define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to
421 the comm port */
422#define PURGE_TXCLEAR 0x0004 /* Kill the transmit queue if there*/
423#define PURGE_RXCLEAR 0x0008 /* Kill the typeahead buffer if there*/
424
425
426/* Modem Status Flags */
427#define MS_CTS_ON ((DWORD)0x0010)
428#define MS_DSR_ON ((DWORD)0x0020)
429#define MS_RING_ON ((DWORD)0x0040)
430#define MS_RLSD_ON ((DWORD)0x0080)
431
432#define RTS_CONTROL_DISABLE 0
433#define RTS_CONTROL_ENABLE 1
434#define RTS_CONTROL_HANDSHAKE 2
435#define RTS_CONTROL_TOGGLE 3
436
437#define DTR_CONTROL_DISABLE 0
438#define DTR_CONTROL_ENABLE 1
439#define DTR_CONTROL_HANDSHAKE 2
440
441
442#define LMEM_FIXED 0
443#define LMEM_MOVEABLE 0x0002
444#define LMEM_NOCOMPACT 0x0010
445#define LMEM_NODISCARD 0x0020
446#define LMEM_ZEROINIT 0x0040
447#define LMEM_MODIFY 0x0080
448#define LMEM_DISCARDABLE 0x0F00
449#define LMEM_DISCARDED 0x4000
450#define LMEM_INVALID_HANDLE 0x8000
451#define LMEM_LOCKCOUNT 0x00FF
452
453#define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
454#define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
455
456#define NONZEROLHND (LMEM_MOVEABLE)
457#define NONZEROLPTR (LMEM_FIXED)
458
459#define LocalDiscard(h) (LocalReAlloc((h),0,LMEM_MOVEABLE))
460
461#define GMEM_FIXED 0x0000
462#define GMEM_MOVEABLE 0x0002
463#define GMEM_NOCOMPACT 0x0010
464#define GMEM_NODISCARD 0x0020
465#define GMEM_ZEROINIT 0x0040
466#define GMEM_MODIFY 0x0080
467#define GMEM_DISCARDABLE 0x0100
468#define GMEM_NOT_BANKED 0x1000
469#define GMEM_SHARE 0x2000
470#define GMEM_DDESHARE 0x2000
471#define GMEM_NOTIFY 0x4000
472#define GMEM_LOWER GMEM_NOT_BANKED
473#define GMEM_DISCARDED 0x4000
474#define GMEM_LOCKCOUNT 0x00ff
475#define GMEM_INVALID_HANDLE 0x8000
476
477#define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
478#define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
479
480#define GlobalLRUNewest(h) ((HANDLE)(h))
481#define GlobalLRUOldest(h) ((HANDLE)(h))
482#define GlobalDiscard(h) (GlobalReAlloc((h),0,GMEM_MOVEABLE))
483
484#define INVALID_ATOM ((ATOM)0)
485#define MAXINTATOM 0xc000
486#ifdef WINE_NO_UNICODE_MACROS /* force using a cast */
487#define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom)))
488#else
489#define MAKEINTATOM(atom) ((LPTSTR)((ULONG_PTR)((WORD)(atom))))
490#endif
491
492typedef struct tagMEMORYSTATUS
493{
494 DWORD dwLength;
495 DWORD dwMemoryLoad;
496 SIZE_T dwTotalPhys;
497 SIZE_T dwAvailPhys;
498 SIZE_T dwTotalPageFile;
499 SIZE_T dwAvailPageFile;
500 SIZE_T dwTotalVirtual;
501 SIZE_T dwAvailVirtual;
502} MEMORYSTATUS, *LPMEMORYSTATUS;
503
504#include <pshpack8.h>
505typedef struct tagMEMORYSTATUSEX {
506 DWORD dwLength;
507 DWORD dwMemoryLoad;
508 DWORDLONG DECLSPEC_ALIGN(8) ullTotalPhys;
509 DWORDLONG DECLSPEC_ALIGN(8) ullAvailPhys;
510 DWORDLONG DECLSPEC_ALIGN(8) ullTotalPageFile;
511 DWORDLONG DECLSPEC_ALIGN(8) ullAvailPageFile;
512 DWORDLONG DECLSPEC_ALIGN(8) ullTotalVirtual;
513 DWORDLONG DECLSPEC_ALIGN(8) ullAvailVirtual;
514 DWORDLONG DECLSPEC_ALIGN(8) ullAvailExtendedVirtual;
515} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
516#include <poppack.h>
517
518typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {
519 LowMemoryResourceNotification,
520 HighMemoryResourceNotification
521} MEMORY_RESOURCE_NOTIFICATION_TYPE;
522
523#ifndef _SYSTEMTIME_
524#define _SYSTEMTIME_
525typedef struct _SYSTEMTIME{
526 WORD wYear;
527 WORD wMonth;
528 WORD wDayOfWeek;
529 WORD wDay;
530 WORD wHour;
531 WORD wMinute;
532 WORD wSecond;
533 WORD wMilliseconds;
534} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
535#endif /* _SYSTEMTIME_ */
536
537/* The 'overlapped' data structure used by async I/O functions.
538 */
539typedef struct _OVERLAPPED {
540#ifdef WORDS_BIGENDIAN
541 ULONG_PTR InternalHigh;
542 ULONG_PTR Internal;
543#else
544 ULONG_PTR Internal;
545 ULONG_PTR InternalHigh;
546#endif
547 union {
548 struct {
549#ifdef WORDS_BIGENDIAN
550 DWORD OffsetHigh;
551 DWORD Offset;
552#else
553 DWORD Offset;
554 DWORD OffsetHigh;
555#endif
556 } DUMMYSTRUCTNAME;
557 PVOID Pointer;
558 } DUMMYUNIONNAME;
559 HANDLE hEvent;
560} OVERLAPPED, *LPOVERLAPPED;
561
562typedef VOID (CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
563
564/* Process startup information.
565 */
566
567/* STARTUPINFO.dwFlags */
568#define STARTF_USESHOWWINDOW 0x00000001
569#define STARTF_USESIZE 0x00000002
570#define STARTF_USEPOSITION 0x00000004
571#define STARTF_USECOUNTCHARS 0x00000008
572#define STARTF_USEFILLATTRIBUTE 0x00000010
573#define STARTF_RUNFULLSCREEN 0x00000020
574#define STARTF_FORCEONFEEDBACK 0x00000040
575#define STARTF_FORCEOFFFEEDBACK 0x00000080
576#define STARTF_USESTDHANDLES 0x00000100
577#define STARTF_USEHOTKEY 0x00000200
578
579typedef struct _STARTUPINFOA{
580 DWORD cb; /* 00: size of struct */
581 LPSTR lpReserved; /* 04: */
582 LPSTR lpDesktop; /* 08: */
583 LPSTR lpTitle; /* 0c: */
584 DWORD dwX; /* 10: */
585 DWORD dwY; /* 14: */
586 DWORD dwXSize; /* 18: */
587 DWORD dwYSize; /* 1c: */
588 DWORD dwXCountChars; /* 20: */
589 DWORD dwYCountChars; /* 24: */
590 DWORD dwFillAttribute; /* 28: */
591 DWORD dwFlags; /* 2c: */
592 WORD wShowWindow; /* 30: */
593 WORD cbReserved2; /* 32: */
594 BYTE *lpReserved2; /* 34: */
595 HANDLE hStdInput; /* 38: */
596 HANDLE hStdOutput; /* 3c: */
597 HANDLE hStdError; /* 40: */
598} STARTUPINFOA, *LPSTARTUPINFOA;
599
600typedef struct _STARTUPINFOW{
601 DWORD cb;
602 LPWSTR lpReserved;
603 LPWSTR lpDesktop;
604 LPWSTR lpTitle;
605 DWORD dwX;
606 DWORD dwY;
607 DWORD dwXSize;
608 DWORD dwYSize;
609 DWORD dwXCountChars;
610 DWORD dwYCountChars;
611 DWORD dwFillAttribute;
612 DWORD dwFlags;
613 WORD wShowWindow;
614 WORD cbReserved2;
615 BYTE *lpReserved2;
616 HANDLE hStdInput;
617 HANDLE hStdOutput;
618 HANDLE hStdError;
619} STARTUPINFOW, *LPSTARTUPINFOW;
620
621DECL_WINELIB_TYPE_AW(STARTUPINFO)
622DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
623
624typedef struct _PROCESS_INFORMATION{
625 HANDLE hProcess;
626 HANDLE hThread;
627 DWORD dwProcessId;
628 DWORD dwThreadId;
629} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
630
631typedef struct _TIME_DYNAMIC_ZONE_INFORMATION
632{
633 LONG Bias;
634 WCHAR StandardName[32];
635 SYSTEMTIME StandardDate;
636 LONG StandardBias;
637 WCHAR DaylightName[32];
638 SYSTEMTIME DaylightDate;
639 LONG DaylightBias;
640 WCHAR TimeZoneKeyName[128];
641 BOOLEAN DynamicDaylightTimeDisabled;
642} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION;
643
644typedef struct _TIME_ZONE_INFORMATION{
645 LONG Bias;
646 WCHAR StandardName[32];
647 SYSTEMTIME StandardDate;
648 LONG StandardBias;
649 WCHAR DaylightName[32];
650 SYSTEMTIME DaylightDate;
651 LONG DaylightBias;
652} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
653
654#define TIME_ZONE_ID_INVALID ((DWORD)0xFFFFFFFF)
655#define TIME_ZONE_ID_UNKNOWN 0
656#define TIME_ZONE_ID_STANDARD 1
657#define TIME_ZONE_ID_DAYLIGHT 2
658
659/* CreateProcess: dwCreationFlag values
660 */
661#define DEBUG_PROCESS 0x00000001
662#define DEBUG_ONLY_THIS_PROCESS 0x00000002
663#define CREATE_SUSPENDED 0x00000004
664#define DETACHED_PROCESS 0x00000008
665#define CREATE_NEW_CONSOLE 0x00000010
666#define NORMAL_PRIORITY_CLASS 0x00000020
667#define IDLE_PRIORITY_CLASS 0x00000040
668#define HIGH_PRIORITY_CLASS 0x00000080
669#define REALTIME_PRIORITY_CLASS 0x00000100
670#define BELOW_NORMAL_PRIORITY_CLASS 0x00004000
671#define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
672#define CREATE_NEW_PROCESS_GROUP 0x00000200
673#define CREATE_UNICODE_ENVIRONMENT 0x00000400
674#define CREATE_SEPARATE_WOW_VDM 0x00000800
675#define CREATE_SHARED_WOW_VDM 0x00001000
676#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
677#define CREATE_DEFAULT_ERROR_MODE 0x04000000
678#define CREATE_NO_WINDOW 0x08000000
679#define PROFILE_USER 0x10000000
680#define PROFILE_KERNEL 0x20000000
681#define PROFILE_SERVER 0x40000000
682
683
684/* File object type definitions
685 */
686#define FILE_TYPE_UNKNOWN 0
687#define FILE_TYPE_DISK 1
688#define FILE_TYPE_CHAR 2
689#define FILE_TYPE_PIPE 3
690#define FILE_TYPE_REMOTE 32768
691
692/* File encryption status
693 */
694#define FILE_ENCRYPTABLE 0
695#define FILE_IS_ENCRYPTED 1
696#define FILE_SYSTEM_ATTR 2
697#define FILE_ROOT_DIR 3
698#define FILE_SYSTEM_DIR 4
699#define FILE_UNKNOWN 5
700#define FILE_SYSTEM_NOT_SUPPORT 6
701#define FILE_USER_DISALLOWED 7
702#define FILE_READ_ONLY 8
703#define FILE_DIR_DISALOWED 9
704
705/* File creation flags
706 */
707#define FILE_FLAG_WRITE_THROUGH 0x80000000
708#define FILE_FLAG_OVERLAPPED 0x40000000
709#define FILE_FLAG_NO_BUFFERING 0x20000000
710#define FILE_FLAG_RANDOM_ACCESS 0x10000000
711#define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
712#define FILE_FLAG_DELETE_ON_CLOSE 0x04000000
713#define FILE_FLAG_BACKUP_SEMANTICS 0x02000000
714#define FILE_FLAG_POSIX_SEMANTICS 0x01000000
715#define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000
716#define FILE_FLAG_OPEN_NO_RECALL 0x00100000
717#define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
718
719#define CREATE_NEW 1
720#define CREATE_ALWAYS 2
721#define OPEN_EXISTING 3
722#define OPEN_ALWAYS 4
723#define TRUNCATE_EXISTING 5
724
725/* Standard handle identifiers
726 */
727#define STD_INPUT_HANDLE ((DWORD) -10)
728#define STD_OUTPUT_HANDLE ((DWORD) -11)
729#define STD_ERROR_HANDLE ((DWORD) -12)
730
731typedef struct _BY_HANDLE_FILE_INFORMATION
732{
733 DWORD dwFileAttributes;
734 FILETIME ftCreationTime;
735 FILETIME ftLastAccessTime;
736 FILETIME ftLastWriteTime;
737 DWORD dwVolumeSerialNumber;
738 DWORD nFileSizeHigh;
739 DWORD nFileSizeLow;
740 DWORD nNumberOfLinks;
741 DWORD nFileIndexHigh;
742 DWORD nFileIndexLow;
743} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION ;
744
745typedef enum _FILE_ID_TYPE {
746 FileIdType,
747 ObjectIdType,
748 ExtendedFileIdType,
749 MaximumFileIdType
750} FILE_ID_TYPE, *PFILE_ID_TYPE;
751
752typedef struct _FILE_ID_DESCRIPTOR {
753 DWORD dwSize;
754 FILE_ID_TYPE Type;
755 union {
756 LARGE_INTEGER FileId;
757 GUID ObjectId;
758 } DUMMYUNIONNAME;
759} FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR;
760
761typedef enum _FILE_INFO_BY_HANDLE_CLASS {
762 FileBasicInfo,
763 FileStandardInfo,
764 FileNameInfo,
765 FileRenameInfo,
766 FileDispositionInfo,
767 FileAllocationInfo,
768 FileEndOfFileInfo,
769 FileStreamInfo,
770 FileCompressionInfo,
771 FileAttributeTagInfo,
772 FileIdBothDirectoryInfo,
773 FileIdBothDirectoryRestartInfo,
774 FileIoPriorityHintInfo,
775 FileRemoteProtocolInfo,
776 FileFullDirectoryInfo,
777 FileFullDirectoryRestartInfo,
778 FileStorageInfo,
779 FileAlignmentInfo,
780 FileIdInfo,
781 FileIdExtdDirectoryInfo,
782 FileIdExtdDirectoryRestartInfo,
783 MaximumFileInfoByHandlesClass
784} FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
785
786typedef struct _FILE_ID_BOTH_DIR_INFO {
787 DWORD NextEntryOffset;
788 DWORD FileIndex;
789 LARGE_INTEGER CreationTime;
790 LARGE_INTEGER LastAccessTime;
791 LARGE_INTEGER LastWriteTime;
792 LARGE_INTEGER ChangeTime;
793 LARGE_INTEGER EndOfFile;
794 LARGE_INTEGER AllocationSize;
795 DWORD FileAttributes;
796 DWORD FileNameLength;
797 DWORD EaSize;
798 CCHAR ShortNameLength;
799 WCHAR ShortName[12];
800 LARGE_INTEGER FileId;
801 WCHAR FileName[1];
802} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;
803
804#define PIPE_ACCESS_INBOUND 1
805#define PIPE_ACCESS_OUTBOUND 2
806#define PIPE_ACCESS_DUPLEX 3
807
808#define PIPE_CLIENT_END 0
809#define PIPE_SERVER_END 1
810#define PIPE_READMODE_BYTE 0
811#define PIPE_READMODE_MESSAGE 2
812#define PIPE_TYPE_BYTE 0
813#define PIPE_TYPE_MESSAGE 4
814
815#define PIPE_WAIT 0
816#define PIPE_NOWAIT 1
817
818#define PIPE_UNLIMITED_INSTANCES 255
819
820#define NMPWAIT_WAIT_FOREVER 0xffffffff
821#define NMPWAIT_NOWAIT 0x00000001
822#define NMPWAIT_USE_DEFAULT_WAIT 0x00000000
823
824/* Security flags for dwFlagsAndAttributes of CreateFile */
825#define SECURITY_ANONYMOUS (SecurityAnonymous << 16)
826#define SECURITY_IDENTIFICATION (SecurityIdentification << 16)
827#define SECURITY_IMPERSONATION (SecurityImpersonation << 16)
828#define SECURITY_DELEGATION (SecurityDelegation << 16)
829
830#define SECURITY_CONTEXT_TRACKING 0x00040000
831#define SECURITY_EFFECTIVE_ONLY 0x00080000
832
833#define SECURITY_SQOS_PRESENT 0x00100000
834#define SECURITY_VALID_SQOS_FLAGS 0x001f0000
835
836typedef struct _SYSTEM_POWER_STATUS
837{
838 BYTE ACLineStatus;
839 BYTE BatteryFlag;
840 BYTE BatteryLifePercent;
841 BYTE Reserved1;
842 DWORD BatteryLifeTime;
843 DWORD BatteryFullLifeTime;
844} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
845
846
847typedef struct _SYSTEM_INFO
848{
849 union {
850 DWORD dwOemId; /* Obsolete field - do not use */
851 struct {
852 WORD wProcessorArchitecture;
853 WORD wReserved;
854 } DUMMYSTRUCTNAME;
855 } DUMMYUNIONNAME;
856 DWORD dwPageSize;
857 LPVOID lpMinimumApplicationAddress;
858 LPVOID lpMaximumApplicationAddress;
859 DWORD_PTR dwActiveProcessorMask;
860 DWORD dwNumberOfProcessors;
861 DWORD dwProcessorType;
862 DWORD dwAllocationGranularity;
863 WORD wProcessorLevel;
864 WORD wProcessorRevision;
865} SYSTEM_INFO, *LPSYSTEM_INFO;
866
867typedef BOOL (CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG_PTR);
868typedef BOOL (CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG_PTR);
869typedef BOOL (CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG_PTR);
870typedef BOOL (CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG_PTR);
871typedef BOOL (CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG_PTR);
872typedef BOOL (CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG_PTR);
873
874DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
875DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
876DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
877
878/* flags that can be passed to LoadLibraryEx */
879#define DONT_RESOLVE_DLL_REFERENCES 0x00000001
880#define LOAD_LIBRARY_AS_DATAFILE 0x00000002
881#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
882#define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
883#define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x00000020
884#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x00000040
885#define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET 0x00000080
886
887#define GET_MODULE_HANDLE_EX_FLAG_PIN 1
888#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 2
889#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 4
890
891typedef PLDT_ENTRY LPLDT_ENTRY;
892
893typedef enum _GET_FILEEX_INFO_LEVELS {
894 GetFileExInfoStandard
895} GET_FILEEX_INFO_LEVELS;
896
897typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
898 DWORD dwFileAttributes;
899 FILETIME ftCreationTime;
900 FILETIME ftLastAccessTime;
901 FILETIME ftLastWriteTime;
902 DWORD nFileSizeHigh;
903 DWORD nFileSizeLow;
904} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
905
906/*
907 * This one seems to be a Win32 only definition. It also is defined with
908 * WINAPI instead of CALLBACK in the windows headers.
909 */
910typedef DWORD (CALLBACK *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
911 LARGE_INTEGER, DWORD, DWORD, HANDLE,
912 HANDLE, LPVOID);
913
914typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID);
915
916typedef enum _COPYFILE2_MESSAGE_TYPE
917{
918 COPYFILE2_CALLBACK_NONE = 0,
919 COPYFILE2_CALLBACK_CHUNK_STARTED,
920 COPYFILE2_CALLBACK_CHUNK_FINISHED,
921 COPYFILE2_CALLBACK_STREAM_STARTED,
922 COPYFILE2_CALLBACK_STREAM_FINISHED,
923 COPYFILE2_CALLBACK_POLL_CONTINUE,
924 COPYFILE2_CALLBACK_ERROR,
925 COPYFILE2_CALLBACK_MAX,
926} COPYFILE2_MESSAGE_TYPE;
927
928typedef enum _COPYFILE2_MESSAGE_ACTION
929{
930 COPYFILE2_PROGRESS_CONTINUE = 0,
931 COPYFILE2_PROGRESS_CANCEL,
932 COPYFILE2_PROGRESS_STOP,
933 COPYFILE2_PROGRESS_QUIET,
934 COPYFILE2_PROGRESS_PAUSE,
935} COPYFILE2_MESSAGE_ACTION;
936
937typedef enum _COPYFILE2_COPY_PHASE
938{
939 COPYFILE2_PHASE_NONE = 0,
940 COPYFILE2_PHASE_PREPARE_SOURCE,
941 COPYFILE2_PHASE_PREPARE_DEST,
942 COPYFILE2_PHASE_READ_SOURCE,
943 COPYFILE2_PHASE_WRITE_DESTINATION,
944 COPYFILE2_PHASE_SERVER_COPY,
945 COPYFILE2_PHASE_NAMEGRAFT_COPY,
946 COPYFILE2_PHASE_MAX,
947} COPYFILE2_COPY_PHASE;
948
949typedef struct COPYFILE2_MESSAGE
950{
951 COPYFILE2_MESSAGE_TYPE Type;
952 DWORD dwPadding;
953 union
954 {
955 struct
956 {
957 DWORD dwStreamNumber;
958 DWORD dwReserved;
959 HANDLE hSourceFile;
960 HANDLE hDestinationFile;
961 ULARGE_INTEGER uliChunkNumber;
962 ULARGE_INTEGER uliChunkSize;
963 ULARGE_INTEGER uliStreamSize;
964 ULARGE_INTEGER uliTotalFileSize;
965 } ChunkStarted;
966 struct
967 {
968 DWORD dwStreamNumber;
969 DWORD dwFlags;
970 HANDLE hSourceFile;
971 HANDLE hDestinationFile;
972 ULARGE_INTEGER uliChunkNumber;
973 ULARGE_INTEGER uliChunkSize;
974 ULARGE_INTEGER uliStreamSize;
975 ULARGE_INTEGER uliStreamBytesTransferred;
976 ULARGE_INTEGER uliTotalFileSize;
977 ULARGE_INTEGER uliTotalBytesTransferred;
978 } ChunkFinished;
979 struct
980 {
981 DWORD dwStreamNumber;
982 DWORD dwReserved;
983 HANDLE hSourceFile;
984 HANDLE hDestinationFile;
985 ULARGE_INTEGER uliStreamSize;
986 ULARGE_INTEGER uliTotalFileSize;
987 } StreamStarted;
988 struct
989 {
990 DWORD dwStreamNumber;
991 DWORD dwReserved;
992 HANDLE hSourceFile;
993 HANDLE hDestinationFile;
994 ULARGE_INTEGER uliStreamSize;
995 ULARGE_INTEGER uliStreamBytesTransferred;
996 ULARGE_INTEGER uliTotalFileSize;
997 ULARGE_INTEGER uliTotalBytesTransferred;
998 } StreamFinished;
999 struct
1000 {
1001 DWORD dwReserved;
1002 } PollContinue;
1003 struct
1004 {
1005 COPYFILE2_COPY_PHASE CopyPhase;
1006 DWORD dwStreamNumber;
1007 HRESULT hrFailure;
1008 DWORD dwReserved;
1009 ULARGE_INTEGER uliChunkNumber;
1010 ULARGE_INTEGER uliStreamSize;
1011 ULARGE_INTEGER uliStreamBytesTransferred;
1012 ULARGE_INTEGER uliTotalFileSize;
1013 ULARGE_INTEGER uliTotalBytesTransferred;
1014 } Error;
1015 } Info;
1016} COPYFILE2_MESSAGE;
1017
1018typedef COPYFILE2_MESSAGE_ACTION (CALLBACK *PCOPYFILE2_PROGRESS_ROUTINE)(const COPYFILE2_MESSAGE*,PVOID);
1019
1020typedef struct COPYFILE2_EXTENDED_PARAMETERS
1021{
1022 DWORD dwSize;
1023 DWORD dwCopyFlags;
1024 BOOL *pfCancel;
1025 PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
1026 PVOID pvCallbackContext;
1027} COPYFILE2_EXTENDED_PARAMETERS;
1028
1029#define CREATE_EVENT_MANUAL_RESET 1
1030#define CREATE_EVENT_INITIAL_SET 2
1031
1032#define CREATE_MUTEX_INITIAL_OWNER 1
1033
1034#define CREATE_WAITABLE_TIMER_MANUAL_RESET 1
1035
1036#define WAIT_FAILED 0xffffffff
1037#define WAIT_OBJECT_0 0
1038#define WAIT_ABANDONED STATUS_ABANDONED_WAIT_0
1039#define WAIT_ABANDONED_0 STATUS_ABANDONED_WAIT_0
1040#define WAIT_IO_COMPLETION STATUS_USER_APC
1041#define WAIT_TIMEOUT STATUS_TIMEOUT
1042#define STILL_ACTIVE STATUS_PENDING
1043
1044#define FILE_BEGIN 0
1045#define FILE_CURRENT 1
1046#define FILE_END 2
1047
1048#define FILE_MAP_COPY 0x00000001
1049#define FILE_MAP_WRITE 0x00000002
1050#define FILE_MAP_READ 0x00000004
1051#define FILE_MAP_ALL_ACCESS 0x000f001f
1052#define FILE_MAP_EXECUTE 0x00000020
1053
1054#define MOVEFILE_REPLACE_EXISTING 0x00000001
1055#define MOVEFILE_COPY_ALLOWED 0x00000002
1056#define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004
1057#define MOVEFILE_WRITE_THROUGH 0x00000008
1058
1059#define REPLACEFILE_WRITE_THROUGH 0x00000001
1060#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
1061
1062#define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH
1063#define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES
1064#define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK
1065#define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS
1066#define FS_VOL_IS_COMPRESSED FILE_VOLUME_IS_COMPRESSED
1067#define FS_FILE_COMPRESSION FILE_FILE_COMPRESSION
1068
1069#define MUTEX_MODIFY_STATE MUTANT_QUERY_STATE
1070#define MUTEX_ALL_ACCESS MUTANT_ALL_ACCESS
1071
1072#define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
1073#define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
1074#define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
1075#define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
1076#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
1077#define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
1078#define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
1079#define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
1080#define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
1081#define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
1082#define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
1083#define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
1084#define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
1085#define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
1086#define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
1087#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
1088#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
1089#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
1090#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
1091#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
1092#define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
1093#define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
1094#define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
1095
1096#define HANDLE_FLAG_INHERIT 0x00000001
1097#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x00000002
1098
1099#define HINSTANCE_ERROR 32
1100
1101#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
1102#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
1103#define THREAD_PRIORITY_NORMAL 0
1104#define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
1105#define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
1106#define THREAD_PRIORITY_ERROR_RETURN (0x7fffffff)
1107#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
1108#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
1109
1110/* flags to FormatMessage */
1111#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
1112#define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
1113#define FORMAT_MESSAGE_FROM_STRING 0x00000400
1114#define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
1115#define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
1116#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
1117#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
1118
1119/* flags to ACTCTX[AW] */
1120#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID (0x00000001)
1121#define ACTCTX_FLAG_LANGID_VALID (0x00000002)
1122#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID (0x00000004)
1123#define ACTCTX_FLAG_RESOURCE_NAME_VALID (0x00000008)
1124#define ACTCTX_FLAG_SET_PROCESS_DEFAULT (0x00000010)
1125#define ACTCTX_FLAG_APPLICATION_NAME_VALID (0x00000020)
1126#define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF (0x00000040)
1127#define ACTCTX_FLAG_HMODULE_VALID (0x00000080)
1128
1129/* flags to DeactiveActCtx */
1130#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x00000001)
1131
1132/* flags to FindActCtxSection{Guid,String[AW]} */
1133#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX (0x00000001)
1134#define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS (0x00000002)
1135#define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA (0x00000004)
1136
1137/* flags to QueryActCtxW */
1138#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX (0x00000004)
1139#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE (0x00000008)
1140#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS (0x00000010)
1141#define QUERY_ACTCTX_FLAG_NO_ADDREF (0x80000000)
1142
1143typedef struct tagACTCTXA {
1144 ULONG cbSize;
1145 DWORD dwFlags;
1146 LPCSTR lpSource;
1147 USHORT wProcessorArchitecture;
1148 LANGID wLangId;
1149 LPCSTR lpAssemblyDirectory;
1150 LPCSTR lpResourceName;
1151 LPCSTR lpApplicationName;
1152 HMODULE hModule;
1153} ACTCTXA, *PACTCTXA;
1154
1155typedef struct tagACTCTXW {
1156 ULONG cbSize;
1157 DWORD dwFlags;
1158 LPCWSTR lpSource;
1159 USHORT wProcessorArchitecture;
1160 LANGID wLangId;
1161 LPCWSTR lpAssemblyDirectory;
1162 LPCWSTR lpResourceName;
1163 LPCWSTR lpApplicationName;
1164 HMODULE hModule;
1165} ACTCTXW, *PACTCTXW;
1166
1167DECL_WINELIB_TYPE_AW(ACTCTX)
1168DECL_WINELIB_TYPE_AW(PACTCTX)
1169
1170typedef const ACTCTXA *PCACTCTXA;
1171typedef const ACTCTXW *PCACTCTXW;
1172DECL_WINELIB_TYPE_AW(PCACTCTX)
1173
1174typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
1175 ULONG cbSize;
1176 ULONG ulDataFormatVersion;
1177 PVOID lpData;
1178 ULONG ulLength;
1179 PVOID lpSectionGlobalData;
1180 ULONG ulSectionGlobalDataLength;
1181 PVOID lpSectionBase;
1182 ULONG ulSectionTotalLength;
1183 HANDLE hActCtx;
1184 ULONG ulAssemblyRosterIndex;
1185} ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
1186typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
1187
1188typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
1189 PVOID lpInformation;
1190 PVOID lpSectionBase;
1191 ULONG ulSectionLength;
1192 PVOID lpSectionGlobalDataBase;
1193 ULONG ulSectionGlobalDataLength;
1194} ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1195typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1196
1197typedef struct tagACTCTX_SECTION_KEYED_DATA {
1198 ULONG cbSize;
1199 ULONG ulDataFormatVersion;
1200 PVOID lpData;
1201 ULONG ulLength;
1202 PVOID lpSectionGlobalData;
1203 ULONG ulSectionGlobalDataLength;
1204 PVOID lpSectionBase;
1205 ULONG ulSectionTotalLength;
1206 HANDLE hActCtx;
1207 ULONG ulAssemblyRosterIndex;
1208
1209 /* Non 2600 extra fields */
1210 ULONG ulFlags;
1211 ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
1212} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
1213typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
1214
1215typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
1216 HANDLE hActCtx;
1217 DWORD dwFlags;
1218} ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
1219
1220typedef BOOL (WINAPI *PQUERYACTCTXW_FUNC)(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T *);
1221
1222typedef struct tagCOMSTAT
1223{
1224 DWORD fCtsHold : 1;
1225 DWORD fDsrHold : 1;
1226 DWORD fRlsdHold : 1;
1227 DWORD fXoffHold : 1;
1228 DWORD fXoffSent : 1;
1229 DWORD fEof : 1;
1230 DWORD fTxim : 1;
1231 DWORD fReserved : 25;
1232 DWORD cbInQue;
1233 DWORD cbOutQue;
1234} COMSTAT, *LPCOMSTAT;
1235
1236typedef struct tagDCB
1237{
1238 DWORD DCBlength;
1239 DWORD BaudRate;
1240 unsigned fBinary :1;
1241 unsigned fParity :1;
1242 unsigned fOutxCtsFlow :1;
1243 unsigned fOutxDsrFlow :1;
1244 unsigned fDtrControl :2;
1245 unsigned fDsrSensitivity :1;
1246 unsigned fTXContinueOnXoff :1;
1247 unsigned fOutX :1;
1248 unsigned fInX :1;
1249 unsigned fErrorChar :1;
1250 unsigned fNull :1;
1251 unsigned fRtsControl :2;
1252 unsigned fAbortOnError :1;
1253 unsigned fDummy2 :17;
1254 WORD wReserved;
1255 WORD XonLim;
1256 WORD XoffLim;
1257 BYTE ByteSize;
1258 BYTE Parity;
1259 BYTE StopBits;
1260 char XonChar;
1261 char XoffChar;
1262 char ErrorChar;
1263 char EofChar;
1264 char EvtChar;
1265 WORD wReserved1;
1266} DCB, *LPDCB;
1267
1268typedef struct tagCOMMCONFIG {
1269 DWORD dwSize;
1270 WORD wVersion;
1271 WORD wReserved;
1272 DCB dcb;
1273 DWORD dwProviderSubType;
1274 DWORD dwProviderOffset;
1275 DWORD dwProviderSize;
1276 DWORD wcProviderData[1];
1277} COMMCONFIG, *LPCOMMCONFIG;
1278
1279typedef struct tagCOMMPROP {
1280 WORD wPacketLength;
1281 WORD wPacketVersion;
1282 DWORD dwServiceMask;
1283 DWORD dwReserved1;
1284 DWORD dwMaxTxQueue;
1285 DWORD dwMaxRxQueue;
1286 DWORD dwMaxBaud;
1287 DWORD dwProvSubType;
1288 DWORD dwProvCapabilities;
1289 DWORD dwSettableParams;
1290 DWORD dwSettableBaud;
1291 WORD wSettableData;
1292 WORD wSettableStopParity;
1293 DWORD dwCurrentTxQueue;
1294 DWORD dwCurrentRxQueue;
1295 DWORD dwProvSpec1;
1296 DWORD dwProvSpec2;
1297 WCHAR wcProvChar[1];
1298} COMMPROP, *LPCOMMPROP;
1299
1300#define SP_SERIALCOMM ((DWORD)1)
1301
1302#define BAUD_075 ((DWORD)0x01)
1303#define BAUD_110 ((DWORD)0x02)
1304#define BAUD_134_5 ((DWORD)0x04)
1305#define BAUD_150 ((DWORD)0x08)
1306#define BAUD_300 ((DWORD)0x10)
1307#define BAUD_600 ((DWORD)0x20)
1308#define BAUD_1200 ((DWORD)0x40)
1309#define BAUD_1800 ((DWORD)0x80)
1310#define BAUD_2400 ((DWORD)0x100)
1311#define BAUD_4800 ((DWORD)0x200)
1312#define BAUD_7200 ((DWORD)0x400)
1313#define BAUD_9600 ((DWORD)0x800)
1314#define BAUD_14400 ((DWORD)0x1000)
1315#define BAUD_19200 ((DWORD)0x2000)
1316#define BAUD_38400 ((DWORD)0x4000)
1317#define BAUD_56K ((DWORD)0x8000)
1318#define BAUD_57600 ((DWORD)0x40000)
1319#define BAUD_115200 ((DWORD)0x20000)
1320#define BAUD_128K ((DWORD)0x10000)
1321#define BAUD_USER ((DWORD)0x10000000)
1322
1323#define PST_FAX ((DWORD)0x21)
1324#define PST_LAT ((DWORD)0x101)
1325#define PST_MODEM ((DWORD)0x06)
1326#define PST_NETWORK_BRIDGE ((DWORD)0x100)
1327#define PST_PARALLELPORT ((DWORD)0x02)
1328#define PST_RS232 ((DWORD)0x01)
1329#define PST_RS442 ((DWORD)0x03)
1330#define PST_RS423 ((DWORD)0x04)
1331#define PST_RS449 ((DWORD)0x06)
1332#define PST_SCANNER ((DWORD)0x22)
1333#define PST_TCPIP_TELNET ((DWORD)0x102)
1334#define PST_UNSPECIFIED ((DWORD)0x00)
1335#define PST_X25 ((DWORD)0x103)
1336
1337#define PCF_16BITMODE ((DWORD)0x200)
1338#define PCF_DTRDSR ((DWORD)0x01)
1339#define PCF_INTTIMEOUTS ((DWORD)0x80)
1340#define PCF_PARITY_CHECK ((DWORD)0x08)
1341#define PCF_RLSD ((DWORD)0x04)
1342#define PCF_RTSCTS ((DWORD)0x02)
1343#define PCF_SETXCHAR ((DWORD)0x20)
1344#define PCF_SPECIALCHARS ((DWORD)0x100)
1345#define PCF_TOTALTIMEOUTS ((DWORD)0x40)
1346#define PCF_XONXOFF ((DWORD)0x10)
1347
1348#define SP_BAUD ((DWORD)0x02)
1349#define SP_DATABITS ((DWORD)0x04)
1350#define SP_HANDSHAKING ((DWORD)0x10)
1351#define SP_PARITY ((DWORD)0x01)
1352#define SP_PARITY_CHECK ((DWORD)0x20)
1353#define SP_RLSD ((DWORD)0x40)
1354#define SP_STOPBITS ((DWORD)0x08)
1355
1356#define DATABITS_5 ((DWORD)0x01)
1357#define DATABITS_6 ((DWORD)0x02)
1358#define DATABITS_7 ((DWORD)0x04)
1359#define DATABITS_8 ((DWORD)0x08)
1360#define DATABITS_16 ((DWORD)0x10)
1361#define DATABITS_16X ((DWORD)0x20)
1362
1363#define STOPBITS_10 ((DWORD)1)
1364#define STOPBITS_15 ((DWORD)2)
1365#define STOPBITS_20 ((DWORD)4)
1366
1367#define PARITY_NONE ((DWORD)0x100)
1368#define PARITY_ODD ((DWORD)0x200)
1369#define PARITY_EVEN ((DWORD)0x400)
1370#define PARITY_MARK ((DWORD)0x800)
1371#define PARITY_SPACE ((DWORD)0x1000)
1372
1373typedef struct tagCOMMTIMEOUTS {
1374 DWORD ReadIntervalTimeout;
1375 DWORD ReadTotalTimeoutMultiplier;
1376 DWORD ReadTotalTimeoutConstant;
1377 DWORD WriteTotalTimeoutMultiplier;
1378 DWORD WriteTotalTimeoutConstant;
1379} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
1380
1381#define GET_TAPE_MEDIA_INFORMATION 0
1382#define GET_TAPE_DRIVE_INFORMATION 1
1383#define SET_TAPE_MEDIA_INFORMATION 0
1384#define SET_TAPE_DRIVE_INFORMATION 1
1385
1386#define PROCESS_NAME_NATIVE 1
1387
1388typedef void (CALLBACK *PAPCFUNC)(ULONG_PTR);
1389typedef void (CALLBACK *PTIMERAPCROUTINE)(LPVOID,DWORD,DWORD);
1390
1391typedef enum _COMPUTER_NAME_FORMAT
1392{
1393 ComputerNameNetBIOS,
1394 ComputerNameDnsHostname,
1395 ComputerNameDnsDomain,
1396 ComputerNameDnsFullyQualified,
1397 ComputerNamePhysicalNetBIOS,
1398 ComputerNamePhysicalDnsHostname,
1399 ComputerNamePhysicalDnsDomain,
1400 ComputerNamePhysicalDnsFullyQualified,
1401 ComputerNameMax
1402} COMPUTER_NAME_FORMAT;
1403
1404#define HW_PROFILE_GUIDLEN 39
1405#define MAX_PROFILE_LEN 80
1406
1407#define DOCKINFO_UNDOCKED 0x1
1408#define DOCKINFO_DOCKED 0x2
1409#define DOCKINFO_USER_SUPPLIED 0x4
1410#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED)
1411#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED)
1412
1413typedef struct tagHW_PROFILE_INFOA {
1414 DWORD dwDockInfo;
1415 CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
1416 CHAR szHwProfileName[MAX_PROFILE_LEN];
1417} HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
1418
1419typedef struct tagHW_PROFILE_INFOW {
1420 DWORD dwDockInfo;
1421 WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
1422 WCHAR szHwProfileName[MAX_PROFILE_LEN];
1423} HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
1424
1425DECL_WINELIB_TYPE_AW(HW_PROFILE_INFO)
1426DECL_WINELIB_TYPE_AW(LPHW_PROFILE_INFO)
1427
1428typedef enum _DEP_SYSTEM_POLICY_TYPE {
1429 AlwaysOff = 0,
1430 AlwaysOn = 1,
1431 OptIn = 2,
1432 OptOut = 3
1433} DEP_SYSTEM_POLICY_TYPE;
1434
1435/* Event Logging */
1436
1437#define EVENTLOG_FULL_INFO 0
1438
1439typedef struct _EVENTLOG_FULL_INFORMATION {
1440 DWORD dwFull;
1441} EVENTLOG_FULL_INFORMATION, *LPEVENTLOG_FULL_INFORMATION;
1442
1443
1444/* Stream data structures and defines */
1445/*the types of backup data -- WIN32_STREAM_ID.dwStreamId below*/
1446#define BACKUP_INVALID 0
1447#define BACKUP_DATA 1
1448#define BACKUP_EA_DATA 2
1449#define BACKUP_SECURITY_DATA 3
1450#define BACKUP_ALTERNATE_DATA 4
1451#define BACKUP_LINK 5
1452#define BACKUP_PROPERTY_DATA 6
1453#define BACKUP_OBJECT_ID 7
1454#define BACKUP_REPARSE_DATA 8
1455#define BACKUP_SPARSE_BLOCK 9
1456
1457/*flags for WIN32_STREAM_ID.dwStreamAttributes below*/
1458#define STREAM_NORMAL_ATTRIBUTE 0
1459#define STREAM_MODIFIED_WHEN_READ 1
1460#define STREAM_CONTAINS_SECURITY 2
1461#define STREAM_CONTAINS_PROPERTIES 4
1462#define STREAM_SPARSE_ATTRIBUTE 8
1463
1464#include <pshpack8.h>
1465typedef struct _WIN32_STREAM_ID {
1466 DWORD dwStreamId;
1467 DWORD dwStreamAttributes;
1468 LARGE_INTEGER DECLSPEC_ALIGN(8) Size;
1469 DWORD dwStreamNameSize;
1470 WCHAR cStreamName[ANYSIZE_ARRAY];
1471} WIN32_STREAM_ID, *LPWIN32_STREAM_ID;
1472#include <poppack.h>
1473
1474
1475/* GetBinaryType return values.
1476 */
1477
1478#define SCS_32BIT_BINARY 0
1479#define SCS_DOS_BINARY 1
1480#define SCS_WOW_BINARY 2
1481#define SCS_PIF_BINARY 3
1482#define SCS_POSIX_BINARY 4
1483#define SCS_OS216_BINARY 5
1484#define SCS_64BIT_BINARY 6
1485
1486/* flags for DefineDosDevice */
1487#define DDD_RAW_TARGET_PATH 0x00000001
1488#define DDD_REMOVE_DEFINITION 0x00000002
1489#define DDD_EXACT_MATCH_ON_REMOVE 0x00000004
1490#define DDD_NO_BROADCAST_SYSTEM 0x00000008
1491#define DDD_LUID_BROADCAST_DRIVE 0x00000010
1492
1493#define LOGON_WITH_PROFILE 0x00000001
1494#define LOGON_NETCREDENTIALS_ONLY 0x00000002
1495#define LOGON_ZERO_PASSWORD_BUFFER 0x80000000
1496
1497/* one-time initialisation API */
1498typedef RTL_RUN_ONCE INIT_ONCE;
1499typedef PRTL_RUN_ONCE PINIT_ONCE;
1500typedef PRTL_RUN_ONCE LPINIT_ONCE;
1501#define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT
1502#define INIT_ONCE_CHECK_ONLY RTL_RUN_ONCE_CHECK_ONLY
1503#define INIT_ONCE_ASYNC RTL_RUN_ONCE_ASYNC
1504#define INIT_ONCE_INIT_FAILED RTL_RUN_ONCE_INIT_FAILED
1505/* initialization callback prototype */
1506typedef BOOL (WINAPI *PINIT_ONCE_FN)(PINIT_ONCE,PVOID,PVOID*);
1507
1508WINBASEAPI BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR *);
1509WINADVAPI BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
1510WINADVAPI BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
1511WINADVAPI BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
1512WINADVAPI BOOL WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
1513WINADVAPI BOOL WINAPI AddAce(PACL,DWORD,DWORD,LPVOID,DWORD);
1514WINBASEAPI ATOM WINAPI AddAtomA(LPCSTR);
1515WINBASEAPI ATOM WINAPI AddAtomW(LPCWSTR);
1516#define AddAtom WINELIB_NAME_AW(AddAtom)
1517WINADVAPI BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
1518WINADVAPI BOOL WINAPI AddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL);
1519WINBASEAPI VOID WINAPI AddRefActCtx(HANDLE);
1520WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
1521WINADVAPI BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
1522WINADVAPI BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
1523WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,LPDWORD,LPBOOL,LPBOOL);
1524WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,LPDWORD,LPBOOL,LPBOOL);
1525#define AccessCheckAndAuditAlarm WINELIB_NAME_AW(AccessCheckAndAuditAlarm)
1526WINADVAPI BOOL WINAPI AccessCheckByType(PSECURITY_DESCRIPTOR,PSID,HANDLE,DWORD,POBJECT_TYPE_LIST,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
1527WINBASEAPI VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK);
1528WINBASEAPI VOID WINAPI AcquireSRWLockShared(PSRWLOCK);
1529WINADVAPI BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
1530WINADVAPI BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID *);
1531WINADVAPI BOOL WINAPI AllocateLocallyUniqueId(PLUID);
1532WINADVAPI BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD);
1533WINADVAPI BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD);
1534WINBASEAPI BOOL WINAPI AreFileApisANSI(void);
1535WINBASEAPI BOOL WINAPI AssignProcessToJobObject(HANDLE,HANDLE);
1536WINADVAPI BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
1537WINADVAPI BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
1538#define BackupEventLog WINELIB_NAME_AW(BackupEventLog)
1539WINBASEAPI BOOL WINAPI BackupRead(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
1540WINBASEAPI BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,LPDWORD,LPDWORD,LPVOID*);
1541WINBASEAPI BOOL WINAPI BackupWrite(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
1542WINBASEAPI BOOL WINAPI Beep(DWORD,DWORD);
1543WINBASEAPI HANDLE WINAPI BeginUpdateResourceA(LPCSTR,BOOL);
1544WINBASEAPI HANDLE WINAPI BeginUpdateResourceW(LPCWSTR,BOOL);
1545#define BeginUpdateResource WINELIB_NAME_AW(BeginUpdateResource)
1546WINBASEAPI BOOL WINAPI BindIoCompletionCallback(HANDLE,LPOVERLAPPED_COMPLETION_ROUTINE,ULONG);
1547WINBASEAPI BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
1548WINBASEAPI BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
1549#define BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
1550WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
1551WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
1552#define BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
1553WINBASEAPI BOOL WINAPI CallNamedPipeA(LPCSTR,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,DWORD);
1554WINBASEAPI BOOL WINAPI CallNamedPipeW(LPCWSTR,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,DWORD);
1555#define CallNamedPipe WINELIB_NAME_AW(CallNamedPipe)
1556WINBASEAPI BOOL WINAPI CancelIo(HANDLE);
1557WINBASEAPI BOOL WINAPI CancelIoEx(HANDLE,LPOVERLAPPED);
1558WINBASEAPI BOOL WINAPI CancelTimerQueueTimer(HANDLE,HANDLE);
1559WINBASEAPI BOOL WINAPI CancelWaitableTimer(HANDLE);
1560WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
1561WINADVAPI BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
1562WINBASEAPI BOOL WINAPI ClearCommBreak(HANDLE);
1563WINBASEAPI BOOL WINAPI ClearCommError(HANDLE,LPDWORD,LPCOMSTAT);
1564WINADVAPI BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
1565WINADVAPI BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
1566#define ClearEventLog WINELIB_NAME_AW(ClearEventLog)
1567WINADVAPI BOOL WINAPI CloseEventLog(HANDLE);
1568WINBASEAPI BOOL WINAPI CloseHandle(HANDLE);
1569WINBASEAPI BOOL WINAPI CommConfigDialogA(LPCSTR,HWND,LPCOMMCONFIG);
1570WINBASEAPI BOOL WINAPI CommConfigDialogW(LPCWSTR,HWND,LPCOMMCONFIG);
1571#define CommConfigDialog WINELIB_NAME_AW(CommConfigDialog)
1572WINBASEAPI BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
1573WINBASEAPI BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
1574WINBASEAPI HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc);
1575WINBASEAPI BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
1576WINBASEAPI BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
1577#define CopyFile WINELIB_NAME_AW(CopyFile)
1578WINBASEAPI HRESULT WINAPI CopyFile2(PCWSTR,PCWSTR,COPYFILE2_EXTENDED_PARAMETERS*);
1579WINBASEAPI BOOL WINAPI CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1580WINBASEAPI BOOL WINAPI CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1581#define CopyFileEx WINELIB_NAME_AW(CopyFileEx)
1582WINADVAPI BOOL WINAPI CopySid(DWORD,PSID,PSID);
1583WINBASEAPI INT WINAPI CompareFileTime(const FILETIME*,const FILETIME*);
1584WINBASEAPI BOOL WINAPI ConvertFiberToThread(void);
1585WINBASEAPI LPVOID WINAPI ConvertThreadToFiber(LPVOID);
1586WINBASEAPI LPVOID WINAPI ConvertThreadToFiberEx(LPVOID,DWORD);
1587WINADVAPI BOOL WINAPI ConvertToAutoInheritPrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,GUID*,BOOL,PGENERIC_MAPPING);
1588WINBASEAPI HANDLE WINAPI CreateActCtxA(PCACTCTXA);
1589WINBASEAPI HANDLE WINAPI CreateActCtxW(PCACTCTXW);
1590#define CreateActCtx WINELIB_NAME_AW(CreateActCtx)
1591WINBASEAPI BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
1592WINBASEAPI BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
1593#define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
1594WINBASEAPI BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
1595WINBASEAPI BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
1596#define CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
1597WINBASEAPI HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
1598WINBASEAPI HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
1599#define CreateEvent WINELIB_NAME_AW(CreateEvent)
1600WINBASEAPI HANDLE WINAPI CreateEventExA(SECURITY_ATTRIBUTES*,LPCSTR,DWORD,DWORD);
1601WINBASEAPI HANDLE WINAPI CreateEventExW(SECURITY_ATTRIBUTES*,LPCWSTR,DWORD,DWORD);
1602#define CreateEventEx WINELIB_NAME_AW(CreateEventEx)
1603WINBASEAPI LPVOID WINAPI CreateFiber(SIZE_T,LPFIBER_START_ROUTINE,LPVOID);
1604WINBASEAPI LPVOID WINAPI CreateFiberEx(SIZE_T,SIZE_T,DWORD,LPFIBER_START_ROUTINE,LPVOID);
1605WINBASEAPI HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
1606WINBASEAPI HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
1607#define CreateFile WINELIB_NAME_AW(CreateFile)
1608WINBASEAPI HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
1609WINBASEAPI HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
1610#define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
1611WINBASEAPI HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,ULONG_PTR,DWORD);
1612WINBASEAPI HANDLE WINAPI CreateJobObjectA(LPSECURITY_ATTRIBUTES,LPCSTR);
1613WINBASEAPI HANDLE WINAPI CreateJobObjectW(LPSECURITY_ATTRIBUTES,LPCWSTR);
1614#define CreateJobObject WINELIB_NAME_AW(CreateJobObject)
1615WINBASEAPI HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
1616WINBASEAPI HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
1617#define CreateMailslot WINELIB_NAME_AW(CreateMailslot)
1618WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
1619WINBASEAPI HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1620WINBASEAPI HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1621#define CreateMutex WINELIB_NAME_AW(CreateMutex)
1622WINBASEAPI HANDLE WINAPI CreateMutexExA(SECURITY_ATTRIBUTES*,LPCSTR,DWORD,DWORD);
1623WINBASEAPI HANDLE WINAPI CreateMutexExW(SECURITY_ATTRIBUTES*,LPCWSTR,DWORD,DWORD);
1624#define CreateMutexEx WINELIB_NAME_AW(CreateMutexEx)
1625WINBASEAPI HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
1626WINBASEAPI HANDLE WINAPI CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
1627#define CreateNamedPipe WINELIB_NAME_AW(CreateNamedPipe)
1628WINBASEAPI BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
1629WINADVAPI BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING);
1630WINBASEAPI BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
1631WINBASEAPI BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1632#define CreateProcess WINELIB_NAME_AW(CreateProcess)
1633WINADVAPI BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
1634WINADVAPI BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1635#define CreateProcessAsUser WINELIB_NAME_AW(CreateProcessAsUser)
1636WINADVAPI BOOL WINAPI CreateProcessWithLogonW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPCWSTR,LPWSTR,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1637WINBASEAPI HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1638WINADVAPI BOOL WINAPI CreateRestrictedToken(HANDLE,DWORD,DWORD,PSID_AND_ATTRIBUTES,DWORD,PLUID_AND_ATTRIBUTES,DWORD,PSID_AND_ATTRIBUTES,PHANDLE);
1639WINBASEAPI HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
1640WINBASEAPI HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
1641#define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
1642WINBASEAPI HANDLE WINAPI CreateSemaphoreExA(SECURITY_ATTRIBUTES*,LONG,LONG,LPCSTR,DWORD,DWORD);
1643WINBASEAPI HANDLE WINAPI CreateSemaphoreExW(SECURITY_ATTRIBUTES*,LONG,LONG,LPCWSTR,DWORD,DWORD);
1644#define CreateSemaphoreEx WINELIB_NAME_AW(CreateSemaphoreEx)
1645WINBASEAPI DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
1646WINBASEAPI HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1647WINBASEAPI HANDLE WINAPI CreateTimerQueue(void);
1648WINBASEAPI BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG);
1649WINBASEAPI HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1650WINBASEAPI HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1651#define CreateWaitableTimer WINELIB_NAME_AW(CreateWaitableTimer)
1652WINBASEAPI HANDLE WINAPI CreateWaitableTimerExA(SECURITY_ATTRIBUTES*,LPCSTR,DWORD,DWORD);
1653WINBASEAPI HANDLE WINAPI CreateWaitableTimerExW(SECURITY_ATTRIBUTES*,LPCWSTR,DWORD,DWORD);
1654#define CreateWaitableTimerEx WINELIB_NAME_AW(CreateWaitableTimerEx)
1655WINADVAPI BOOL WINAPI CreateWellKnownSid(WELL_KNOWN_SID_TYPE,PSID,PSID,DWORD*);
1656WINBASEAPI BOOL WINAPI DeactivateActCtx(DWORD,ULONG_PTR);
1657WINBASEAPI BOOL WINAPI DebugActiveProcess(DWORD);
1658WINBASEAPI BOOL WINAPI DebugActiveProcessStop(DWORD);
1659WINBASEAPI void WINAPI DebugBreak(void);
1660WINBASEAPI BOOL WINAPI DebugBreakProcess(HANDLE);
1661WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit(BOOL);
1662WINBASEAPI PVOID WINAPI DecodePointer(PVOID);
1663WINADVAPI BOOL WINAPI DecryptFileA(LPCSTR,DWORD);
1664WINADVAPI BOOL WINAPI DecryptFileW(LPCWSTR,DWORD);
1665#define DecryptFile WINELIB_NAME_AW(DecryptFile)
1666WINBASEAPI BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
1667WINBASEAPI BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
1668#define DefineDosDevice WINELIB_NAME_AW(DefineDosDevice)
1669#define DefineHandleTable(w) ((w),TRUE)
1670WINADVAPI BOOL WINAPI DeleteAce(PACL,DWORD);
1671WINBASEAPI ATOM WINAPI DeleteAtom(ATOM);
1672WINBASEAPI void WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCrit);
1673WINBASEAPI void WINAPI DeleteFiber(LPVOID);
1674WINBASEAPI BOOL WINAPI DeleteFileA(LPCSTR);
1675WINBASEAPI BOOL WINAPI DeleteFileW(LPCWSTR);
1676#define DeleteFile WINELIB_NAME_AW(DeleteFile)
1677WINBASEAPI BOOL WINAPI DeleteTimerQueue(HANDLE);
1678WINBASEAPI BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
1679WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
1680WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA(LPCSTR);
1681WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
1682#define DeleteVolumeMountPoint WINELIB_NAME_AW(DeleteVolumeMountPoint)
1683WINADVAPI BOOL WINAPI DeregisterEventSource(HANDLE);
1684WINADVAPI BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
1685WINBASEAPI BOOL WINAPI DeviceIoControl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
1686WINBASEAPI BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
1687WINBASEAPI BOOL WINAPI DisconnectNamedPipe(HANDLE);
1688WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR,LPSTR,LPDWORD);
1689WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR,LPWSTR,LPDWORD);
1690#define DnsHostnameToComputerName WINELIB_NAME_AW(DnsHostnameToComputerName)
1691WINBASEAPI BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
1692WINBASEAPI BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,HANDLE*,DWORD,BOOL,DWORD);
1693WINADVAPI BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
1694WINADVAPI BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE);
1695WINBASEAPI BOOL WINAPI EscapeCommFunction(HANDLE,UINT);
1696WINBASEAPI PVOID WINAPI EncodePointer(PVOID);
1697WINADVAPI BOOL WINAPI EncryptFileA(LPCSTR);
1698WINADVAPI BOOL WINAPI EncryptFileW(LPCWSTR);
1699#define EncryptFile WINELIB_NAME_AW(EncryptFile)
1700WINBASEAPI BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL);
1701WINBASEAPI BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL);
1702#define EndUpdateResource WINELIB_NAME_AW(EndUpdateResource)
1703WINBASEAPI void WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCrit);
1704WINBASEAPI BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROCA,LONG_PTR);
1705WINBASEAPI BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROCW,LONG_PTR);
1706#define EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
1707WINBASEAPI BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROCA,LONG_PTR);
1708WINBASEAPI BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW,LONG_PTR);
1709#define EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
1710WINBASEAPI BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG_PTR);
1711WINBASEAPI BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG_PTR);
1712#define EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
1713WINADVAPI BOOL WINAPI EqualSid(PSID, PSID);
1714WINADVAPI BOOL WINAPI EqualPrefixSid(PSID,PSID);
1715WINBASEAPI DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL);
1716WINBASEAPI VOID DECLSPEC_NORETURN WINAPI ExitProcess(DWORD);
1717WINBASEAPI VOID DECLSPEC_NORETURN WINAPI ExitThread(DWORD);
1718WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
1719WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
1720#define ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
1721WINBASEAPI void WINAPI FatalAppExitA(UINT,LPCSTR);
1722WINBASEAPI void WINAPI FatalAppExitW(UINT,LPCWSTR);
1723WINBASEAPI void WINAPI FatalExit(int);
1724#define FatalAppExit WINELIB_NAME_AW(FatalAppExit)
1725WINADVAPI BOOL WINAPI FileEncryptionStatusA(LPCSTR,LPDWORD);
1726WINADVAPI BOOL WINAPI FileEncryptionStatusW(LPCWSTR,LPDWORD);
1727#define FileEncryptionStatus WINELIB_NAME_AW(FileEncryptionStatus)
1728WINBASEAPI BOOL WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
1729WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
1730WINBASEAPI BOOL WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
1731WINBASEAPI BOOL WINAPI FindActCtxSectionStringA(DWORD,const GUID *,ULONG,LPCSTR,PACTCTX_SECTION_KEYED_DATA);
1732WINBASEAPI BOOL WINAPI FindActCtxSectionStringW(DWORD,const GUID *,ULONG,LPCWSTR,PACTCTX_SECTION_KEYED_DATA);
1733#define FindActCtxSectionString WINELIB_NAME_AW(FindActCtxSectionString)
1734WINBASEAPI BOOL WINAPI FindActCtxSectionGuid(DWORD,const GUID *,ULONG,const GUID *,PACTCTX_SECTION_KEYED_DATA);
1735WINBASEAPI ATOM WINAPI FindAtomA(LPCSTR);
1736WINBASEAPI ATOM WINAPI FindAtomW(LPCWSTR);
1737#define FindAtom WINELIB_NAME_AW(FindAtom)
1738WINBASEAPI BOOL WINAPI FindClose(HANDLE);
1739WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
1740WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
1741#define FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
1742WINBASEAPI HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
1743WINBASEAPI HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
1744#define FindFirstFile WINELIB_NAME_AW(FindFirstFile)
1745WINBASEAPI HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
1746WINBASEAPI HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
1747#define FindFirstFileEx WINELIB_NAME_AW(FindFirstFileEx)
1748WINADVAPI BOOL WINAPI FindFirstFreeAce(PACL,LPVOID*);
1749WINBASEAPI BOOL WINAPI FindNextChangeNotification(HANDLE);
1750WINBASEAPI BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
1751WINBASEAPI BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
1752#define FindNextFile WINELIB_NAME_AW(FindNextFile)
1753WINBASEAPI BOOL WINAPI FindCloseChangeNotification(HANDLE);
1754WINBASEAPI HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
1755WINBASEAPI HRSRC WINAPI FindResourceW(HMODULE,LPCWSTR,LPCWSTR);
1756#define FindResource WINELIB_NAME_AW(FindResource)
1757WINBASEAPI HRSRC WINAPI FindResourceExA(HMODULE,LPCSTR,LPCSTR,WORD);
1758WINBASEAPI HRSRC WINAPI FindResourceExW(HMODULE,LPCWSTR,LPCWSTR,WORD);
1759#define FindResourceEx WINELIB_NAME_AW(FindResourceEx)
1760WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPSTR,DWORD);
1761WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPWSTR,DWORD);
1762#define FindFirstVolume WINELIB_NAME_AW(FindFirstVolume)
1763WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPCSTR,LPSTR,DWORD);
1764WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
1765#define FindFirstVolumeMountPoint WINELIB_NAME_AW(FindFirstVolumeMountPoint)
1766WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPSTR,DWORD);
1767WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
1768#define FindNextVolume WINELIB_NAME_AW(FindNextVolume)
1769WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
1770WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
1771#define FindNextVolumeMountPoint WINELIB_NAME_AW(FindNextVolumeMountPoint)
1772WINBASEAPI BOOL WINAPI FindVolumeClose(HANDLE);
1773WINBASEAPI BOOL WINAPI FindVolumeMountPointClose(HANDLE);
1774WINBASEAPI DWORD WINAPI FlsAlloc(PFLS_CALLBACK_FUNCTION);
1775WINBASEAPI BOOL WINAPI FlsFree(DWORD);
1776WINBASEAPI PVOID WINAPI FlsGetValue(DWORD);
1777WINBASEAPI BOOL WINAPI FlsSetValue(DWORD,PVOID);
1778WINBASEAPI BOOL WINAPI FlushFileBuffers(HANDLE);
1779WINBASEAPI BOOL WINAPI FlushInstructionCache(HANDLE,LPCVOID,SIZE_T);
1780WINBASEAPI BOOL WINAPI FlushViewOfFile(LPCVOID,SIZE_T);
1781WINBASEAPI DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,DWORD,__ms_va_list*);
1782WINBASEAPI DWORD WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,DWORD,__ms_va_list*);
1783#define FormatMessage WINELIB_NAME_AW(FormatMessage)
1784WINBASEAPI BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
1785WINBASEAPI BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
1786#define FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
1787WINBASEAPI BOOL WINAPI FreeLibrary(HMODULE);
1788WINBASEAPI VOID DECLSPEC_NORETURN WINAPI FreeLibraryAndExitThread(HINSTANCE,DWORD);
1789#define FreeModule(handle) FreeLibrary(handle)
1790#define FreeProcInstance(proc) /*nothing*/
1791WINBASEAPI BOOL WINAPI FreeResource(HGLOBAL);
1792WINADVAPI PVOID WINAPI FreeSid(PSID);
1793WINADVAPI BOOL WINAPI GetAce(PACL,DWORD,LPVOID*);
1794WINADVAPI BOOL WINAPI GetAclInformation(PACL,LPVOID,DWORD,ACL_INFORMATION_CLASS);
1795WINBASEAPI UINT WINAPI GetAtomNameA(ATOM,LPSTR,INT);
1796WINBASEAPI UINT WINAPI GetAtomNameW(ATOM,LPWSTR,INT);
1797#define GetAtomName WINELIB_NAME_AW(GetAtomName)
1798WINBASEAPI BOOL WINAPI GetBinaryTypeA( LPCSTR lpApplicationName, LPDWORD lpBinaryType );
1799WINBASEAPI BOOL WINAPI GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType );
1800#define GetBinaryType WINELIB_NAME_AW(GetBinaryType)
1801WINBASEAPI BOOL WINAPI GetCurrentActCtx(HANDLE *);
1802WINBASEAPI BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,LPDWORD);
1803WINBASEAPI BOOL WINAPI GetCommMask(HANDLE,LPDWORD);
1804WINBASEAPI BOOL WINAPI GetCommModemStatus(HANDLE,LPDWORD);
1805WINBASEAPI BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP);
1806WINBASEAPI BOOL WINAPI GetCommState(HANDLE,LPDCB);
1807WINBASEAPI BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1808WINBASEAPI LPSTR WINAPI GetCommandLineA(void);
1809WINBASEAPI LPWSTR WINAPI GetCommandLineW(void);
1810#define GetCommandLine WINELIB_NAME_AW(GetCommandLine)
1811WINBASEAPI DWORD WINAPI GetCompressedFileSizeA(LPCSTR,LPDWORD);
1812WINBASEAPI DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,LPDWORD);
1813#define GetCompressedFileSize WINELIB_NAME_AW(GetCompressedFileSize)
1814WINBASEAPI BOOL WINAPI GetComputerNameA(LPSTR,LPDWORD);
1815WINBASEAPI BOOL WINAPI GetComputerNameW(LPWSTR,LPDWORD);
1816#define GetComputerName WINELIB_NAME_AW(GetComputerName)
1817WINBASEAPI BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
1818WINBASEAPI BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
1819#define GetComputerNameEx WINELIB_NAME_AW(GetComputerNameEx)
1820WINBASEAPI UINT WINAPI GetCurrentDirectoryA(UINT,LPSTR);
1821WINBASEAPI UINT WINAPI GetCurrentDirectoryW(UINT,LPWSTR);
1822#define GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
1823WINADVAPI BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
1824WINADVAPI BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
1825#define GetCurrentHwProfile WINELIB_NAME_AW(GetCurrentHwProfile)
1826WINBASEAPI HANDLE WINAPI GetCurrentProcess(void);
1827WINBASEAPI DWORD WINAPI GetCurrentProcessorNumber(void);
1828WINBASEAPI VOID WINAPI GetCurrentProcessorNumberEx(PPROCESSOR_NUMBER);
1829WINBASEAPI HANDLE WINAPI GetCurrentThread(void);
1830#define GetCurrentTime() GetTickCount()
1831WINBASEAPI BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,LPDWORD);
1832WINBASEAPI BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,LPDWORD);
1833#define GetDefaultCommConfig WINELIB_NAME_AW(GetDefaultCommConfig)
1834WINBASEAPI BOOL WINAPI GetDevicePowerState(HANDLE,BOOL*);
1835WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
1836WINBASEAPI BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
1837#define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
1838WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
1839WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
1840#define GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
1841WINBASEAPI DWORD WINAPI GetDllDirectoryA(DWORD,LPSTR);
1842WINBASEAPI DWORD WINAPI GetDllDirectoryW(DWORD,LPWSTR);
1843#define GetDllDirectory WINELIB_NAME_AW(GetDllDirectory)
1844WINBASEAPI UINT WINAPI GetDriveTypeA(LPCSTR);
1845WINBASEAPI UINT WINAPI GetDriveTypeW(LPCWSTR);
1846#define GetDriveType WINELIB_NAME_AW(GetDriveType)
1847WINBASEAPI DWORD WINAPI GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION);
1848WINBASEAPI LPSTR WINAPI GetEnvironmentStringsA(void);
1849WINBASEAPI LPWSTR WINAPI GetEnvironmentStringsW(void);
1850#define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
1851WINBASEAPI DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
1852WINBASEAPI DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
1853#define GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
1854WINBASEAPI UINT WINAPI GetErrorMode(void);
1855WINADVAPI BOOL WINAPI GetEventLogInformation(HANDLE,DWORD,LPVOID,DWORD,LPDWORD);
1856WINBASEAPI BOOL WINAPI GetExitCodeProcess(HANDLE,LPDWORD);
1857WINBASEAPI BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD);
1858WINBASEAPI DWORD WINAPI GetFileAttributesA(LPCSTR);
1859WINBASEAPI DWORD WINAPI GetFileAttributesW(LPCWSTR);
1860#define GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
1861WINBASEAPI BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
1862WINBASEAPI BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
1863#define GetFileAttributesEx WINELIB_NAME_AW(GetFileAttributesEx)
1864WINBASEAPI BOOL WINAPI GetFileInformationByHandle(HANDLE,BY_HANDLE_FILE_INFORMATION*);
1865WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
1866WINADVAPI BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1867WINADVAPI BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1868#define GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
1869WINBASEAPI DWORD WINAPI GetFileSize(HANDLE,LPDWORD);
1870WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
1871WINBASEAPI BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
1872WINBASEAPI DWORD WINAPI GetFileType(HANDLE);
1873#define GetFreeSpace(w) (__MSABI_LONG(0x100000))
1874WINBASEAPI DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
1875WINBASEAPI DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
1876#define GetFullPathName WINELIB_NAME_AW(GetFullPathName)
1877WINBASEAPI BOOL WINAPI GetHandleInformation(HANDLE,LPDWORD);
1878WINADVAPI BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1879WINADVAPI DWORD WINAPI GetLengthSid(PSID);
1880WINBASEAPI VOID WINAPI GetLocalTime(LPSYSTEMTIME);
1881WINBASEAPI DWORD WINAPI GetLogicalDrives(void);
1882WINBASEAPI UINT WINAPI GetLogicalDriveStringsA(UINT,LPSTR);
1883WINBASEAPI UINT WINAPI GetLogicalDriveStringsW(UINT,LPWSTR);
1884#define GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
1885WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
1886WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
1887#define GetLongPathName WINELIB_NAME_AW(GetLongPathName)
1888WINBASEAPI BOOL WINAPI GetMailslotInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
1889WINBASEAPI DWORD WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD);
1890WINBASEAPI DWORD WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD);
1891#define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
1892WINBASEAPI HMODULE WINAPI GetModuleHandleA(LPCSTR);
1893WINBASEAPI HMODULE WINAPI GetModuleHandleW(LPCWSTR);
1894#define GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
1895WINBASEAPI BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
1896WINBASEAPI BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
1897#define GetModuleHandleEx WINELIB_NAME_AW(GetModuleHandleEx)
1898WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
1899WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
1900#define GetNamedPipeHandleState WINELIB_NAME_AW(GetNamedPipeHandleState)
1901WINBASEAPI BOOL WINAPI GetNamedPipeInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
1902WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
1903WINADVAPI BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
1904WINADVAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
1905WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
1906WINBASEAPI DWORD WINAPI GetPriorityClass(HANDLE);
1907WINADVAPI BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
1908WINBASEAPI UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
1909WINBASEAPI UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
1910#define GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
1911WINBASEAPI INT WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
1912WINBASEAPI INT WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
1913#define GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
1914WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
1915WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
1916#define GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
1917WINBASEAPI INT WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
1918WINBASEAPI INT WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
1919#define GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
1920WINBASEAPI BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
1921WINBASEAPI BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
1922#define GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
1923WINBASEAPI FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR);
1924WINBASEAPI BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD_PTR,PDWORD_PTR);
1925WINBASEAPI BOOL WINAPI GetLogicalProcessorInformation(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION,PDWORD);
1926WINBASEAPI BOOL WINAPI GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP,PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX,PDWORD);
1927WINBASEAPI DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
1928WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
1929WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
1930WINBASEAPI BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL);
1931WINBASEAPI BOOL WINAPI GetProcessShutdownParameters(LPDWORD,LPDWORD);
1932WINBASEAPI BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
1933WINBASEAPI DWORD WINAPI GetProcessVersion(DWORD);
1934WINBASEAPI BOOL WINAPI GetProcessWorkingSetSize(HANDLE,PSIZE_T,PSIZE_T);
1935WINBASEAPI BOOL WINAPI GetProductInfo(DWORD,DWORD,DWORD,DWORD,PDWORD);
1936WINBASEAPI UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
1937WINBASEAPI UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
1938#define GetProfileInt WINELIB_NAME_AW(GetProfileInt)
1939WINBASEAPI INT WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
1940WINBASEAPI INT WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
1941#define GetProfileSection WINELIB_NAME_AW(GetProfileSection)
1942WINBASEAPI INT WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT);
1943WINBASEAPI INT WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT);
1944#define GetProfileString WINELIB_NAME_AW(GetProfileString)
1945WINBASEAPI BOOL WINAPI GetQueuedCompletionStatus(HANDLE,LPDWORD,PULONG_PTR,LPOVERLAPPED*,DWORD);
1946WINADVAPI BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,LPDWORD);
1947WINADVAPI BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
1948WINADVAPI BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
1949WINADVAPI DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
1950WINADVAPI BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
1951WINADVAPI BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
1952WINADVAPI PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
1953WINADVAPI DWORD WINAPI GetSidLengthRequired(BYTE);
1954WINADVAPI PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
1955WINADVAPI PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
1956WINBASEAPI DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
1957WINBASEAPI DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
1958#define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
1959WINBASEAPI VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
1960WINBASEAPI VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
1961#define GetStartupInfo WINELIB_NAME_AW(GetStartupInfo)
1962WINBASEAPI HANDLE WINAPI GetStdHandle(DWORD);
1963WINBASEAPI UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
1964WINBASEAPI UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
1965#define GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
1966WINBASEAPI VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
1967WINBASEAPI BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
1968WINBASEAPI BOOL WINAPI GetSystemRegistryQuota(PDWORD,PDWORD);
1969WINBASEAPI VOID WINAPI GetSystemTime(LPSYSTEMTIME);
1970WINBASEAPI BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
1971WINBASEAPI VOID WINAPI GetSystemTimeAsFileTime(LPFILETIME);
1972WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
1973WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
1974#define GetSystemWindowsDirectory WINELIB_NAME_AW(GetSystemWindowsDirectory)
1975WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA(LPSTR,UINT);
1976WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW(LPWSTR,UINT);
1977#define GetSystemWow64Directory WINELIB_NAME_AW(GetSystemWow64Directory)
1978WINBASEAPI DWORD WINAPI GetTapeParameters(HANDLE,DWORD,LPDWORD,LPVOID);
1979WINBASEAPI DWORD WINAPI GetTapePosition(HANDLE,DWORD,LPDWORD,LPDWORD,LPDWORD);
1980WINBASEAPI DWORD WINAPI GetTapeStatus(HANDLE);
1981WINBASEAPI UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
1982WINBASEAPI UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
1983#define GetTempFileName WINELIB_NAME_AW(GetTempFileName)
1984WINBASEAPI DWORD WINAPI GetTempPathA(DWORD,LPSTR);
1985WINBASEAPI DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
1986#define GetTempPath WINELIB_NAME_AW(GetTempPath)
1987WINBASEAPI DWORD WINAPI GetThreadId(HANDLE);
1988WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL);
1989WINBASEAPI DWORD WINAPI GetTickCount(void);
1990WINBASEAPI ULONGLONG WINAPI GetTickCount64(void);
1991WINBASEAPI DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
1992WINBASEAPI BOOL WINAPI GetThreadContext(HANDLE,CONTEXT *);
1993WINBASEAPI DWORD WINAPI GetThreadErrorMode(void);
1994WINBASEAPI INT WINAPI GetThreadPriority(HANDLE);
1995WINBASEAPI BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
1996WINBASEAPI BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
1997WINBASEAPI BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
1998WINADVAPI BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD,LPDWORD);
1999WINADVAPI BOOL WINAPI GetUserNameA(LPSTR,LPDWORD);
2000WINADVAPI BOOL WINAPI GetUserNameW(LPWSTR,LPDWORD);
2001#define GetUserName WINELIB_NAME_AW(GetUserName)
2002WINBASEAPI DWORD WINAPI GetVersion(void);
2003WINBASEAPI BOOL WINAPI GetVersionExA(OSVERSIONINFOA*);
2004WINBASEAPI BOOL WINAPI GetVersionExW(OSVERSIONINFOW*);
2005#define GetVersionEx WINELIB_NAME_AW(GetVersionEx)
2006WINBASEAPI BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
2007WINBASEAPI BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
2008#define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
2009WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
2010WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
2011#define GetVolumeNameForVolumeMountPoint WINELIB_NAME_AW(GetVolumeNameForVolumeMountPoint)
2012WINBASEAPI BOOL WINAPI GetVolumePathNameA(LPCSTR,LPSTR,DWORD);
2013WINBASEAPI BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
2014#define GetVolumePathName WINELIB_NAME_AW(GetVolumePathName)
2015WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA(LPCSTR,LPSTR,DWORD,PDWORD);
2016WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
2017#define GetVolumePathNamesForVolumeName WINELIB_NAME_AW(GetVolumePathNamesForVolumeName)
2018WINBASEAPI UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
2019WINBASEAPI UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
2020#define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
2021WINBASEAPI UINT WINAPI GetWriteWatch(DWORD,LPVOID,SIZE_T,LPVOID*,ULONG_PTR*,ULONG*);
2022WINBASEAPI ATOM WINAPI GlobalAddAtomA(LPCSTR);
2023WINBASEAPI ATOM WINAPI GlobalAddAtomW(LPCWSTR);
2024#define GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
2025WINBASEAPI HGLOBAL WINAPI GlobalAlloc(UINT,SIZE_T) __WINE_ALLOC_SIZE(2);
2026WINBASEAPI SIZE_T WINAPI GlobalCompact(DWORD);
2027WINBASEAPI ATOM WINAPI GlobalDeleteAtom(ATOM);
2028WINBASEAPI ATOM WINAPI GlobalFindAtomA(LPCSTR);
2029WINBASEAPI ATOM WINAPI GlobalFindAtomW(LPCWSTR);
2030#define GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
2031WINBASEAPI VOID WINAPI GlobalFix(HGLOBAL);
2032WINBASEAPI UINT WINAPI GlobalFlags(HGLOBAL);
2033WINBASEAPI HGLOBAL WINAPI GlobalFree(HGLOBAL);
2034WINBASEAPI UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,INT);
2035WINBASEAPI UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,INT);
2036#define GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
2037WINBASEAPI HGLOBAL WINAPI GlobalHandle(LPCVOID);
2038WINBASEAPI LPVOID WINAPI GlobalLock(HGLOBAL);
2039WINBASEAPI VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
2040WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
2041WINBASEAPI HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,SIZE_T,UINT) __WINE_ALLOC_SIZE(3);
2042WINBASEAPI SIZE_T WINAPI GlobalSize(HGLOBAL);
2043WINBASEAPI VOID WINAPI GlobalUnfix(HGLOBAL);
2044WINBASEAPI BOOL WINAPI GlobalUnlock(HGLOBAL);
2045WINBASEAPI BOOL WINAPI GlobalUnWire(HGLOBAL);
2046WINBASEAPI LPVOID WINAPI GlobalWire(HGLOBAL);
2047#define HasOverlappedCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2048WINBASEAPI LPVOID WINAPI HeapAlloc(HANDLE,DWORD,SIZE_T) __WINE_ALLOC_SIZE(3);
2049WINBASEAPI SIZE_T WINAPI HeapCompact(HANDLE,DWORD);
2050WINBASEAPI HANDLE WINAPI HeapCreate(DWORD,SIZE_T,SIZE_T);
2051WINBASEAPI BOOL WINAPI HeapDestroy(HANDLE);
2052WINBASEAPI BOOL WINAPI HeapFree(HANDLE,DWORD,LPVOID);
2053WINBASEAPI BOOL WINAPI HeapLock(HANDLE);
2054WINBASEAPI LPVOID WINAPI HeapReAlloc(HANDLE,DWORD,LPVOID,SIZE_T) __WINE_ALLOC_SIZE(4);
2055WINBASEAPI BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T);
2056WINBASEAPI BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
2057WINBASEAPI SIZE_T WINAPI HeapSize(HANDLE,DWORD,LPCVOID);
2058WINBASEAPI BOOL WINAPI HeapUnlock(HANDLE);
2059WINBASEAPI BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
2060WINBASEAPI BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
2061WINBASEAPI BOOL WINAPI InitAtomTable(DWORD);
2062WINADVAPI BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
2063WINBASEAPI VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
2064WINBASEAPI void WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
2065WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION *,DWORD);
2066WINBASEAPI BOOL WINAPI InitializeCriticalSectionEx(CRITICAL_SECTION *,DWORD,DWORD);
2067WINADVAPI BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
2068WINADVAPI BOOL WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
2069WINBASEAPI VOID WINAPI InitializeSListHead(PSLIST_HEADER);
2070WINBASEAPI VOID WINAPI InitializeSRWLock(PSRWLOCK);
2071WINBASEAPI BOOL WINAPI InitOnceBeginInitialize(PINIT_ONCE, DWORD, PBOOL, PVOID*);
2072WINBASEAPI BOOL WINAPI InitOnceComplete(PINIT_ONCE, DWORD, PVOID);
2073WINBASEAPI BOOL WINAPI InitOnceExecuteOnce(PINIT_ONCE,PINIT_ONCE_FN,PVOID,PVOID*);
2074WINBASEAPI VOID WINAPI InitOnceInitialize(PINIT_ONCE);
2075WINBASEAPI PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
2076WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
2077WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY);
2078WINBASEAPI BOOL WINAPI IsBadCodePtr(FARPROC);
2079WINBASEAPI BOOL WINAPI IsBadHugeReadPtr(LPCVOID,UINT);
2080WINBASEAPI BOOL WINAPI IsBadHugeWritePtr(LPVOID,UINT);
2081WINBASEAPI BOOL WINAPI IsBadReadPtr(LPCVOID,UINT);
2082WINBASEAPI BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
2083WINBASEAPI BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
2084#define IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
2085WINBASEAPI BOOL WINAPI IsBadWritePtr(LPVOID,UINT);
2086WINBASEAPI BOOL WINAPI IsDebuggerPresent(void);
2087WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic(void);
2088WINADVAPI BOOL WINAPI IsTextUnicode(LPCVOID,INT,LPINT);
2089WINADVAPI BOOL WINAPI IsTokenRestricted(HANDLE);
2090WINADVAPI BOOL WINAPI IsValidAcl(PACL);
2091WINADVAPI BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
2092WINADVAPI BOOL WINAPI IsValidSid(PSID);
2093WINADVAPI BOOL WINAPI IsWellKnownSid(PSID,WELL_KNOWN_SID_TYPE);
2094WINBASEAPI BOOL WINAPI IsWow64Process(HANDLE,PBOOL);
2095WINADVAPI BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
2096WINADVAPI BOOL WINAPI ImpersonateNamedPipeClient(HANDLE);
2097WINADVAPI BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
2098WINBASEAPI BOOL WINAPI IsProcessInJob(HANDLE,HANDLE,PBOOL);
2099WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent(DWORD);
2100WINBASEAPI void WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCrit);
2101WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR);
2102WINBASEAPI HMODULE WINAPI LoadLibraryW(LPCWSTR);
2103#define LoadLibrary WINELIB_NAME_AW(LoadLibrary)
2104WINBASEAPI HMODULE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
2105WINBASEAPI HMODULE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
2106#define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
2107WINBASEAPI DWORD WINAPI LoadModule(LPCSTR,LPVOID);
2108WINBASEAPI HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
2109WINBASEAPI HLOCAL WINAPI LocalAlloc(UINT,SIZE_T) __WINE_ALLOC_SIZE(2);
2110WINBASEAPI SIZE_T WINAPI LocalCompact(UINT);
2111WINBASEAPI UINT WINAPI LocalFlags(HLOCAL);
2112WINBASEAPI HLOCAL WINAPI LocalFree(HLOCAL);
2113WINBASEAPI HLOCAL WINAPI LocalHandle(LPCVOID);
2114WINBASEAPI LPVOID WINAPI LocalLock(HLOCAL);
2115WINBASEAPI HLOCAL WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT) __WINE_ALLOC_SIZE(3);
2116WINBASEAPI SIZE_T WINAPI LocalShrink(HGLOBAL,UINT);
2117WINBASEAPI SIZE_T WINAPI LocalSize(HLOCAL);
2118WINBASEAPI BOOL WINAPI LocalUnlock(HLOCAL);
2119WINBASEAPI LPVOID WINAPI LockResource(HGLOBAL);
2120#define LockSegment(handle) GlobalFix((HANDLE)(handle))
2121WINADVAPI BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
2122WINADVAPI BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,LPDWORD,LPWSTR,LPDWORD,PSID_NAME_USE);
2123#define LookupAccountName WINELIB_NAME_AW(LookupAccountName)
2124WINADVAPI BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPSTR,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
2125WINADVAPI BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,LPDWORD,LPWSTR,LPDWORD,PSID_NAME_USE);
2126#define LookupAccountSid WINELIB_NAME_AW(LookupAccountSid)
2127WINBASEAPI BOOL WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
2128WINBASEAPI BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
2129WINBASEAPI BOOL WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
2130WINADVAPI BOOL WINAPI LogonUserA(LPCSTR,LPCSTR,LPCSTR,DWORD,DWORD,PHANDLE);
2131WINADVAPI BOOL WINAPI LogonUserW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,PHANDLE);
2132#define LogonUser WINELIB_NAME_AW(LogonUser)
2133WINADVAPI BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,LPDWORD,LPDWORD);
2134WINADVAPI BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,LPDWORD);
2135#define LookupPrivilegeDisplayName WINELIB_NAME_AW(LookupPrivilegeDisplayName)
2136WINADVAPI BOOL WINAPI LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,LPDWORD);
2137WINADVAPI BOOL WINAPI LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,LPDWORD);
2138#define LookupPrivilegeName WINELIB_NAME_AW(LookupPrivilegeName)
2139WINADVAPI BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID);
2140WINADVAPI BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID);
2141#define LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
2142WINADVAPI BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD,PACL,LPDWORD,PACL,LPDWORD,PSID,LPDWORD,PSID,LPDWORD);
2143WINBASEAPI void WINAPI MakeCriticalSectionGlobal(CRITICAL_SECTION *lpCrit);
2144#define MakeProcInstance(proc,inst) (proc)
2145WINADVAPI BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
2146WINADVAPI VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
2147WINBASEAPI HMODULE WINAPI MapHModuleSL(WORD);
2148WINBASEAPI WORD WINAPI MapHModuleLS(HMODULE);
2149WINBASEAPI LPVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,SIZE_T);
2150WINBASEAPI LPVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,SIZE_T,LPVOID);
2151WINBASEAPI BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
2152WINBASEAPI BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
2153#define MoveFile WINELIB_NAME_AW(MoveFile)
2154WINBASEAPI BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
2155WINBASEAPI BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
2156#define MoveFileEx WINELIB_NAME_AW(MoveFileEx)
2157WINBASEAPI BOOL WINAPI MoveFileWithProgressA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
2158WINBASEAPI BOOL WINAPI MoveFileWithProgressW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
2159#define MoveFileWithProgress WINELIB_NAME_AW(MoveFileWithProgress)
2160WINBASEAPI INT WINAPI MulDiv(INT,INT,INT);
2161WINBASEAPI BOOL WINAPI NeedCurrentDirectoryForExePathA(LPCSTR);
2162WINBASEAPI BOOL WINAPI NeedCurrentDirectoryForExePathW(LPCWSTR);
2163#define NeedCurrentDirectoryForExePath WINELIB_NAME_AW(NeedCurrentDirectoryForExePath)
2164WINADVAPI BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
2165WINADVAPI BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,LPVOID,BOOL);
2166WINADVAPI BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,LPVOID,BOOL);
2167#define ObjectCloseAuditAlarm WINELIB_NAME_AW(ObjectCloseAuditAlarm)
2168WINADVAPI BOOL WINAPI ObjectDeleteAuditAlarmA(LPCSTR,LPVOID,BOOL);
2169WINADVAPI BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,LPVOID,BOOL);
2170#define ObjectDeleteAuditAlarm WINELIB_NAME_AW(ObjectDeleteAuditAlarm)
2171WINADVAPI BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,LPBOOL);
2172WINADVAPI BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,LPBOOL);
2173#define ObjectOpenAuditAlarm WINELIB_NAME_AW(ObjectOpenAuditAlarm)
2174WINADVAPI BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR,LPVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
2175WINADVAPI BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,LPVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
2176#define ObjectPrivilegeAuditAlarm WINELIB_NAME_AW(ObjectPrivilegeAuditAlarm)
2177WINADVAPI HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
2178WINADVAPI HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
2179#define OpenBackupEventLog WINELIB_NAME_AW(OpenBackupEventLog)
2180WINBASEAPI HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
2181WINBASEAPI HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
2182#define OpenEvent WINELIB_NAME_AW(OpenEvent)
2183WINADVAPI HANDLE WINAPI OpenEventLogA(LPCSTR,LPCSTR);
2184WINADVAPI HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
2185#define OpenEventLog WINELIB_NAME_AW(OpenEventLog)
2186WINBASEAPI HFILE WINAPI OpenFile(LPCSTR,OFSTRUCT*,UINT);
2187WINBASEAPI HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
2188WINBASEAPI HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
2189#define OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
2190WINBASEAPI HANDLE WINAPI OpenJobObjectA(DWORD,BOOL,LPCSTR);
2191WINBASEAPI HANDLE WINAPI OpenJobObjectW(DWORD,BOOL,LPCWSTR);
2192#define OpenJobObject WINELIB_NAME_AW(OpenJobObject)
2193WINBASEAPI HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
2194WINBASEAPI HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
2195#define OpenMutex WINELIB_NAME_AW(OpenMutex)
2196WINBASEAPI HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
2197WINADVAPI BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
2198WINBASEAPI HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
2199WINBASEAPI HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
2200#define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
2201WINBASEAPI HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
2202WINADVAPI BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
2203WINBASEAPI HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
2204WINBASEAPI HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
2205#define OpenWaitableTimer WINELIB_NAME_AW(OpenWaitableTimer)
2206WINBASEAPI VOID WINAPI OutputDebugStringA(LPCSTR);
2207WINBASEAPI VOID WINAPI OutputDebugStringW(LPCWSTR);
2208#define OutputDebugString WINELIB_NAME_AW(OutputDebugString)
2209WINBASEAPI BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
2210WINBASEAPI BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
2211WINBASEAPI DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
2212WINBASEAPI BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*);
2213WINADVAPI BOOL WINAPI PrivilegeCheck(HANDLE,PPRIVILEGE_SET,LPBOOL);
2214WINADVAPI BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
2215WINADVAPI BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
2216#define PrivilegedServiceAuditAlarm WINELIB_NAME_AW(PrivilegedServiceAuditAlarm)
2217WINBASEAPI BOOL WINAPI PulseEvent(HANDLE);
2218WINBASEAPI BOOL WINAPI PurgeComm(HANDLE,DWORD);
2219WINBASEAPI BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T *);
2220WINBASEAPI USHORT WINAPI QueryDepthSList(PSLIST_HEADER);
2221WINBASEAPI DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
2222WINBASEAPI DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
2223#define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
2224WINBASEAPI BOOL WINAPI QueryFullProcessImageNameA(HANDLE,DWORD,LPSTR,PDWORD);
2225WINBASEAPI BOOL WINAPI QueryFullProcessImageNameW(HANDLE,DWORD,LPWSTR,PDWORD);
2226#define QueryFullProcessImageName WINELIB_NAME_AW(QueryFullProcessImageName)
2227WINBASEAPI BOOL WINAPI QueryInformationJobObject(HANDLE,JOBOBJECTINFOCLASS,LPVOID,DWORD,DWORD*);
2228WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL);
2229WINBASEAPI BOOL WINAPI QueryPerformanceCounter(LARGE_INTEGER*);
2230WINBASEAPI BOOL WINAPI QueryPerformanceFrequency(LARGE_INTEGER*);
2231WINBASEAPI DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
2232WINBASEAPI BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
2233WINBASEAPI void WINAPI RaiseException(DWORD,DWORD,DWORD,const ULONG_PTR *);
2234WINADVAPI BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
2235WINADVAPI BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
2236#define ReadEventLog WINELIB_NAME_AW(ReadEventLog)
2237WINBASEAPI BOOL WINAPI ReadDirectoryChangesW(HANDLE,LPVOID,DWORD,BOOL,DWORD,LPDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
2238WINBASEAPI BOOL WINAPI ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
2239WINBASEAPI BOOL WINAPI ReadFileEx(HANDLE,LPVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
2240WINBASEAPI BOOL WINAPI ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
2241WINBASEAPI BOOL WINAPI ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,SIZE_T*);
2242WINADVAPI HANDLE WINAPI RegisterEventSourceA(LPCSTR,LPCSTR);
2243WINADVAPI HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
2244#define RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
2245WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
2246WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
2247WINBASEAPI VOID WINAPI ReleaseActCtx(HANDLE);
2248WINBASEAPI BOOL WINAPI ReleaseMutex(HANDLE);
2249WINBASEAPI BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
2250WINBASEAPI VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK);
2251WINBASEAPI VOID WINAPI ReleaseSRWLockShared(PSRWLOCK);
2252WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler(PVOID);
2253WINBASEAPI BOOL WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
2254WINBASEAPI BOOL WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
2255#define ReplaceFile WINELIB_NAME_AW(ReplaceFile)
2256WINBASEAPI BOOL WINAPI RemoveDirectoryA(LPCSTR);
2257WINBASEAPI BOOL WINAPI RemoveDirectoryW(LPCWSTR);
2258#define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
2259WINADVAPI BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR *,LPVOID);
2260WINADVAPI BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR *,LPVOID);
2261WINBASEAPI BOOL WINAPI RequestWakeupLatency(LATENCY_TIME latency);
2262#define ReportEvent WINELIB_NAME_AW(ReportEvent)
2263WINBASEAPI BOOL WINAPI ResetEvent(HANDLE);
2264WINBASEAPI UINT WINAPI ResetWriteWatch(LPVOID,SIZE_T);
2265WINBASEAPI DWORD WINAPI ResumeThread(HANDLE);
2266WINADVAPI BOOL WINAPI RevertToSelf(void);
2267WINBASEAPI DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
2268WINBASEAPI DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
2269#define SearchPath WINELIB_NAME_AW(SearchPath)
2270WINADVAPI BOOL WINAPI SetAclInformation(PACL,LPVOID,DWORD,ACL_INFORMATION_CLASS);
2271WINBASEAPI BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
2272WINBASEAPI BOOL WINAPI SetCommBreak(HANDLE);
2273WINBASEAPI BOOL WINAPI SetCommMask(HANDLE,DWORD);
2274WINBASEAPI BOOL WINAPI SetCommState(HANDLE,LPDCB);
2275WINBASEAPI BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
2276WINBASEAPI BOOL WINAPI SetComputerNameA(LPCSTR);
2277WINBASEAPI BOOL WINAPI SetComputerNameW(LPCWSTR);
2278#define SetComputerName WINELIB_NAME_AW(SetComputerName)
2279WINBASEAPI BOOL WINAPI SetComputerNameExA(COMPUTER_NAME_FORMAT,LPCSTR);
2280WINBASEAPI BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
2281#define SetComputerNameEx WINELIB_NAME_AW(SetComputerNameEx)
2282WINBASEAPI DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
2283WINBASEAPI BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
2284WINBASEAPI BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
2285#define SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
2286WINBASEAPI BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
2287WINBASEAPI BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
2288#define SetDefaultCommConfig WINELIB_NAME_AW(SetDefaultCommConfig)
2289WINBASEAPI BOOL WINAPI SetDllDirectoryA(LPCSTR);
2290WINBASEAPI BOOL WINAPI SetDllDirectoryW(LPCWSTR);
2291#define SetDllDirectory WINELIB_NAME_AW(SetDllDirectory)
2292WINBASEAPI BOOL WINAPI SetDynamicTimeZoneInformation(const DYNAMIC_TIME_ZONE_INFORMATION*);
2293WINBASEAPI BOOL WINAPI SetEndOfFile(HANDLE);
2294WINBASEAPI BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
2295WINBASEAPI BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
2296#define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
2297WINBASEAPI UINT WINAPI SetErrorMode(UINT);
2298WINBASEAPI BOOL WINAPI SetEvent(HANDLE);
2299WINBASEAPI VOID WINAPI SetFileApisToANSI(void);
2300WINBASEAPI VOID WINAPI SetFileApisToOEM(void);
2301WINBASEAPI BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
2302WINBASEAPI BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
2303#define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
2304WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
2305WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
2306WINADVAPI BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
2307WINADVAPI BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
2308#define SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
2309WINBASEAPI BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
2310WINBASEAPI BOOL WINAPI SetFileValidData(HANDLE,LONGLONG);
2311WINBASEAPI UINT WINAPI SetHandleCount(UINT);
2312WINBASEAPI BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
2313WINBASEAPI BOOL WINAPI SetInformationJobObject(HANDLE,JOBOBJECTINFOCLASS,LPVOID,DWORD);
2314WINADVAPI BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
2315WINBASEAPI BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
2316WINBASEAPI BOOL WINAPI SetMailslotInfo(HANDLE,DWORD);
2317WINBASEAPI BOOL WINAPI SetNamedPipeHandleState(HANDLE,LPDWORD,LPDWORD,LPDWORD);
2318WINBASEAPI BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
2319WINADVAPI BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,PGENERIC_MAPPING,HANDLE);
2320WINBASEAPI BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD_PTR);
2321WINBASEAPI BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL);
2322WINBASEAPI BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
2323WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize(HANDLE,SIZE_T,SIZE_T);
2324WINADVAPI BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL);
2325WINADVAPI BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
2326WINADVAPI BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
2327WINADVAPI BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
2328WINADVAPI BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
2329WINBASEAPI BOOL WINAPI SetStdHandle(DWORD,HANDLE);
2330#define SetSwapAreaSize(w) (w)
2331WINBASEAPI BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
2332WINBASEAPI BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
2333WINBASEAPI BOOL WINAPI SetSystemTimeAdjustment(DWORD,BOOL);
2334WINBASEAPI DWORD WINAPI SetTapeParameters(HANDLE,DWORD,LPVOID);
2335WINBASEAPI DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
2336WINBASEAPI DWORD_PTR WINAPI SetThreadAffinityMask(HANDLE,DWORD_PTR);
2337WINBASEAPI BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT *);
2338WINBASEAPI BOOL WINAPI SetThreadErrorMode(DWORD,LPDWORD);
2339WINBASEAPI DWORD WINAPI SetThreadExecutionState(EXECUTION_STATE);
2340WINBASEAPI DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD);
2341WINBASEAPI BOOL WINAPI SetThreadPriority(HANDLE,INT);
2342WINBASEAPI BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
2343WINADVAPI BOOL WINAPI SetThreadToken(PHANDLE,HANDLE);
2344WINBASEAPI HANDLE WINAPI SetTimerQueueTimer(HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,BOOL);
2345WINBASEAPI BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
2346WINADVAPI BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD);
2347WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
2348WINBASEAPI BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
2349WINBASEAPI BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
2350#define SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
2351WINBASEAPI BOOL WINAPI SetVolumeMountPointA(LPCSTR,LPCSTR);
2352WINBASEAPI BOOL WINAPI SetVolumeMountPointW(LPCSTR,LPCSTR);
2353#define SetVolumeMountPoint WINELIB_NAME_AW(SetVolumeMountPoint)
2354WINBASEAPI BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,BOOL);
2355WINBASEAPI BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
2356WINBASEAPI DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
2357WINBASEAPI DWORD WINAPI SizeofResource(HMODULE,HRSRC);
2358WINBASEAPI VOID WINAPI Sleep(DWORD);
2359WINBASEAPI BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD);
2360WINBASEAPI DWORD WINAPI SleepEx(DWORD,BOOL);
2361WINBASEAPI DWORD WINAPI SuspendThread(HANDLE);
2362WINBASEAPI void WINAPI SwitchToFiber(LPVOID);
2363WINBASEAPI BOOL WINAPI SwitchToThread(void);
2364WINBASEAPI BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
2365WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME);
2366WINBASEAPI BOOL WINAPI TerminateJobObject(HANDLE,UINT);
2367WINBASEAPI BOOL WINAPI TerminateProcess(HANDLE,DWORD);
2368WINBASEAPI BOOL WINAPI TerminateThread(HANDLE,DWORD);
2369WINBASEAPI DWORD WINAPI TlsAlloc(void);
2370WINBASEAPI BOOL WINAPI TlsFree(DWORD);
2371WINBASEAPI LPVOID WINAPI TlsGetValue(DWORD);
2372WINBASEAPI BOOL WINAPI TlsSetValue(DWORD,LPVOID);
2373WINBASEAPI BOOL WINAPI TransactNamedPipe(HANDLE,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
2374WINBASEAPI BOOL WINAPI TransmitCommChar(HANDLE,CHAR);
2375WINBASEAPI BOOL WINAPI TryAcquireSRWLockExclusive(PSRWLOCK);
2376WINBASEAPI BOOL WINAPI TryAcquireSRWLockShared(PSRWLOCK);
2377WINBASEAPI BOOL WINAPI TryEnterCriticalSection(CRITICAL_SECTION *lpCrit);
2378WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME);
2379WINBASEAPI LONG WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS);
2380WINBASEAPI BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
2381WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
2382#define UnlockSegment(handle) GlobalUnfix((HANDLE)(handle))
2383WINBASEAPI BOOL WINAPI UnmapViewOfFile(LPCVOID);
2384WINBASEAPI BOOL WINAPI UnregisterWait(HANDLE);
2385WINBASEAPI BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
2386WINBASEAPI BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,LPVOID,DWORD);
2387WINBASEAPI BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,LPVOID,DWORD);
2388#define UpdateResource WINELIB_NAME_AW(UpdateResource)
2389WINBASEAPI BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG);
2390WINBASEAPI BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG);
2391#define VerifyVersionInfo WINELIB_NAME_AW(VerifyVersionInfo)
2392WINBASEAPI LPVOID WINAPI VirtualAlloc(LPVOID,SIZE_T,DWORD,DWORD);
2393WINBASEAPI LPVOID WINAPI VirtualAllocEx(HANDLE,LPVOID,SIZE_T,DWORD,DWORD);
2394WINBASEAPI BOOL WINAPI VirtualFree(LPVOID,SIZE_T,DWORD);
2395WINBASEAPI BOOL WINAPI VirtualFreeEx(HANDLE,LPVOID,SIZE_T,DWORD);
2396WINBASEAPI BOOL WINAPI VirtualLock(LPVOID,SIZE_T);
2397WINBASEAPI BOOL WINAPI VirtualProtect(LPVOID,SIZE_T,DWORD,LPDWORD);
2398WINBASEAPI BOOL WINAPI VirtualProtectEx(HANDLE,LPVOID,SIZE_T,DWORD,LPDWORD);
2399WINBASEAPI SIZE_T WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
2400WINBASEAPI SIZE_T WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
2401WINBASEAPI BOOL WINAPI VirtualUnlock(LPVOID,SIZE_T);
2402WINBASEAPI DWORD WINAPI WTSGetActiveConsoleSessionId(void);
2403WINBASEAPI BOOL WINAPI WaitCommEvent(HANDLE,LPDWORD,LPOVERLAPPED);
2404WINBASEAPI BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
2405WINBASEAPI DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
2406WINBASEAPI DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
2407WINBASEAPI DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
2408WINBASEAPI DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
2409WINBASEAPI BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD);
2410WINBASEAPI BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD);
2411#define WaitNamedPipe WINELIB_NAME_AW(WaitNamedPipe)
2412WINBASEAPI VOID WINAPI WakeAllConditionVariable(PCONDITION_VARIABLE);
2413WINBASEAPI VOID WINAPI WakeConditionVariable(PCONDITION_VARIABLE);
2414WINBASEAPI UINT WINAPI WinExec(LPCSTR,UINT);
2415WINBASEAPI BOOL WINAPI Wow64DisableWow64FsRedirection(PVOID*);
2416WINBASEAPI BOOLEAN WINAPI Wow64EnableWow64FsRedirection(BOOLEAN);
2417WINBASEAPI BOOL WINAPI Wow64RevertWow64FsRedirection(PVOID);
2418WINBASEAPI BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
2419WINBASEAPI BOOL WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
2420WINBASEAPI BOOL WINAPI WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
2421WINBASEAPI BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
2422WINBASEAPI BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
2423#define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
2424WINBASEAPI BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
2425WINBASEAPI BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
2426#define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
2427WINBASEAPI BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
2428WINBASEAPI BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
2429#define WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
2430WINBASEAPI BOOL WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
2431WINBASEAPI BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
2432WINBASEAPI BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
2433#define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
2434WINBASEAPI BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
2435WINBASEAPI BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
2436#define WriteProfileString WINELIB_NAME_AW(WriteProfileString)
2437WINBASEAPI DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
2438#define Yield()
2439WINBASEAPI BOOL WINAPI ZombifyActCtx(HANDLE);
2440
2441WINBASEAPI INT WINAPI lstrcmpA(LPCSTR,LPCSTR);
2442WINBASEAPI INT WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
2443WINBASEAPI INT WINAPI lstrcmpiA(LPCSTR,LPCSTR);
2444WINBASEAPI INT WINAPI lstrcmpiW(LPCWSTR,LPCWSTR);
2445
2446#if !defined(__WINESRC__) || defined(WINE_NO_INLINE_STRING)
2447
2448WINBASEAPI LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
2449WINBASEAPI LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
2450WINBASEAPI LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
2451WINBASEAPI LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
2452WINBASEAPI LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,INT);
2453WINBASEAPI LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,INT);
2454WINBASEAPI INT WINAPI lstrlenA(LPCSTR);
2455WINBASEAPI INT WINAPI lstrlenW(LPCWSTR);
2456
2457#else
2458
2459/* string functions without the exception handler */
2460
2461static inline LPWSTR WINAPI lstrcpynW( LPWSTR dst, LPCWSTR src, INT n )
2462{
2463 LPWSTR d = dst;
2464 LPCWSTR s = src;
2465 UINT count = n;
2466
2467 while ((count > 1) && *s)
2468 {
2469 count--;
2470 *d++ = *s++;
2471 }
2472 if (count) *d = 0;
2473 return dst;
2474}
2475
2476static inline LPSTR WINAPI lstrcpynA( LPSTR dst, LPCSTR src, INT n )
2477{
2478 LPSTR d = dst;
2479 LPCSTR s = src;
2480 UINT count = n;
2481
2482 while ((count > 1) && *s)
2483 {
2484 count--;
2485 *d++ = *s++;
2486 }
2487 if (count) *d = 0;
2488 return dst;
2489}
2490
2491static inline INT WINAPI lstrlenW( LPCWSTR str )
2492{
2493 const WCHAR *s = str;
2494 while (*s) s++;
2495 return s - str;
2496}
2497
2498static inline INT WINAPI lstrlenA( LPCSTR str )
2499{
2500 return strlen( str );
2501}
2502
2503static inline LPWSTR WINAPI lstrcpyW( LPWSTR dst, LPCWSTR src )
2504{
2505 WCHAR *p = dst;
2506 while ((*p++ = *src++));
2507 return dst;
2508}
2509
2510static inline LPSTR WINAPI lstrcpyA( LPSTR dst, LPCSTR src )
2511{
2512 return strcpy( dst, src );
2513}
2514
2515static inline LPWSTR WINAPI lstrcatW( LPWSTR dst, LPCWSTR src )
2516{
2517 WCHAR *p = dst;
2518 while (*p) p++;
2519 while ((*p++ = *src++));
2520 return dst;
2521}
2522
2523static inline LPSTR WINAPI lstrcatA( LPSTR dst, LPCSTR src )
2524{
2525 return strcat( dst, src );
2526}
2527
2528/* strncpy doesn't do what you think, don't use it */
2529#undef strncpy
2530#define strncpy(d,s,n) error do_not_use_strncpy_use_lstrcpynA_or_memcpy_instead
2531
2532#endif /* !defined(__WINESRC__) || defined(WINE_NO_INLINE_STRING) */
2533
2534#define lstrcat WINELIB_NAME_AW(lstrcat)
2535#define lstrcmp WINELIB_NAME_AW(lstrcmp)
2536#define lstrcmpi WINELIB_NAME_AW(lstrcmpi)
2537#define lstrcpy WINELIB_NAME_AW(lstrcpy)
2538#define lstrcpyn WINELIB_NAME_AW(lstrcpyn)
2539#define lstrlen WINELIB_NAME_AW(lstrlen)
2540
2541WINBASEAPI LONG WINAPI _hread(HFILE,LPVOID,LONG);
2542WINBASEAPI LONG WINAPI _hwrite(HFILE,LPCSTR,LONG);
2543WINBASEAPI HFILE WINAPI _lcreat(LPCSTR,INT);
2544WINBASEAPI HFILE WINAPI _lclose(HFILE);
2545WINBASEAPI LONG WINAPI _llseek(HFILE,LONG,INT);
2546WINBASEAPI HFILE WINAPI _lopen(LPCSTR,INT);
2547WINBASEAPI UINT WINAPI _lread(HFILE,LPVOID,UINT);
2548WINBASEAPI UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
2549
2550/* compatibility macros */
2551#define FillMemory RtlFillMemory
2552#define MoveMemory RtlMoveMemory
2553#define ZeroMemory RtlZeroMemory
2554#define CopyMemory RtlCopyMemory
2555
2556/* Wine internal functions */
2557
2558extern char * CDECL wine_get_unix_file_name( LPCWSTR dos );
2559extern WCHAR * CDECL wine_get_dos_file_name( LPCSTR str );
2560
2561
2562/* Interlocked functions */
2563
2564#ifdef __i386__
2565# if defined(__GNUC__) && !defined(_NTSYSTEM_) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
2566
2567static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
2568{
2569 LONG ret;
2570 __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"
2571 : "=a" (ret) : "r" (dest), "r" (xchg), "0" (compare) : "memory" );
2572 return ret;
2573}
2574
2575static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
2576{
2577 LONG ret;
2578 __asm__ __volatile__( "lock; xchgl %0,(%1)"
2579 : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
2580 return ret;
2581}
2582
2583static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
2584{
2585 LONG ret;
2586 __asm__ __volatile__( "lock; xaddl %0,(%1)"
2587 : "=r" (ret) : "r" (dest), "0" (incr) : "memory" );
2588 return ret;
2589}
2590
2591static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
2592{
2593 return InterlockedExchangeAdd( dest, 1 ) + 1;
2594}
2595
2596static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
2597{
2598 return InterlockedExchangeAdd( dest, -1 ) - 1;
2599}
2600
2601# else /* __GNUC__ */
2602
2603WINBASEAPI LONG WINAPI InterlockedCompareExchange(LONG volatile*,LONG,LONG);
2604WINBASEAPI LONG WINAPI InterlockedDecrement(LONG volatile*);
2605WINBASEAPI LONG WINAPI InterlockedExchange(LONG volatile*,LONG);
2606WINBASEAPI LONG WINAPI InterlockedExchangeAdd(LONG volatile*,LONG);
2607WINBASEAPI LONG WINAPI InterlockedIncrement(LONG volatile*);
2608
2609# endif /* __GNUC__ */
2610
2611static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
2612{
2613 return (PVOID)InterlockedCompareExchange( (LONG volatile*)dest, (LONG)xchg, (LONG)compare );
2614}
2615
2616static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
2617{
2618 return (PVOID)InterlockedExchange( (LONG volatile*)dest, (LONG)val );
2619}
2620
2621WINBASEAPI LONGLONG WINAPI InterlockedCompareExchange64(LONGLONG volatile*,LONGLONG,LONGLONG);
2622
2623#elif defined(_MSC_VER)
2624
2625#pragma intrinsic(_InterlockedCompareExchange)
2626#pragma intrinsic(_InterlockedCompareExchangePointer)
2627#pragma intrinsic(_InterlockedCompareExchange64)
2628#pragma intrinsic(_InterlockedExchange)
2629#pragma intrinsic(_InterlockedExchangePointer)
2630#pragma intrinsic(_InterlockedExchangeAdd)
2631#pragma intrinsic(_InterlockedIncrement)
2632#pragma intrinsic(_InterlockedDecrement)
2633
2634static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
2635{
2636 return _InterlockedCompareExchange( dest, xchg, compare );
2637}
2638
2639static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
2640{
2641 return _InterlockedCompareExchangePointer( dest, xchg, compare );
2642}
2643
2644static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
2645{
2646 return _InterlockedCompareExchange64( dest, xchg, compare );
2647}
2648
2649static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
2650{
2651 return _InterlockedExchange( dest, val );
2652}
2653
2654static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
2655{
2656 return _InterlockedExchangePointer( dest, val );
2657}
2658
2659static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
2660{
2661 return _InterlockedExchangeAdd( dest, incr );
2662}
2663
2664static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
2665{
2666 return _InterlockedIncrement( dest );
2667}
2668
2669static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
2670{
2671 return _InterlockedDecrement( dest );
2672}
2673
2674#elif defined(__GNUC__)
2675
2676static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
2677{
2678 return __sync_val_compare_and_swap( dest, compare, xchg );
2679}
2680
2681static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
2682{
2683 return __sync_val_compare_and_swap( dest, compare, xchg );
2684}
2685
2686static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
2687{
2688 return __sync_val_compare_and_swap( dest, compare, xchg );
2689}
2690
2691static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
2692{
2693 LONG ret;
2694#ifdef __x86_64__
2695 __asm__ __volatile__( "lock; xchgl %0,(%1)" : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
2696#else
2697 do ret = *dest; while (!__sync_bool_compare_and_swap( dest, ret, val ));
2698#endif
2699 return ret;
2700}
2701
2702static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
2703{
2704 PVOID ret;
2705#ifdef __x86_64__
2706 __asm__ __volatile__( "lock; xchgq %0,(%1)" : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
2707#else
2708 do ret = *dest; while (!__sync_bool_compare_and_swap( dest, ret, val ));
2709#endif
2710 return ret;
2711}
2712
2713static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
2714{
2715 return __sync_fetch_and_add( dest, incr );
2716}
2717
2718static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
2719{
2720 return __sync_add_and_fetch( dest, 1 );
2721}
2722
2723static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
2724{
2725 return __sync_add_and_fetch( dest, -1 );
2726}
2727
2728#endif /* __i386__ */
2729
2730/* A few optimizations for gcc */
2731
2732#if defined(__GNUC__) && !defined(__MINGW32__) && (defined(__i386__) || defined(__x86_64__)) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
2733
2734static FORCEINLINE DWORD WINAPI GetLastError(void)
2735{
2736 DWORD ret;
2737#ifdef __x86_64__
2738 __asm__ __volatile__( ".byte 0x65\n\tmovl 0x68,%0" : "=r" (ret) );
2739#else
2740 __asm__ __volatile__( ".byte 0x64\n\tmovl 0x34,%0" : "=r" (ret) );
2741#endif
2742 return ret;
2743}
2744
2745static FORCEINLINE DWORD WINAPI GetCurrentProcessId(void)
2746{
2747 DWORD ret;
2748#ifdef __x86_64__
2749 __asm__ __volatile__( ".byte 0x65\n\tmovl 0x40,%0" : "=r" (ret) );
2750#else
2751 __asm__ __volatile__( ".byte 0x64\n\tmovl 0x20,%0" : "=r" (ret) );
2752#endif
2753 return ret;
2754}
2755
2756static FORCEINLINE DWORD WINAPI GetCurrentThreadId(void)
2757{
2758 DWORD ret;
2759#ifdef __x86_64__
2760 __asm__ __volatile__( ".byte 0x65\n\tmovl 0x48,%0" : "=r" (ret) );
2761#else
2762 __asm__ __volatile__( ".byte 0x64\n\tmovl 0x24,%0" : "=r" (ret) );
2763#endif
2764 return ret;
2765}
2766
2767static FORCEINLINE void WINAPI SetLastError( DWORD err )
2768{
2769#ifdef __x86_64__
2770 __asm__ __volatile__( ".byte 0x65\n\tmovl %0,0x68" : : "r" (err) : "memory" );
2771#else
2772 __asm__ __volatile__( ".byte 0x64\n\tmovl %0,0x34" : : "r" (err) : "memory" );
2773#endif
2774}
2775
2776static FORCEINLINE HANDLE WINAPI GetProcessHeap(void)
2777{
2778 HANDLE *pdb;
2779#ifdef __x86_64__
2780 __asm__ __volatile__( ".byte 0x65\n\tmovq 0x60,%0" : "=r" (pdb) );
2781 return pdb[0x30 / sizeof(HANDLE)]; /* get dword at offset 0x30 in pdb */
2782#else
2783 __asm__ __volatile__( ".byte 0x64\n\tmovl 0x30,%0" : "=r" (pdb) );
2784 return pdb[0x18 / sizeof(HANDLE)]; /* get dword at offset 0x18 in pdb */
2785#endif
2786}
2787
2788#else /* __GNUC__ */
2789
2790WINBASEAPI DWORD WINAPI GetCurrentProcessId(void);
2791WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
2792WINBASEAPI DWORD WINAPI GetLastError(void);
2793WINBASEAPI HANDLE WINAPI GetProcessHeap(void);
2794WINBASEAPI VOID WINAPI SetLastError(DWORD);
2795
2796#endif /* __GNUC__ */
2797
2798#ifdef __WINESRC__
2799#define GetCurrentProcess() ((HANDLE)~(ULONG_PTR)0)
2800#define GetCurrentThread() ((HANDLE)~(ULONG_PTR)1)
2801#endif
2802
2803/* WinMain(entry point) must be declared in winbase.h. */
2804/* If this is not declared, we cannot compile many sources written with C++. */
2805int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
2806
2807#ifdef __WINESRC__
2808/* shouldn't be here, but is nice for type checking */
2809BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved ) DECLSPEC_HIDDEN;
2810#endif
2811
2812#ifdef __cplusplus
2813}
2814#endif
2815
2816#endif /* __WINE_WINBASE_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette