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