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