VirtualBox

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

Last change on this file since 69505 was 53206, checked in by vboxsync, 10 years ago

Devices/vmsvga: header fixes

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

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