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