source: trunk/include/win/winbase.h@ 5148

Last change on this file since 5148 was 5148, checked in by sandervl, 25 years ago

YD: header changes for compiling opera

File size: 93.4 KB
Line 
1#ifndef __WINE_WINBASE_H
2#define __WINE_WINBASE_H
3
4#include "winnt.h"
5
6#include "pshpack1.h"
7
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct tagCOORD {
14 INT16 x;
15 INT16 y;
16} COORD, *LPCOORD;
17
18
19 /* Windows Exit Procedure flag values */
20#define WEP_FREE_DLL 0
21#define WEP_SYSTEM_EXIT 1
22
23typedef DWORD (* CALLBACK LPTHREAD_START_ROUTINE)(LPVOID);
24
25/* This is also defined in winnt.h */
26/* typedef struct _EXCEPTION_RECORD {
27 DWORD ExceptionCode;
28 DWORD ExceptionFlags;
29 struct _EXCEPTION_RECORD *ExceptionRecord;
30 LPVOID ExceptionAddress;
31 DWORD NumberParameters;
32 DWORD ExceptionInformation[15];
33} EXCEPTION_RECORD; */
34
35typedef struct _EXCEPTION_DEBUG_INFO {
36/* EXCEPTION_RECORD ExceptionRecord; */
37 DWORD dwFirstChange;
38} EXCEPTION_DEBUG_INFO;
39
40typedef struct _CREATE_THREAD_DEBUG_INFO {
41 HANDLE hThread;
42 LPVOID lpThreadLocalBase;
43 LPTHREAD_START_ROUTINE lpStartAddress;
44} CREATE_THREAD_DEBUG_INFO;
45
46typedef struct _CREATE_PROCESS_DEBUG_INFO {
47 HANDLE hFile;
48 HANDLE hProcess;
49 HANDLE hThread;
50 LPVOID lpBaseOfImage;
51 DWORD dwDebugInfoFileOffset;
52 DWORD nDebugInfoSize;
53 LPVOID lpThreadLocalBase;
54 LPTHREAD_START_ROUTINE lpStartAddress;
55 LPVOID lpImageName;
56 WORD fUnicode;
57} CREATE_PROCESS_DEBUG_INFO;
58
59typedef struct _EXIT_THREAD_DEBUG_INFO {
60 DWORD dwExitCode;
61} EXIT_THREAD_DEBUG_INFO;
62
63typedef struct _EXIT_PROCESS_DEBUG_INFO {
64 DWORD dwExitCode;
65} EXIT_PROCESS_DEBUG_INFO;
66
67typedef struct _LOAD_DLL_DEBUG_INFO {
68 HANDLE hFile;
69 LPVOID lpBaseOfDll;
70 DWORD dwDebugInfoFileOffset;
71 DWORD nDebugInfoSize;
72 LPVOID lpImageName;
73 WORD fUnicode;
74} LOAD_DLL_DEBUG_INFO;
75
76typedef struct _UNLOAD_DLL_DEBUG_INFO {
77 LPVOID lpBaseOfDll;
78} UNLOAD_DLL_DEBUG_INFO;
79
80typedef struct _OUTPUT_DEBUG_STRING_INFO {
81 LPSTR lpDebugStringData;
82 WORD fUnicode;
83 WORD nDebugStringLength;
84} OUTPUT_DEBUG_STRING_INFO;
85
86typedef struct _RIP_INFO {
87 DWORD dwError;
88 DWORD dwType;
89} RIP_INFO;
90
91typedef struct _DEBUG_EVENT {
92 DWORD dwDebugEventCode;
93 DWORD dwProcessId;
94 DWORD dwThreadId;
95 union {
96 EXCEPTION_DEBUG_INFO Exception;
97 CREATE_THREAD_DEBUG_INFO CreateThread;
98 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
99 EXIT_THREAD_DEBUG_INFO ExitThread;
100 EXIT_PROCESS_DEBUG_INFO ExitProcess;
101 LOAD_DLL_DEBUG_INFO LoadDll;
102 UNLOAD_DLL_DEBUG_INFO UnloadDll;
103 OUTPUT_DEBUG_STRING_INFO DebugString;
104 RIP_INFO RipInfo;
105 } u;
106} DEBUG_EVENT, *LPDEBUG_EVENT;
107
108#define EXCEPTION_DEBUG_EVENT 1
109#define CREATE_THREAD_DEBUG_EVENT 2
110#define CREATE_PROCESS_DEBUG_EVENT 3
111#define EXIT_THREAD_DEBUG_EVENT 4
112#define EXIT_PROCESS_DEBUG_EVENT 5
113#define LOAD_DLL_DEBUG_EVENT 6
114#define UNLOAD_DLL_DEBUG_EVENT 7
115#define OUTPUT_DEBUG_STRING_EVENT 8
116#define RIP_EVENT 9
117
118#define OFS_MAXPATHNAME 128
119typedef struct
120{
121 BYTE cBytes;
122 BYTE fFixedDisk;
123 WORD nErrCode;
124 BYTE reserved[4];
125 BYTE szPathName[OFS_MAXPATHNAME];
126} OFSTRUCT, *LPOFSTRUCT;
127
128#define OF_READ 0x0000
129#define OF_WRITE 0x0001
130#define OF_READWRITE 0x0002
131#define OF_SHARE_COMPAT 0x0000
132#define OF_SHARE_EXCLUSIVE 0x0010
133#define OF_SHARE_DENY_WRITE 0x0020
134#define OF_SHARE_DENY_READ 0x0030
135#define OF_SHARE_DENY_NONE 0x0040
136#define OF_PARSE 0x0100
137#define OF_DELETE 0x0200
138#define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
139#define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
140#define OF_CANCEL 0x0800
141#define OF_CREATE 0x1000
142#define OF_PROMPT 0x2000
143#define OF_EXIST 0x4000
144#define OF_REOPEN 0x8000
145
146/* SetErrorMode values */
147#define SEM_FAILCRITICALERRORS 0x0001
148#define SEM_NOGPFAULTERRORBOX 0x0002
149#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
150#define SEM_NOOPENFILEERRORBOX 0x8000
151
152/* CopyFileEx flags */
153#define COPY_FILE_FAIL_IF_EXISTS 0x00000001
154#define COPY_FILE_RESTARTABLE 0x00000002
155#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
156
157/* GetTempFileName() Flags */
158#define TF_FORCEDRIVE 0x80
159
160
161#define DRIVE_UNKNOWN 0
162#define DRIVE_NO_ROOT_DIR 1
163#define DRIVE_CANNOTDETERMINE 0
164#define DRIVE_DOESNOTEXIST 1
165#define DRIVE_REMOVABLE 2
166#define DRIVE_FIXED 3
167#define DRIVE_REMOTE 4
168/* Win32 additions */
169#define DRIVE_CDROM 5
170#define DRIVE_RAMDISK 6
171
172/* The security attributes structure */
173typedef struct
174{
175 DWORD nLength;
176 LPVOID lpSecurityDescriptor;
177 BOOL bInheritHandle;
178} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
179
180#ifndef _FILETIME_
181#define _FILETIME_
182/* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
183typedef struct
184{
185 DWORD dwLowDateTime;
186 DWORD dwHighDateTime;
187} FILETIME, *LPFILETIME;
188#endif /* _FILETIME_ */
189
190/* Find* structures */
191typedef struct
192{
193 DWORD dwFileAttributes;
194 FILETIME ftCreationTime;
195 FILETIME ftLastAccessTime;
196 FILETIME ftLastWriteTime;
197 DWORD nFileSizeHigh;
198 DWORD nFileSizeLow;
199 DWORD dwReserved0;
200 DWORD dwReserved1;
201 CHAR cFileName[260];
202 CHAR cAlternateFileName[14];
203} WIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
204
205typedef struct
206{
207 DWORD dwFileAttributes;
208 FILETIME ftCreationTime;
209 FILETIME ftLastAccessTime;
210 FILETIME ftLastWriteTime;
211 DWORD nFileSizeHigh;
212 DWORD nFileSizeLow;
213 DWORD dwReserved0;
214 DWORD dwReserved1;
215 WCHAR cFileName[260];
216 WCHAR cAlternateFileName[14];
217} WIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
218
219DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)
220DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)
221
222typedef struct
223{
224 LPVOID lpData;
225 DWORD cbData;
226 BYTE cbOverhead;
227 BYTE iRegionIndex;
228 WORD wFlags;
229 union {
230 struct {
231 HANDLE hMem;
232 DWORD dwReserved[3];
233 } Block;
234 struct {
235 DWORD dwCommittedSize;
236 DWORD dwUnCommittedSize;
237 LPVOID lpFirstBlock;
238 LPVOID lpLastBlock;
239 } Region;
240 } Foo;
241} PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY;
242
243#define PROCESS_HEAP_REGION 0x0001
244#define PROCESS_HEAP_UNCOMMITTED_RANGE 0x0002
245#define PROCESS_HEAP_ENTRY_BUSY 0x0004
246#define PROCESS_HEAP_ENTRY_MOVEABLE 0x0010
247#define PROCESS_HEAP_ENTRY_DDESHARE 0x0020
248
249#define INVALID_HANDLE_VALUE16 ((HANDLE16) -1)
250#define INVALID_HANDLE_VALUE ((HANDLE) -1)
251
252/* comm */
253
254/*
255 Serial provider type
256 */
257#define SP_SERIALCOMM ((DWORD)0x00000001)
258/*
259 Provider SubTypes
260 */
261#define PST_UNSPECIFIED ((DWORD)0x00000000)
262#define PST_RS232 ((DWORD)0x00000001)
263#define PST_PARALLELPORT ((DWORD)0x00000002)
264#define PST_RS422 ((DWORD)0x00000003)
265#define PST_RS423 ((DWORD)0x00000004)
266#define PST_RS449 ((DWORD)0x00000005)
267#define PST_MODEM ((DWORD)0x00000006)
268#define PST_FAX ((DWORD)0x00000021)
269#define PST_SCANNER ((DWORD)0x00000022)
270#define PST_NETWORK_BRIDGE ((DWORD)0x00000100)
271#define PST_LAT ((DWORD)0x00000101)
272#define PST_TCPIP_TELNET ((DWORD)0x00000102)
273#define PST_X25 ((DWORD)0x00000103)
274/*
275 Provider Caps
276 */
277#define PCF_DTRDSR ((DWORD)0x00000001)
278#define PCF_RTSCTS ((DWORD)0x00000002)
279#define PCF_RLSD ((DWORD)0x00000004)
280#define PCF_PARITY_CHECK ((DWORD)0x00000008)
281#define PCF_XONXOFF ((DWORD)0x00000010)
282#define PCF_SETXCHAR ((DWORD)0x00000020)
283#define PCF_TOTALTIMEOUTS ((DWORD)0x00000040)
284#define PCF_INITTIMEOUTS ((DWORD)0x00000080)
285#define PCF_SPECIALCHARS ((DWORD)0x00000100)
286#define PCF_16BITMODE ((DWORD)0x00000200)
287
288/*
289 Provider setable parameters
290 */
291#define SP_PARITY ((DWORD)0x00000001)
292#define SP_BAUD ((DWORD)0x00000002)
293#define SP_DATABITS ((DWORD)0x00000004)
294#define SP_STOPBIT ((DWORD)0x00000008)
295#define SP_HANDSHAKEING ((DWORD)0x00000010)
296#define SP_PARITY_CHECK ((DWORD)0x00000020)
297#define SP_RLSD ((DWORD)0x00000040)
298/*
299 Settable baudrates in the provider
300*/
301#define BAUD_075 ((DWORD)0x00000001)
302#define BAUD_110 ((DWORD)0x00000002)
303#define BAUD_134_5 ((DWORD)0x00000004)
304#define BAUD_150 ((DWORD)0x00000008)
305#define BAUD_300 ((DWORD)0x00000010)
306#define BAUD_600 ((DWORD)0x00000020)
307#define BAUD_1200 ((DWORD)0x00000040)
308#define BAUD_1800 ((DWORD)0x00000080)
309#define BAUD_2400 ((DWORD)0x00000100)
310#define BAUD_4800 ((DWORD)0x00000200)
311#define BAUD_7200 ((DWORD)0x00000400)
312#define BAUD_9600 ((DWORD)0x00000800)
313#define BAUD_14400 ((DWORD)0x00001000)
314#define BAUD_19200 ((DWORD)0x00002000)
315#define BAUD_38400 ((DWORD)0x00004000)
316#define BAUD_56K ((DWORD)0x00008000)
317#define BAUD_128K ((DWORD)0x00010000)
318#define BAUD_115200 ((DWORD)0x00020000)
319#define BAUD_57600 ((DWORD)0x00040000)
320#define BAUD_USER ((DWORD)0x10000000)
321
322/*
323 Setable Databits
324 */
325#define DATABITS_5 ((DWORD)0x00000001)
326#define DATABITS_6 ((DWORD)0x00000002)
327#define DATABITS_7 ((DWORD)0x00000004)
328#define DATABITS_8 ((DWORD)0x00000008)
329#define DATABITS_16 ((DWORD)0x00000010)
330#define DATABITS_16X ((DWORD)0x00000020)
331
332/*
333 Setable Stop and Parity Bits
334 */
335
336#define STOPBITS_10 ((DWORD)0x00000001)
337#define STOPBITS_15 ((DWORD)0x00000002)
338#define STOPBITS_20 ((DWORD)0x00000004)
339#define PARITY_NONE ((DWORD)0x00000100)
340#define PARITY_ODD ((DWORD)0x00000200)
341#define PARITY_EVEN ((DWORD)0x00000400)
342#define PARITY_MARK ((DWORD)0x00000800)
343#define PARITY_SPACE ((DWORD)0x00001000)
344
345#define CBR_110 0xFF10
346#define CBR_300 0xFF11
347#define CBR_600 0xFF12
348#define CBR_1200 0xFF13
349#define CBR_2400 0xFF14
350#define CBR_4800 0xFF15
351#define CBR_9600 0xFF16
352#define CBR_14400 0xFF17
353#define CBR_19200 0xFF18
354#define CBR_38400 0xFF1B
355#define CBR_56000 0xFF1F
356#define CBR_128000 0xFF23
357#define CBR_256000 0xFF27
358
359#define NOPARITY 0
360#define ODDPARITY 1
361#define EVENPARITY 2
362#define MARKPARITY 3
363#define SPACEPARITY 4
364#define ONESTOPBIT 0
365#define ONE5STOPBITS 1
366#define TWOSTOPBITS 2
367
368#define IGNORE 0
369#define INFINITE16 0xFFFF
370#define INFINITE 0xFFFFFFFF
371
372#define CE_RXOVER 0x0001
373#define CE_OVERRUN 0x0002
374#define CE_RXPARITY 0x0004
375#define CE_FRAME 0x0008
376#define CE_BREAK 0x0010
377#define CE_CTSTO 0x0020
378#define CE_DSRTO 0x0040
379#define CE_RLSDTO 0x0080
380#define CE_TXFULL 0x0100
381#define CE_PTO 0x0200
382#define CE_IOE 0x0400
383#define CE_DNS 0x0800
384#define CE_OOP 0x1000
385#define CE_MODE 0x8000
386
387#define IE_BADID -1
388#define IE_OPEN -2
389#define IE_NOPEN -3
390#define IE_MEMORY -4
391#define IE_DEFAULT -5
392#define IE_HARDWARE -10
393#define IE_BYTESIZE -11
394#define IE_BAUDRATE -12
395
396#define EV_RXCHAR 0x0001
397#define EV_RXFLAG 0x0002
398#define EV_TXEMPTY 0x0004
399#define EV_CTS 0x0008
400#define EV_DSR 0x0010
401#define EV_RLSD 0x0020
402#define EV_BREAK 0x0040
403#define EV_ERR 0x0080
404#define EV_RING 0x0100
405#define EV_PERR 0x0200
406#define EV_CTSS 0x0400
407#define EV_DSRS 0x0800
408#define EV_RLSDS 0x1000
409#define EV_RINGTE 0x2000
410#define EV_RingTe EV_RINGTE
411
412#define SETXOFF 1
413#define SETXON 2
414#define SETRTS 3
415#define CLRRTS 4
416#define SETDTR 5
417#define CLRDTR 6
418#define RESETDEV 7
419#define SETBREAK 8
420#define CLRBREAK 9
421
422#define GETBASEIRQ 10
423
424/* Purge functions for Comm Port */
425#define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the
426 comm port */
427#define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to
428 the comm port */
429#define PURGE_TXCLEAR 0x0004 /* Kill the transmit queue if there*/
430#define PURGE_RXCLEAR 0x0008 /* Kill the typeahead buffer if there*/
431
432
433/* Modem Status Flags */
434#define MS_CTS_ON ((DWORD)0x0010)
435#define MS_DSR_ON ((DWORD)0x0020)
436#define MS_RING_ON ((DWORD)0x0040)
437#define MS_RLSD_ON ((DWORD)0x0080)
438
439#define RTS_CONTROL_DISABLE 0
440#define RTS_CONTROL_ENABLE 1
441#define RTS_CONTROL_HANDSHAKE 2
442#define RTS_CONTROL_TOGGLE 3
443
444#define DTR_CONTROL_DISABLE 0
445#define DTR_CONTROL_ENABLE 1
446#define DTR_CONTROL_HANDSHAKE 2
447
448#define CSTF_CTSHOLD 0x01
449#define CSTF_DSRHOLD 0x02
450#define CSTF_RLSDHOLD 0x04
451#define CSTF_XOFFHOLD 0x08
452#define CSTF_XOFFSENT 0x10
453#define CSTF_EOF 0x20
454#define CSTF_TXIM 0x40
455
456#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
457#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
458#define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
459
460/* Predefined resource types */
461#define RT_CURSORA MAKEINTRESOURCEA(1)
462#define RT_CURSORW MAKEINTRESOURCEW(1)
463#define RT_CURSOR WINELIB_NAME_AW(RT_CURSOR)
464#define RT_BITMAPA MAKEINTRESOURCEA(2)
465#define RT_BITMAPW MAKEINTRESOURCEW(2)
466#define RT_BITMAP WINELIB_NAME_AW(RT_BITMAP)
467#define RT_ICONA MAKEINTRESOURCEA(3)
468#define RT_ICONW MAKEINTRESOURCEW(3)
469#define RT_ICON WINELIB_NAME_AW(RT_ICON)
470#define RT_MENUA MAKEINTRESOURCEA(4)
471#define RT_MENUW MAKEINTRESOURCEW(4)
472#define RT_MENU WINELIB_NAME_AW(RT_MENU)
473#define RT_DIALOGA MAKEINTRESOURCEA(5)
474#define RT_DIALOGW MAKEINTRESOURCEW(5)
475#define RT_DIALOG WINELIB_NAME_AW(RT_DIALOG)
476#define RT_STRINGA MAKEINTRESOURCEA(6)
477#define RT_STRINGW MAKEINTRESOURCEW(6)
478#define RT_STRING WINELIB_NAME_AW(RT_STRING)
479#define RT_FONTDIRA MAKEINTRESOURCEA(7)
480#define RT_FONTDIRW MAKEINTRESOURCEW(7)
481#define RT_FONTDIR WINELIB_NAME_AW(RT_FONTDIR)
482#define RT_FONTA MAKEINTRESOURCEA(8)
483#define RT_FONTW MAKEINTRESOURCEW(8)
484#define RT_FONT WINELIB_NAME_AW(RT_FONT)
485#define RT_ACCELERATORA MAKEINTRESOURCEA(9)
486#define RT_ACCELERATORW MAKEINTRESOURCEW(9)
487#define RT_ACCELERATOR WINELIB_NAME_AW(RT_ACCELERATOR)
488#define RT_RCDATAA MAKEINTRESOURCEA(10)
489#define RT_RCDATAW MAKEINTRESOURCEW(10)
490#define RT_RCDATA WINELIB_NAME_AW(RT_RCDATA)
491#define RT_MESSAGELISTA MAKEINTRESOURCEA(11)
492#define RT_MESSAGELISTW MAKEINTRESOURCEW(11)
493#define RT_MESSAGELIST WINELIB_NAME_AW(RT_MESSAGELIST)
494#define RT_GROUP_CURSORA MAKEINTRESOURCEA(12)
495#define RT_GROUP_CURSORW MAKEINTRESOURCEW(12)
496#define RT_GROUP_CURSOR WINELIB_NAME_AW(RT_GROUP_CURSOR)
497#define RT_GROUP_ICONA MAKEINTRESOURCEA(14)
498#define RT_GROUP_ICONW MAKEINTRESOURCEW(14)
499#define RT_GROUP_ICON WINELIB_NAME_AW(RT_GROUP_ICON)
500
501
502#define LMEM_FIXED 0
503#define LMEM_MOVEABLE 0x0002
504#define LMEM_NOCOMPACT 0x0010
505#define LMEM_NODISCARD 0x0020
506#define LMEM_ZEROINIT 0x0040
507#define LMEM_MODIFY 0x0080
508#define LMEM_DISCARDABLE 0x0F00
509#define LMEM_DISCARDED 0x4000
510#define LMEM_LOCKCOUNT 0x00FF
511
512#define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
513#define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
514
515#define NONZEROLHND (LMEM_MOVEABLE)
516#define NONZEROLPTR (LMEM_FIXED)
517
518#define GMEM_FIXED 0x0000
519#define GMEM_MOVEABLE 0x0002
520#define GMEM_NOCOMPACT 0x0010
521#define GMEM_NODISCARD 0x0020
522#define GMEM_ZEROINIT 0x0040
523#define GMEM_MODIFY 0x0080
524#define GMEM_DISCARDABLE 0x0100
525#define GMEM_NOT_BANKED 0x1000
526#define GMEM_SHARE 0x2000
527#define GMEM_DDESHARE 0x2000
528#define GMEM_NOTIFY 0x4000
529#define GMEM_LOWER GMEM_NOT_BANKED
530#define GMEM_DISCARDED 0x4000
531#define GMEM_LOCKCOUNT 0x00ff
532#define GMEM_INVALID_HANDLE 0x8000
533
534#define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
535#define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
536
537
538typedef struct tagMEMORYSTATUS
539{
540 DWORD dwLength;
541 DWORD dwMemoryLoad;
542 DWORD dwTotalPhys;
543 DWORD dwAvailPhys;
544 DWORD dwTotalPageFile;
545 DWORD dwAvailPageFile;
546 DWORD dwTotalVirtual;
547 DWORD dwAvailVirtual;
548} MEMORYSTATUS, *LPMEMORYSTATUS;
549
550
551#ifndef NOLOGERROR
552
553/* LogParamError and LogError values */
554
555/* Error modifier bits */
556#define ERR_WARNING 0x8000
557#define ERR_PARAM 0x4000
558
559#define ERR_SIZE_MASK 0x3000
560#define ERR_BYTE 0x1000
561#define ERR_WORD 0x2000
562#define ERR_DWORD 0x3000
563
564/* LogParamError() values */
565
566/* Generic parameter values */
567#define ERR_BAD_VALUE 0x6001
568#define ERR_BAD_FLAGS 0x6002
569#define ERR_BAD_INDEX 0x6003
570#define ERR_BAD_DVALUE 0x7004
571#define ERR_BAD_DFLAGS 0x7005
572#define ERR_BAD_DINDEX 0x7006
573#define ERR_BAD_PTR 0x7007
574#define ERR_BAD_FUNC_PTR 0x7008
575#define ERR_BAD_SELECTOR 0x6009
576#define ERR_BAD_STRING_PTR 0x700a
577#define ERR_BAD_HANDLE 0x600b
578
579/* KERNEL parameter errors */
580#define ERR_BAD_HINSTANCE 0x6020
581#define ERR_BAD_HMODULE 0x6021
582#define ERR_BAD_GLOBAL_HANDLE 0x6022
583#define ERR_BAD_LOCAL_HANDLE 0x6023
584#define ERR_BAD_ATOM 0x6024
585#define ERR_BAD_HFILE 0x6025
586
587/* USER parameter errors */
588#define ERR_BAD_HWND 0x6040
589#define ERR_BAD_HMENU 0x6041
590#define ERR_BAD_HCURSOR 0x6042
591#define ERR_BAD_HICON 0x6043
592#define ERR_BAD_HDWP 0x6044
593#define ERR_BAD_CID 0x6045
594#define ERR_BAD_HDRVR 0x6046
595
596/* GDI parameter errors */
597#define ERR_BAD_COORDS 0x7060
598#define ERR_BAD_GDI_OBJECT 0x6061
599#define ERR_BAD_HDC 0x6062
600#define ERR_BAD_HPEN 0x6063
601#define ERR_BAD_HFONT 0x6064
602#define ERR_BAD_HBRUSH 0x6065
603#define ERR_BAD_HBITMAP 0x6066
604#define ERR_BAD_HRGN 0x6067
605#define ERR_BAD_HPALETTE 0x6068
606#define ERR_BAD_HMETAFILE 0x6069
607
608
609/* LogError() values */
610
611/* KERNEL errors */
612#define ERR_GALLOC 0x0001
613#define ERR_GREALLOC 0x0002
614#define ERR_GLOCK 0x0003
615#define ERR_LALLOC 0x0004
616#define ERR_LREALLOC 0x0005
617#define ERR_LLOCK 0x0006
618#define ERR_ALLOCRES 0x0007
619#define ERR_LOCKRES 0x0008
620#define ERR_LOADMODULE 0x0009
621
622/* USER errors */
623#define ERR_CREATEDLG 0x0040
624#define ERR_CREATEDLG2 0x0041
625#define ERR_REGISTERCLASS 0x0042
626#define ERR_DCBUSY 0x0043
627#define ERR_CREATEWND 0x0044
628#define ERR_STRUCEXTRA 0x0045
629#define ERR_LOADSTR 0x0046
630#define ERR_LOADMENU 0x0047
631#define ERR_NESTEDBEGINPAINT 0x0048
632#define ERR_BADINDEX 0x0049
633#define ERR_CREATEMENU 0x004a
634
635/* GDI errors */
636#define ERR_CREATEDC 0x0080
637#define ERR_CREATEMETA 0x0081
638#define ERR_DELOBJSELECTED 0x0082
639#define ERR_SELBITMAP 0x0083
640
641
642
643/* Debugging support (DEBUG SYSTEM ONLY) */
644typedef struct
645{
646 UINT16 flags;
647 DWORD dwOptions WINE_PACKED;
648 DWORD dwFilter WINE_PACKED;
649 CHAR achAllocModule[8] WINE_PACKED;
650 DWORD dwAllocBreak WINE_PACKED;
651 DWORD dwAllocCount WINE_PACKED;
652} WINDEBUGINFO, *LPWINDEBUGINFO;
653
654/* WINDEBUGINFO flags values */
655#define WDI_OPTIONS 0x0001
656#define WDI_FILTER 0x0002
657#define WDI_ALLOCBREAK 0x0004
658
659/* dwOptions values */
660#define DBO_CHECKHEAP 0x0001
661#define DBO_BUFFERFILL 0x0004
662#define DBO_DISABLEGPTRAPPING 0x0010
663#define DBO_CHECKFREE 0x0020
664
665#define DBO_SILENT 0x8000
666
667#define DBO_TRACEBREAK 0x2000
668#define DBO_WARNINGBREAK 0x1000
669#define DBO_NOERRORBREAK 0x0800
670#define DBO_NOFATALBREAK 0x0400
671#define DBO_INT3BREAK 0x0100
672
673/* DebugOutput flags values */
674#define DBF_TRACE 0x0000
675#define DBF_WARNING 0x4000
676#define DBF_ERROR 0x8000
677#define DBF_FATAL 0xc000
678
679/* dwFilter values */
680#define DBF_KERNEL 0x1000
681#define DBF_KRN_MEMMAN 0x0001
682#define DBF_KRN_LOADMODULE 0x0002
683#define DBF_KRN_SEGMENTLOAD 0x0004
684#define DBF_USER 0x0800
685#define DBF_GDI 0x0400
686#define DBF_MMSYSTEM 0x0040
687#define DBF_PENWIN 0x0020
688#define DBF_APPLICATION 0x0008
689#define DBF_DRIVER 0x0010
690
691#endif /* NOLOGERROR */
692
693typedef struct {
694 WORD wYear;
695 WORD wMonth;
696 WORD wDayOfWeek;
697 WORD wDay;
698 WORD wHour;
699 WORD wMinute;
700 WORD wSecond;
701 WORD wMilliseconds;
702} SYSTEMTIME, *LPSYSTEMTIME;
703
704
705/* Code page information.
706 */
707#define MAX_LEADBYTES 12
708#define MAX_DEFAULTCHAR 2
709
710typedef struct
711{
712 UINT MaxCharSize;
713 BYTE DefaultChar[MAX_DEFAULTCHAR];
714 BYTE LeadByte[MAX_LEADBYTES];
715} CPINFO, *LPCPINFO;
716
717/* The 'overlapped' data structure used by async I/O functions.
718 */
719typedef struct {
720 DWORD Internal;
721 DWORD InternalHigh;
722 DWORD Offset;
723 DWORD OffsetHigh;
724 HANDLE hEvent;
725} OVERLAPPED, *LPOVERLAPPED;
726
727typedef VOID (* WINAPI LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD dwErrorCode,
728 DWORD dwNumberOfBytesTransfered,
729 LPOVERLAPPED lpOverlapped);
730
731// LockFileEx flags
732
733#define LOCKFILE_FAIL_IMMEDIATELY 0x00000001
734#define LOCKFILE_EXCLUSIVE_LOCK 0x00000002
735
736
737/* Process startup information.
738 */
739
740/* STARTUPINFO.dwFlags */
741#define STARTF_USESHOWWINDOW 0x00000001
742#define STARTF_USESIZE 0x00000002
743#define STARTF_USEPOSITION 0x00000004
744#define STARTF_USECOUNTCHARS 0x00000008
745#define STARTF_USEFILLATTRIBUTE 0x00000010
746#define STARTF_RUNFULLSCREEN 0x00000020
747#define STARTF_FORCEONFEEDBACK 0x00000040
748#define STARTF_FORCEOFFFEEDBACK 0x00000080
749#define STARTF_USESTDHANDLES 0x00000100
750#define STARTF_USEHOTKEY 0x00000200
751
752typedef struct {
753 DWORD cb; /* 00: size of struct */
754 LPSTR lpReserved; /* 04: */
755 LPSTR lpDesktop; /* 08: */
756 LPSTR lpTitle; /* 0c: */
757 DWORD dwX; /* 10: */
758 DWORD dwY; /* 14: */
759 DWORD dwXSize; /* 18: */
760 DWORD dwYSize; /* 1c: */
761 DWORD dwXCountChars; /* 20: */
762 DWORD dwYCountChars; /* 24: */
763 DWORD dwFillAttribute; /* 28: */
764 DWORD dwFlags; /* 2c: */
765 WORD wShowWindow; /* 30: */
766 WORD cbReserved2; /* 32: */
767 BYTE *lpReserved2; /* 34: */
768 HANDLE hStdInput; /* 38: */
769 HANDLE hStdOutput; /* 3c: */
770 HANDLE hStdError; /* 40: */
771} STARTUPINFOA, *LPSTARTUPINFOA;
772
773typedef struct {
774 DWORD cb;
775 LPWSTR lpReserved;
776 LPWSTR lpDesktop;
777 LPWSTR lpTitle;
778 DWORD dwX;
779 DWORD dwY;
780 DWORD dwXSize;
781 DWORD dwYSize;
782 DWORD dwXCountChars;
783 DWORD dwYCountChars;
784 DWORD dwFillAttribute;
785 DWORD dwFlags;
786 WORD wShowWindow;
787 WORD cbReserved2;
788 BYTE *lpReserved2;
789 HANDLE hStdInput;
790 HANDLE hStdOutput;
791 HANDLE hStdError;
792} STARTUPINFOW, *LPSTARTUPINFOW;
793
794DECL_WINELIB_TYPE_AW(STARTUPINFO)
795DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
796
797typedef struct {
798 HANDLE hProcess;
799 HANDLE hThread;
800 DWORD dwProcessId;
801 DWORD dwThreadId;
802} PROCESS_INFORMATION,*LPPROCESS_INFORMATION;
803
804typedef struct {
805 LONG Bias;
806 WCHAR StandardName[32];
807 SYSTEMTIME StandardDate;
808 LONG StandardBias;
809 WCHAR DaylightName[32];
810 SYSTEMTIME DaylightDate;
811 LONG DaylightBias;
812} TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
813
814#define TIME_ZONE_ID_UNKNOWN 0
815#define TIME_ZONE_ID_STANDARD 1
816#define TIME_ZONE_ID_DAYLIGHT 2
817
818/* CreateProcess: dwCreationFlag values
819 */
820#define DEBUG_PROCESS 0x00000001
821#define DEBUG_ONLY_THIS_PROCESS 0x00000002
822#define CREATE_SUSPENDED 0x00000004
823#define DETACHED_PROCESS 0x00000008
824#define CREATE_NEW_CONSOLE 0x00000010
825#define NORMAL_PRIORITY_CLASS 0x00000020
826#define IDLE_PRIORITY_CLASS 0x00000040
827#define HIGH_PRIORITY_CLASS 0x00000080
828#define REALTIME_PRIORITY_CLASS 0x00000100
829#define CREATE_NEW_PROCESS_GROUP 0x00000200
830#define CREATE_UNICODE_ENVIRONMENT 0x00000400
831#define CREATE_SEPARATE_WOW_VDM 0x00000800
832#define CREATE_SHARED_WOW_VDM 0x00001000
833#define CREATE_DEFAULT_ERROR_MODE 0x04000000
834#define CREATE_NO_WINDOW 0x08000000
835#define PROFILE_USER 0x10000000
836#define PROFILE_KERNEL 0x20000000
837#define PROFILE_SERVER 0x40000000
838
839
840/* File object type definitions
841 */
842#define FILE_TYPE_UNKNOWN 0
843#define FILE_TYPE_DISK 1
844#define FILE_TYPE_CHAR 2
845#define FILE_TYPE_PIPE 3
846#define FILE_TYPE_REMOTE 32768
847
848/* File creation flags
849 */
850#define FILE_FLAG_WRITE_THROUGH 0x80000000UL
851#define FILE_FLAG_OVERLAPPED 0x40000000L
852#define FILE_FLAG_NO_BUFFERING 0x20000000L
853#define FILE_FLAG_RANDOM_ACCESS 0x10000000L
854#define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000L
855#define FILE_FLAG_DELETE_ON_CLOSE 0x04000000L
856#define FILE_FLAG_BACKUP_SEMANTICS 0x02000000L
857#define FILE_FLAG_POSIX_SEMANTICS 0x01000000L
858#define CREATE_NEW 1
859#define CREATE_ALWAYS 2
860#define OPEN_EXISTING 3
861#define OPEN_ALWAYS 4
862#define TRUNCATE_EXISTING 5
863
864/* Standard handle identifiers
865 */
866#define STD_INPUT_HANDLE ((DWORD) -10)
867#define STD_OUTPUT_HANDLE ((DWORD) -11)
868#define STD_ERROR_HANDLE ((DWORD) -12)
869
870typedef struct
871{
872 int dwFileAttributes;
873 FILETIME ftCreationTime;
874 FILETIME ftLastAccessTime;
875 FILETIME ftLastWriteTime;
876 int dwVolumeSerialNumber;
877 int nFileSizeHigh;
878 int nFileSizeLow;
879 int nNumberOfLinks;
880 int nFileIndexHigh;
881 int nFileIndexLow;
882} BY_HANDLE_FILE_INFORMATION ;
883
884
885typedef struct _SYSTEM_POWER_STATUS
886{
887 BOOL16 ACLineStatus;
888 BYTE BatteryFlag;
889 BYTE BatteryLifePercent;
890 BYTE reserved;
891 DWORD BatteryLifeTime;
892 DWORD BatteryFullLifeTime;
893} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
894
895typedef struct _MEMORY_BASIC_INFORMATION
896{
897 LPVOID BaseAddress;
898 LPVOID AllocationBase;
899 DWORD AllocationProtect;
900 DWORD RegionSize;
901 DWORD State;
902 DWORD Protect;
903 DWORD Type;
904} MEMORY_BASIC_INFORMATION,*LPMEMORY_BASIC_INFORMATION;
905
906
907typedef BOOL (* CALLBACK CODEPAGE_ENUMPROCA)(LPSTR);
908typedef BOOL (* CALLBACK CODEPAGE_ENUMPROCW)(LPWSTR);
909DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC)
910typedef BOOL (* CALLBACK LOCALE_ENUMPROCA)(LPSTR);
911typedef BOOL (* CALLBACK LOCALE_ENUMPROCW)(LPWSTR);
912DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC)
913
914typedef struct tagSYSTEM_INFO
915{
916 union {
917 DWORD dwOemId;
918 struct {
919 WORD wProcessorArchitecture;
920 WORD wReserved;
921 } x;
922 } u;
923 DWORD dwPageSize;
924 LPVOID lpMinimumApplicationAddress;
925 LPVOID lpMaximumApplicationAddress;
926 DWORD dwActiveProcessorMask;
927 DWORD dwNumberOfProcessors;
928 DWORD dwProcessorType;
929 DWORD dwAllocationGranularity;
930 WORD wProcessorLevel;
931 WORD wProcessorRevision;
932} SYSTEM_INFO, *LPSYSTEM_INFO;
933
934/* {G,S}etPriorityClass */
935#define NORMAL_PRIORITY_CLASS 0x00000020
936#define IDLE_PRIORITY_CLASS 0x00000040
937#define HIGH_PRIORITY_CLASS 0x00000080
938#define REALTIME_PRIORITY_CLASS 0x00000100
939
940typedef BOOL (* CALLBACK ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG);
941typedef BOOL (* CALLBACK ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG);
942typedef BOOL (* CALLBACK ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG);
943typedef BOOL (* CALLBACK ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG);
944typedef BOOL (* CALLBACK ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG);
945typedef BOOL (* CALLBACK ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG);
946
947DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
948DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
949DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
950
951/* flags that can be passed to LoadLibraryEx */
952#define DONT_RESOLVE_DLL_REFERENCES 0x00000001
953#define LOAD_LIBRARY_AS_DATAFILE 0x00000002
954#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
955
956/* ifdef _x86_ ... */
957typedef struct _LDT_ENTRY {
958 WORD LimitLow;
959 WORD BaseLow;
960 union {
961 struct {
962 BYTE BaseMid;
963 BYTE Flags1;/*Declare as bytes to avoid alignment problems */
964 BYTE Flags2;
965 BYTE BaseHi;
966 } Bytes;
967 struct {
968 unsigned BaseMid : 8;
969 unsigned Type : 5;
970 unsigned Dpl : 2;
971 unsigned Pres : 1;
972 unsigned LimitHi : 4;
973 unsigned Sys : 1;
974 unsigned Reserved_0 : 1;
975 unsigned Default_Big : 1;
976 unsigned Granularity : 1;
977 unsigned BaseHi : 8;
978 } Bits;
979 } HighWord;
980} LDT_ENTRY, *LPLDT_ENTRY;
981
982/* for WOWHandle{16,32} */
983typedef enum _WOW_HANDLE_TYPE { /* WOW */
984 WOW_TYPE_HWND,
985 WOW_TYPE_HMENU,
986 WOW_TYPE_HDWP,
987 WOW_TYPE_HDROP,
988 WOW_TYPE_HDC,
989 WOW_TYPE_HFONT,
990 WOW_TYPE_HMETAFILE,
991 WOW_TYPE_HRGN,
992 WOW_TYPE_HBITMAP,
993 WOW_TYPE_HBRUSH,
994 WOW_TYPE_HPALETTE,
995 WOW_TYPE_HPEN,
996 WOW_TYPE_HACCEL,
997 WOW_TYPE_HTASK,
998 WOW_TYPE_FULLHWND
999} WOW_HANDLE_TYPE;
1000
1001/* WOWCallback16Ex defines */
1002#define WCB16_MAX_CBARGS 16
1003/* ... dwFlags */
1004#define WCB16_PASCAL 0x0
1005#define WCB16_CDECL 0x1
1006
1007typedef enum _GET_FILEEX_INFO_LEVELS {
1008 GetFileExInfoStandard
1009} GET_FILEEX_INFO_LEVELS;
1010
1011typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
1012 DWORD dwFileAttributes;
1013 FILETIME ftCreationTime;
1014 FILETIME ftLastAccessTime;
1015 FILETIME ftLastWriteTime;
1016 DWORD nFileSizeHigh;
1017 DWORD nFileSizeLow;
1018} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
1019
1020typedef struct _DllVersionInfo {
1021 DWORD cbSize;
1022 DWORD dwMajorVersion;
1023 DWORD dwMinorVersion;
1024 DWORD dwBuildNumber;
1025 DWORD dwPlatformID;
1026} DLLVERSIONINFO;
1027
1028/*
1029 * This one seems to be a Win32 only definition. It also is defined with
1030 * WINAPI instead of CALLBACK in the windows headers.
1031 */
1032typedef DWORD (* WINAPI LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
1033 LARGE_INTEGER, DWORD, DWORD, HANDLE,
1034 HANDLE, LPVOID);
1035
1036
1037#define WAIT_FAILED 0xffffffff
1038#define WAIT_OBJECT_0 0
1039#define WAIT_ABANDONED STATUS_ABANDONED_WAIT_0
1040#define WAIT_ABANDONED_0 STATUS_ABANDONED_WAIT_0
1041#define WAIT_IO_COMPLETION STATUS_USER_APC
1042#define WAIT_TIMEOUT STATUS_TIMEOUT
1043
1044#define PAGE_NOACCESS 0x01
1045#define PAGE_READONLY 0x02
1046#define PAGE_READWRITE 0x04
1047#define PAGE_WRITECOPY 0x08
1048#define PAGE_EXECUTE 0x10
1049#define PAGE_EXECUTE_READ 0x20
1050#define PAGE_EXECUTE_READWRITE 0x40
1051#define PAGE_EXECUTE_WRITECOPY 0x80
1052#define PAGE_GUARD 0x100
1053#define PAGE_NOCACHE 0x200
1054
1055#define MEM_COMMIT 0x00001000
1056#define MEM_RESERVE 0x00002000
1057#define MEM_DECOMMIT 0x00004000
1058#define MEM_RELEASE 0x00008000
1059#define MEM_FREE 0x00010000
1060#define MEM_PRIVATE 0x00020000
1061#define MEM_MAPPED 0x00040000
1062#define MEM_TOP_DOWN 0x00100000
1063
1064#define SEC_FILE 0x00800000
1065#define SEC_IMAGE 0x01000000
1066#define SEC_RESERVE 0x04000000
1067#define SEC_COMMIT 0x08000000
1068#define SEC_NOCACHE 0x10000000
1069
1070#define FILE_BEGIN 0
1071#define FILE_CURRENT 1
1072#define FILE_END 2
1073
1074#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
1075#define FILE_CASE_PRESERVED_NAMES 0x00000002
1076#define FILE_UNICODE_ON_DISK 0x00000004
1077#define FILE_PERSISTENT_ACLS 0x00000008
1078
1079#define FILE_MAP_COPY 0x00000001
1080#define FILE_MAP_WRITE 0x00000002
1081#define FILE_MAP_READ 0x00000004
1082#define FILE_MAP_ALL_ACCESS 0x000f001f
1083
1084#define MOVEFILE_REPLACE_EXISTING 0x00000001
1085#define MOVEFILE_COPY_ALLOWED 0x00000002
1086#define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004
1087
1088#define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH
1089#define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES
1090#define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK
1091
1092
1093#define STATUS_SUCCESS 0x00000000
1094#define STATUS_WAIT_0 0x00000000
1095#define STATUS_ABANDONED_WAIT_0 0x00000080
1096#define STATUS_USER_APC 0x000000C0
1097#define STATUS_TIMEOUT 0x00000102
1098#define STATUS_PENDING 0x00000103
1099#define STATUS_GUARD_PAGE_VIOLATION 0x80000001
1100#define STATUS_DATATYPE_MISALIGNMENT 0x80000002
1101#define STATUS_BREAKPOINT 0x80000003
1102#define STATUS_SINGLE_STEP 0x80000004
1103#define STATUS_BUFFER_OVERFLOW 0x80000005
1104#define STATUS_ACCESS_VIOLATION 0xC0000005
1105#define STATUS_IN_PAGE_ERROR 0xC0000006
1106#define STATUS_INVALID_PARAMETER 0xC000000D
1107#define STATUS_NO_MEMORY 0xC0000017
1108#define STATUS_ILLEGAL_INSTRUCTION 0xC000001D
1109#define STATUS_BUFFER_TOO_SMALL 0xC0000023
1110#define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
1111#define STATUS_INVALID_DISPOSITION 0xC0000026
1112#define STATUS_UNKNOWN_REVISION 0xC0000058
1113#define STATUS_INVALID_SECURITY_DESCR 0xC0000079
1114#define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
1115#define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D
1116#define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E
1117#define STATUS_FLOAT_INEXACT_RESULT 0xC000008F
1118#define STATUS_FLOAT_INVALID_OPERATION 0xC0000090
1119#define STATUS_FLOAT_OVERFLOW 0xC0000091
1120#define STATUS_FLOAT_STACK_CHECK 0xC0000092
1121#define STATUS_FLOAT_UNDERFLOW 0xC0000093
1122#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
1123#define STATUS_INTEGER_OVERFLOW 0xC0000095
1124#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
1125#define STATUS_INVALID_PARAMETER_2 0xC00000F0
1126#define STATUS_STACK_OVERFLOW 0xC00000FD
1127#define STATUS_CONTROL_C_EXIT 0xC000013A
1128
1129#define DUPLICATE_CLOSE_SOURCE 0x00000001
1130#define DUPLICATE_SAME_ACCESS 0x00000002
1131
1132#define HANDLE_FLAG_INHERIT 0x00000001
1133#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x00000002
1134
1135#define HINSTANCE_ERROR 32
1136
1137#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
1138#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
1139#define THREAD_PRIORITY_NORMAL 0
1140#define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
1141#define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
1142#define THREAD_PRIORITY_ERROR_RETURN (0x7fffffff)
1143#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
1144#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
1145
1146typedef struct
1147{
1148 int type;
1149} wine_exception;
1150
1151typedef struct
1152{
1153 int pad[39];
1154 int edi;
1155 int esi;
1156 int ebx;
1157 int edx;
1158 int ecx;
1159 int eax;
1160
1161 int ebp;
1162 int eip;
1163 int cs;
1164 int eflags;
1165 int esp;
1166 int ss;
1167} exception_info;
1168
1169/* Could this type be considered opaque? */
1170typedef struct {
1171 LPVOID DebugInfo;
1172 LONG LockCount;
1173 LONG RecursionCount;
1174 HANDLE OwningThread;
1175 HANDLE LockSemaphore;
1176 DWORD Reserved;
1177}CRITICAL_SECTION;
1178
1179#ifdef __WINE__
1180#define CRITICAL_SECTION_INIT { 0, -1, 0, 0, 0, 0 }
1181#endif
1182
1183typedef struct {
1184 DWORD dwOSVersionInfoSize;
1185 DWORD dwMajorVersion;
1186 DWORD dwMinorVersion;
1187 DWORD dwBuildNumber;
1188 DWORD dwPlatformId;
1189 CHAR szCSDVersion[128];
1190} OSVERSIONINFOA;
1191
1192typedef struct {
1193 DWORD dwOSVersionInfoSize;
1194 DWORD dwMajorVersion;
1195 DWORD dwMinorVersion;
1196 DWORD dwBuildNumber;
1197 DWORD dwPlatformId;
1198 WCHAR szCSDVersion[128];
1199} OSVERSIONINFOW;
1200
1201DECL_WINELIB_TYPE_AW(OSVERSIONINFO)
1202
1203#define VER_PLATFORM_WIN32s 0
1204#define VER_PLATFORM_WIN32_WINDOWS 1
1205#define VER_PLATFORM_WIN32_NT 2
1206
1207typedef struct _COMMPROP {
1208 WORD wPacketLength;
1209 WORD wPacketVersion;
1210 DWORD dwServiceMask;
1211 DWORD dwReserved1;
1212 DWORD dwMaxTxQueue;
1213 DWORD dwMaxRxQueue;
1214 DWORD dwMaxBaud;
1215 DWORD dwProvSubType;
1216 DWORD dwProvCapabilities;
1217 DWORD dwSettableParams;
1218 DWORD dwSettableBaud;
1219 WORD wSettableData;
1220 WORD wSettableStopParity;
1221 DWORD dwCurrentTxQueue;
1222 DWORD dwCurrentRxQueue;
1223 DWORD dwProvSpec1;
1224 DWORD dwProvSpec2;
1225 WCHAR wcProvChar[1];
1226} COMMPROP,*LPCOMMPROP;
1227
1228typedef struct tagCOMSTAT
1229{
1230 // DWORD status; // maybe make this a union ??
1231 unsigned fCtsHold:1;
1232 unsigned fDsrHold:1;
1233 unsigned fRlsdHold:1;
1234 unsigned fXoffHold:1;
1235 unsigned fXoffSend:1;
1236 unsigned fEof:1;
1237 unsigned fTxim:1;
1238 unsigned fReserved:25;
1239 DWORD cbInQue;
1240 DWORD cbOutQue;
1241} COMSTAT,*LPCOMSTAT;
1242
1243typedef struct tagDCB
1244{
1245 DWORD DCBlength;
1246 DWORD BaudRate;
1247 unsigned fBinary :1;
1248 unsigned fParity :1;
1249 unsigned fOutxCtsFlow :1;
1250 unsigned fOutxDsrFlow :1;
1251 unsigned fDtrControl :2;
1252 unsigned fDsrSensitivity :1;
1253 unsigned fTXContinueOnXoff :1;
1254 unsigned fOutX :1;
1255 unsigned fInX :1;
1256 unsigned fErrorChar :1;
1257 unsigned fNull :1;
1258 unsigned fRtsControl :2;
1259 unsigned fAbortOnError :1;
1260 unsigned fDummy2 :17;
1261 WORD wReserved;
1262 WORD XonLim;
1263 WORD XoffLim;
1264 BYTE ByteSize;
1265 BYTE Parity;
1266 BYTE StopBits;
1267 char XonChar;
1268 char XoffChar;
1269 char ErrorChar;
1270 char EofChar;
1271 char EvtChar;
1272} DCB, *LPDCB;
1273
1274
1275
1276typedef struct tagCOMMTIMEOUTS {
1277 DWORD ReadIntervalTimeout;
1278 DWORD ReadTotalTimeoutMultiplier;
1279 DWORD ReadTotalTimeoutConstant;
1280 DWORD WriteTotalTimeoutMultiplier;
1281 DWORD WriteTotalTimeoutConstant;
1282} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
1283
1284typedef struct _COMMCONFIG {
1285 DWORD dwSize;
1286 WORD wVersion;
1287 WORD wReserved;
1288 DCB dcb;
1289 DWORD dwProviderSubType;
1290 DWORD dwProviderOffset;
1291 DWORD dwProviderSize;
1292 WCHAR wcProviderData[1];
1293} COMMCONFIG,*LPCOMMCONFIG;
1294
1295#include "poppack.h"
1296
1297typedef VOID (* CALLBACK PAPCFUNC)(ULONG_PTR);
1298
1299BOOL WINAPI ClearCommError(HANDLE,LPDWORD,LPCOMSTAT);
1300BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
1301BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
1302#define BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
1303BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
1304BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
1305#define BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
1306BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1307BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
1308BOOL WINAPI GetCommState(HANDLE,LPDCB);
1309BOOL WINAPI SetCommState(HANDLE,LPDCB);
1310BOOL WINAPI TransmitCommChar(HANDLE,CHAR);
1311
1312
1313/*DWORD WINAPI GetVersion( void );*/
1314BOOL WINAPI GetVersionExA(OSVERSIONINFOA*);
1315BOOL WINAPI GetVersionExW(OSVERSIONINFOW*);
1316#define GetVersionEx WINELIB_NAME_AW(GetVersionEx)
1317
1318/*int WinMain(HINSTANCE, HINSTANCE prev, char *cmd, int show);*/
1319
1320void WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCrit);
1321void WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCrit);
1322void WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
1323void WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCrit);
1324void WINAPI MakeCriticalSectionGlobal(CRITICAL_SECTION *lpCrit);
1325HANDLE WINAPI OpenProcess(DWORD access, BOOL inherit, DWORD id);
1326BOOL WINAPI GetProcessWorkingSetSize(HANDLE,LPDWORD,LPDWORD);
1327DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
1328void WINAPI RaiseException(DWORD,DWORD,DWORD,const LPDWORD);
1329BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD);
1330BOOL WINAPI TerminateProcess(HANDLE,DWORD);
1331BOOL WINAPI TerminateThread(HANDLE,DWORD);
1332BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD);
1333
1334/* GetBinaryType return values.
1335 */
1336
1337#define SCS_32BIT_BINARY 0
1338#define SCS_DOS_BINARY 1
1339#define SCS_WOW_BINARY 2
1340#define SCS_PIF_BINARY 3
1341#define SCS_POSIX_BINARY 4
1342#define SCS_OS216_BINARY 5
1343
1344BOOL WINAPI GetBinaryTypeA( LPCSTR lpApplicationName, LPDWORD lpBinaryType );
1345BOOL WINAPI GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType );
1346#define GetBinaryType WINELIB_NAME_AW(GetBinaryType)
1347
1348BOOL16 WINAPI GetWinDebugInfo16(LPWINDEBUGINFO,UINT16);
1349BOOL16 WINAPI SetWinDebugInfo16(LPWINDEBUGINFO);
1350/* Declarations for functions that exist only in Win32 */
1351
1352BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL);
1353//BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
1354BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,LPDWORD);
1355BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID *);
1356BOOL WINAPI AllocateLocallyUniqueId(PLUID);
1357BOOL WINAPI AllocConsole(void);
1358BOOL WINAPI AreFileApisANSI(void);
1359BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
1360BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
1361#define BackupEventLog WINELIB_NAME_AW(BackupEventLog)
1362BOOL WINAPI Beep(DWORD,DWORD);
1363BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
1364BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
1365#define ClearEventLog WINELIB_NAME_AW(ClearEventLog)
1366BOOL WINAPI CloseEventLog(HANDLE);
1367BOOL WINAPI CloseHandle(HANDLE);
1368BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
1369HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc);
1370BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
1371BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
1372#define CopyFile WINELIB_NAME_AW(CopyFile)
1373BOOL WINAPI CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1374BOOL WINAPI CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1375#define CopyFileEx WINELIB_NAME_AW(CopyFileEx)
1376BOOL WINAPI CopySid(DWORD,PSID,PSID);
1377INT WINAPI CompareFileTime(LPFILETIME,LPFILETIME);
1378HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
1379HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
1380#define CreateEvent WINELIB_NAME_AW(CreateEvent)
1381HFILE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
1382 DWORD,DWORD,HANDLE);
1383HFILE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
1384 DWORD,DWORD,HANDLE);
1385#define CreateFile WINELIB_NAME_AW(CreateFile)
1386HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,
1387 DWORD,DWORD,LPCSTR);
1388HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,
1389 DWORD,DWORD,LPCWSTR);
1390#define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
1391HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1392HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1393#define CreateMutex WINELIB_NAME_AW(CreateMutex)
1394BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
1395BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,
1396 LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,
1397 LPSTARTUPINFOA,LPPROCESS_INFORMATION);
1398BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,
1399 LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,
1400 LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1401#define CreateProcess WINELIB_NAME_AW(CreateProcess)
1402HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
1403HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
1404#define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
1405HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1406BOOL WINAPI DebugActiveProcess(DWORD);
1407void WINAPI DebugBreak(void);
1408BOOL WINAPI DeregisterEventSource(HANDLE);
1409BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
1410BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
1411BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,HANDLE*,DWORD,BOOL,DWORD);
1412BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
1413BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
1414#define EnumDateFormats WINELIB_NAME_AW(EnumDateFormats)
1415BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,
1416 ENUMRESLANGPROCA,LONG);
1417BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,
1418 ENUMRESLANGPROCW,LONG);
1419#define EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
1420BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROCA,
1421 LONG);
1422BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW,
1423 LONG);
1424#define EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
1425BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG);
1426BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG);
1427#define EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
1428BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
1429BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
1430#define EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages)
1431BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
1432BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
1433#define EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales)
1434BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
1435BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
1436#define EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats)
1437BOOL WINAPI EqualSid(PSID, PSID);
1438BOOL WINAPI EqualPrefixSid(PSID,PSID);
1439VOID WINAPI ExitProcess(DWORD);
1440VOID WINAPI ExitThread(DWORD);
1441DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
1442DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
1443#define ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
1444BOOL WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
1445BOOL WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
1446BOOL WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
1447HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
1448HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
1449#define FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
1450BOOL WINAPI FindNextChangeNotification(HANDLE);
1451BOOL WINAPI FindCloseChangeNotification(HANDLE);
1452HRSRC WINAPI FindResourceExA(HMODULE,LPCSTR,LPCSTR,WORD);
1453HRSRC WINAPI FindResourceExW(HMODULE,LPCWSTR,LPCWSTR,WORD);
1454#define FindResourceEx WINELIB_NAME_AW(FindResourceEx)
1455BOOL WINAPI FlushConsoleInputBuffer(HANDLE);
1456BOOL WINAPI FlushFileBuffers(HFILE);
1457BOOL WINAPI FlushViewOfFile(LPCVOID, DWORD);
1458DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,
1459 DWORD,LPDWORD);
1460DWORD WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,
1461 DWORD,LPDWORD);
1462#define FormatMessage WINELIB_NAME_AW(FormatMessage)
1463BOOL WINAPI FreeConsole(void);
1464BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
1465BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
1466#define FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
1467PVOID WINAPI FreeSid(PSID);
1468UINT WINAPI GetACP(void);
1469LPCSTR WINAPI GetCommandLineA(void);
1470LPCWSTR WINAPI GetCommandLineW(void);
1471#define GetCommandLine WINELIB_NAME_AW(GetCommandLine)
1472BOOL WINAPI GetComputerNameA(LPSTR,LPDWORD);
1473BOOL WINAPI GetComputerNameW(LPWSTR,LPDWORD);
1474#define GetComputerName WINELIB_NAME_AW(GetComputerName)
1475UINT WINAPI GetConsoleCP(void);
1476BOOL WINAPI GetConsoleMode(HANDLE,LPDWORD);
1477UINT WINAPI GetConsoleOutputCP(void);
1478DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
1479DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
1480#define GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
1481BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
1482BOOL WINAPI GetCommMask(HANDLE, LPDWORD);
1483BOOL WINAPI GetCommModemStatus(HANDLE, LPDWORD);
1484HANDLE WINAPI GetCurrentProcess(void);
1485DWORD WINAPI GetCurrentProcessId(void);
1486HANDLE WINAPI GetCurrentThread(void);
1487DWORD WINAPI GetCurrentThreadId(void);
1488INT WINAPI GetDateFormatA(LCID,DWORD,CONST SYSTEMTIME *,LPCSTR,LPSTR,INT);
1489INT WINAPI GetDateFormatW(LCID,DWORD,CONST SYSTEMTIME *,LPCWSTR,LPWSTR,INT);
1490#define GetDateFormat WINELIB_NAME_AW(GetDateFormat)
1491LPSTR WINAPI GetEnvironmentStringsA(void);
1492LPWSTR WINAPI GetEnvironmentStringsW(void);
1493#define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
1494DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
1495DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
1496#define GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
1497BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
1498BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
1499#define GetFileattributesEx WINELIB_NAME_AW(GetFileAttributesEx)
1500DWORD WINAPI GetFileInformationByHandle(HFILE,BY_HANDLE_FILE_INFORMATION*);
1501BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1502BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
1503#define GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
1504DWORD WINAPI GetFileSize(HFILE,LPDWORD);
1505BOOL WINAPI GetFileTime(HFILE,LPFILETIME,LPFILETIME,LPFILETIME);
1506DWORD WINAPI GetFileType(HFILE);
1507DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
1508DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
1509#define GetFullPathName WINELIB_NAME_AW(GetFullPathName)
1510BOOL WINAPI GetHandleInformation(HANDLE,LPDWORD);
1511DWORD WINAPI GetLargestConsoleWindowSize(HANDLE);
1512DWORD WINAPI GetLengthSid(PSID);
1513VOID WINAPI GetLocalTime(LPSYSTEMTIME);
1514DWORD WINAPI GetLogicalDrives(void);
1515DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
1516DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
1517#define GetLongPathName WINELIB_NAME_AW(GetLongPathName)
1518BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,LPDWORD);
1519BOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD);
1520BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
1521UINT WINAPI GetOEMCP(void);
1522BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
1523DWORD WINAPI GetPriorityClass(HANDLE);
1524HANDLE WINAPI GetProcessHeap(void);
1525DWORD WINAPI GetProcessVersion(DWORD);
1526//BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,LPDWORD);
1527BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
1528BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
1529DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
1530BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
1531BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
1532PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
1533DWORD WINAPI GetSidLengthRequired(BYTE);
1534PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
1535PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
1536DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
1537DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
1538#define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
1539HFILE WINAPI GetStdHandle(DWORD);
1540BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,INT,LPWORD);
1541BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,INT,LPWORD);
1542#define GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
1543VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
1544BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
1545VOID WINAPI GetSystemTime(LPSYSTEMTIME);
1546INT WINAPI GetTimeFormatA(LCID,DWORD,CONST SYSTEMTIME *,LPCSTR,LPSTR,INT);
1547INT WINAPI GetTimeFormatW(LCID,DWORD,CONST SYSTEMTIME *,LPCWSTR,LPWSTR,INT);
1548#define GetTimeFormat WINELIB_NAME_AW(GetTimeFormat)
1549BOOL WINAPI GetThreadContext(HANDLE,CONTEXT *);
1550LCID WINAPI GetThreadLocale(void);
1551INT WINAPI GetThreadPriority(HANDLE);
1552BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
1553BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
1554BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD,LPDWORD);
1555BOOL WINAPI GetUserNameA(LPSTR,LPDWORD);
1556BOOL WINAPI GetUserNameW(LPWSTR,LPDWORD);
1557#define GetUserName WINELIB_NAME_AW(GetUserName)
1558VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
1559LPVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD);
1560DWORD WINAPI HeapCompact(HANDLE,DWORD);
1561HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD);
1562BOOL WINAPI HeapDestroy(HANDLE);
1563BOOL WINAPI HeapFree(HANDLE,DWORD,LPVOID);
1564BOOL WINAPI HeapLock(HANDLE);
1565LPVOID WINAPI HeapReAlloc(HANDLE,DWORD,LPVOID,DWORD);
1566DWORD WINAPI HeapSize(HANDLE,DWORD,LPVOID);
1567BOOL WINAPI HeapUnlock(HANDLE);
1568BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
1569BOOL WINAPI HeapWalk (HANDLE, LPVOID);
1570BOOL WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
1571BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
1572BOOL WINAPI IsValidSid(PSID);
1573BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
1574LONG WINAPI InterlockedDecrement(LPLONG);
1575LONG WINAPI InterlockedExchange(LPLONG,LONG);
1576LONG WINAPI InterlockedIncrement(LPLONG);
1577BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
1578BOOL WINAPI IsProcessorFeaturePresent(DWORD);
1579BOOL WINAPI IsValidLocale(DWORD,DWORD);
1580BOOL WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
1581BOOL WINAPI LockFile(HFILE,DWORD,DWORD,DWORD,DWORD);
1582BOOL WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
1583BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,LPVOID);
1584BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,LPVOID);
1585#define LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
1586BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
1587HMODULE WINAPI MapHModuleSL(HMODULE16);
1588HMODULE16 WINAPI MapHModuleLS(HMODULE);
1589LPVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
1590LPVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPVOID);
1591BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
1592BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
1593#define MoveFile WINELIB_NAME_AW(MoveFile)
1594BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
1595BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
1596#define MoveFileEx WINELIB_NAME_AW(MoveFileEx)
1597INT WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,INT,LPWSTR,INT);
1598BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
1599INT WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,BOOL*);
1600HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
1601HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
1602#define OpenBackupEventLog WINELIB_NAME_AW(OpenBackupEventLog)
1603HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
1604HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
1605#define OpenEvent WINELIB_NAME_AW(OpenEvent)
1606HANDLE WINAPI OpenEventLogA(LPCSTR,LPCSTR);
1607HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
1608#define OpenEventLog WINELIB_NAME_AW(OpenEventLog)
1609HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
1610HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
1611#define OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
1612HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
1613HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
1614#define OpenMutex WINELIB_NAME_AW(OpenMutex)
1615HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
1616BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
1617HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
1618HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
1619#define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
1620BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
1621BOOL WINAPI PulseEvent(HANDLE);
1622BOOL WINAPI PurgeComm(HANDLE,DWORD);
1623DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
1624DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
1625#define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
1626BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
1627BOOL WINAPI QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);
1628
1629BOOL WINAPI ReadConsoleA(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
1630BOOL WINAPI ReadConsoleW(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
1631#define ReadConsole WINELIB_NAME_AW(ReadConsole)
1632BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,
1633 COORD,LPDWORD);
1634#define ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
1635BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
1636BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
1637#define ReadEventLog WINELIB_NAME_AW(ReadEventLog)
1638BOOL WINAPI ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
1639BOOL WINAPI ReadFileEx(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead,
1640 LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1641
1642HANDLE WINAPI RegisterEventSourceA(LPCSTR,LPCSTR);
1643HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
1644#define RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
1645BOOL WINAPI ReleaseMutex(HANDLE);
1646BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
1647BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR *,LPVOID);
1648BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR *,LPVOID);
1649#define ReportEvent WINELIB_NAME_AW(ReportEvent)
1650BOOL WINAPI ResetEvent(HANDLE);
1651DWORD WINAPI ResumeThread(HANDLE);
1652VOID WINAPI RtlFillMemory(LPVOID,UINT,UINT);
1653#define FillMemory RtlFillMemory
1654VOID WINAPI RtlMoveMemory(LPVOID,LPCVOID,UINT);
1655#define MoveMemory RtlMoveMemory
1656VOID WINAPI RtlZeroMemory(LPVOID,UINT);
1657#define ZeroMemory RtlZeroMemory
1658VOID WINAPI RtlCopyMemory(LPVOID,const VOID*, UINT);
1659#define CopyMemory RtlCopyMemory
1660BOOL WINAPI RevertToSelf(void);
1661DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
1662DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
1663#define SearchPath WINELIB_NAME_AW(SearchPath)
1664BOOL WINAPI SetCommMask(HANDLE,DWORD);
1665BOOL WINAPI SetComputerNameA(LPCSTR);
1666BOOL WINAPI SetComputerNameW(LPCWSTR);
1667#define SetComputerName WINELIB_NAME_AW(SetComputerName)
1668BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
1669BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
1670BOOL WINAPI SetConsoleTitleA(LPCSTR);
1671BOOL WINAPI SetConsoleTitleW(LPCWSTR);
1672#define SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
1673BOOL WINAPI SetEndOfFile(HFILE);
1674BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
1675BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
1676#define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
1677BOOL WINAPI SetEvent(HANDLE);
1678VOID WINAPI SetFileApisToANSI(void);
1679VOID WINAPI SetFileApisToOEM(void);
1680DWORD WINAPI SetFilePointer(HFILE,LONG,LPLONG,DWORD);
1681BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
1682BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
1683#define SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
1684BOOL WINAPI SetFileTime(HFILE,const FILETIME*,const FILETIME*,const FILETIME*);
1685BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
1686BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
1687BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
1688BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
1689BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
1690BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
1691BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
1692BOOL WINAPI SetStdHandle(DWORD,HANDLE);
1693BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
1694BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
1695DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD);
1696BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT *);
1697BOOL WINAPI SetThreadLocale(LCID);
1698BOOL WINAPI SetThreadPriority(HANDLE,INT);
1699BOOL WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
1700VOID WINAPI Sleep(DWORD);
1701DWORD WINAPI SleepEx(DWORD,BOOL);
1702DWORD WINAPI SuspendThread(HANDLE);
1703BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
1704DWORD WINAPI TlsAlloc(void);
1705BOOL WINAPI TlsFree(DWORD);
1706LPVOID WINAPI TlsGetValue(DWORD);
1707BOOL WINAPI TlsSetValue(DWORD,LPVOID);
1708BOOL WINAPI UnlockFile(HFILE,DWORD,DWORD,DWORD,DWORD);
1709BOOL WINAPI UnmapViewOfFile(LPVOID);
1710BOOL WINAPI FlushInstructionCache(HANDLE,LPCVOID,DWORD);
1711LPVOID WINAPI VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
1712BOOL WINAPI VirtualFree(LPVOID,DWORD,DWORD);
1713BOOL WINAPI VirtualLock(LPVOID,DWORD);
1714BOOL WINAPI VirtualProtect(LPVOID,DWORD,DWORD,LPDWORD);
1715BOOL WINAPI VirtualProtectEx(HANDLE,LPVOID,DWORD,DWORD,LPDWORD);
1716DWORD WINAPI VirtualQuery(LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
1717DWORD WINAPI VirtualQueryEx(HANDLE,LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
1718BOOL WINAPI VirtualUnlock(LPVOID,DWORD);
1719BOOL WINAPI WaitCommEvent(HANDLE,LPDWORD,LPOVERLAPPED);
1720BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
1721DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
1722DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
1723DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
1724DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
1725SEGPTR WINAPI WOWGlobalAllocLock16(DWORD,DWORD,HGLOBAL16*);
1726DWORD WINAPI WOWCallback16(FARPROC16,DWORD);
1727BOOL WINAPI WOWCallback16Ex(FARPROC16,DWORD,DWORD,LPVOID,LPDWORD);
1728HANDLE WINAPI WOWHandle32(WORD,WOW_HANDLE_TYPE);
1729BOOL WINAPI WriteConsoleA(HANDLE,LPCVOID,DWORD,LPDWORD,LPVOID);
1730BOOL WINAPI WriteConsoleW(HANDLE,LPCVOID,DWORD,LPDWORD,LPVOID);
1731#define WriteConsole WINELIB_NAME_AW(WriteConsole)
1732BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
1733BOOL WINAPI WriteeFileEx(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite,
1734 LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1735DWORD WINAPI GetLastError(void);
1736LANGID WINAPI GetSystemDefaultLangID(void);
1737LCID WINAPI GetSystemDefaultLCID(void);
1738LANGID WINAPI GetUserDefaultLangID(void);
1739LCID WINAPI GetUserDefaultLCID(void);
1740ATOM WINAPI AddAtomA(LPCSTR);
1741ATOM WINAPI AddAtomW(LPCWSTR);
1742#define AddAtom WINELIB_NAME_AW(AddAtom)
1743UINT WINAPI CompareStringA(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
1744UINT WINAPI CompareStringW(DWORD,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
1745#define CompareString WINELIB_NAME_AW(CompareString)
1746BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
1747BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
1748#define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
1749BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
1750BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
1751#define CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
1752BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
1753#define DefineHandleTable(w) ((w),TRUE)
1754ATOM WINAPI DeleteAtom(ATOM);
1755BOOL WINAPI DeleteFileA(LPCSTR);
1756BOOL WINAPI DeleteFileW(LPCWSTR);
1757#define DeleteFile WINELIB_NAME_AW(DeleteFile)
1758void WINAPI FatalAppExitA(UINT,LPCSTR);
1759void WINAPI FatalAppExitW(UINT,LPCWSTR);
1760#define FatalAppExit WINELIB_NAME_AW(FatalAppExit)
1761ATOM WINAPI FindAtomA(LPCSTR);
1762ATOM WINAPI FindAtomW(LPCWSTR);
1763#define FindAtom WINELIB_NAME_AW(FindAtom)
1764BOOL WINAPI FindClose(HANDLE);
1765HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
1766HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
1767#define FindFirstFile WINELIB_NAME_AW(FindFirstFile)
1768HANDLE WINAPI FindFirstFileMultiA(LPCSTR,LPWIN32_FIND_DATAA,DWORD*); //Odin only
1769BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
1770BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
1771#define FindNextFile WINELIB_NAME_AW(FindNextFile)
1772BOOL WINAPI FindNextFileMultiA(HANDLE,LPWIN32_FIND_DATAA,DWORD*); //Odin only
1773HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
1774HRSRC WINAPI FindResourceW(HMODULE,LPCWSTR,LPCWSTR);
1775#define FindResource WINELIB_NAME_AW(FindResource)
1776VOID WINAPI FreeLibrary16(HINSTANCE16);
1777BOOL WINAPI FreeLibrary(HMODULE);
1778#define FreeModule(handle) FreeLibrary(handle)
1779#define FreeProcInstance(proc) /*nothing*/
1780BOOL WINAPI FreeResource(HGLOBAL);
1781UINT WINAPI GetAtomNameA(ATOM,LPSTR,INT);
1782UINT WINAPI GetAtomNameW(ATOM,LPWSTR,INT);
1783#define GetAtomName WINELIB_NAME_AW(GetAtomName)
1784UINT WINAPI GetCurrentDirectoryA(UINT,LPSTR);
1785UINT WINAPI GetCurrentDirectoryW(UINT,LPWSTR);
1786#define GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
1787BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
1788BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
1789#define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
1790BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
1791BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
1792#define GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
1793UINT WINAPI GetDriveTypeA(LPCSTR);
1794UINT WINAPI GetDriveTypeW(LPCWSTR);
1795#define GetDriveType WINELIB_NAME_AW(GetDriveType)
1796DWORD WINAPI GetFileAttributesA(LPCSTR);
1797DWORD WINAPI GetFileAttributesW(LPCWSTR);
1798#define GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
1799#define GetFreeSpace(w) (0x100000L)
1800UINT WINAPI GetLogicalDriveStringsA(UINT,LPSTR);
1801UINT WINAPI GetLogicalDriveStringsW(UINT,LPWSTR);
1802#define GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
1803INT WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,INT);
1804INT WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,INT);
1805#define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
1806DWORD WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD);
1807DWORD WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD);
1808#define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
1809HMODULE WINAPI GetModuleHandleA(LPCSTR);
1810HMODULE WINAPI GetModuleHandleW(LPCWSTR);
1811#define GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
1812UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
1813UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
1814#define GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
1815INT WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
1816INT WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
1817#define GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
1818DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
1819DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
1820#define GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
1821INT WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
1822INT WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
1823#define GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
1824BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
1825BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
1826#define GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
1827FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR);
1828UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
1829UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
1830#define GetProfileInt WINELIB_NAME_AW(GetProfileInt)
1831INT WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
1832INT WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
1833#define GetProfileSection WINELIB_NAME_AW(GetProfileSection)
1834INT WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT);
1835INT WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT);
1836#define GetProfileString WINELIB_NAME_AW(GetProfileString)
1837VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
1838VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
1839#define GetStartupInfo WINELIB_NAME_AW(GetStartupInfo)
1840BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,INT,LPWORD);
1841BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,INT,LPWORD);
1842#define GetStringType WINELIB_NAME_AW(GetStringType)
1843UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
1844UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
1845#define GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
1846UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
1847UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
1848#define GetTempFileName WINELIB_NAME_AW(GetTempFileName)
1849UINT WINAPI GetTempPathA(UINT,LPSTR);
1850UINT WINAPI GetTempPathW(UINT,LPWSTR);
1851#define GetTempPath WINELIB_NAME_AW(GetTempPath)
1852LONG WINAPI GetVersion(void);
1853BOOL WINAPI GetExitCodeProcess(HANDLE,LPDWORD);
1854BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
1855BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
1856#define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
1857UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
1858UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
1859#define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
1860HGLOBAL16 WINAPI GlobalAlloc16(UINT16,DWORD);
1861HGLOBAL WINAPI GlobalAlloc(UINT,DWORD);
1862DWORD WINAPI GlobalCompact(DWORD);
1863UINT WINAPI GlobalFlags(HGLOBAL);
1864HGLOBAL16 WINAPI GlobalFree16(HGLOBAL16);
1865HGLOBAL WINAPI GlobalFree(HGLOBAL);
1866HGLOBAL WINAPI GlobalHandle(LPCVOID);
1867WORD WINAPI GlobalFix16(HGLOBAL16);
1868VOID WINAPI GlobalFix(HGLOBAL);
1869LPVOID WINAPI GlobalLock16(HGLOBAL16);
1870LPVOID WINAPI GlobalLock(HGLOBAL);
1871HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT);
1872DWORD WINAPI GlobalSize16(HGLOBAL16);
1873DWORD WINAPI GlobalSize(HGLOBAL);
1874VOID WINAPI GlobalUnfix16(HGLOBAL16);
1875VOID WINAPI GlobalUnfix(HGLOBAL);
1876BOOL16 WINAPI GlobalUnlock16(HGLOBAL16);
1877BOOL WINAPI GlobalUnlock(HGLOBAL);
1878BOOL16 WINAPI GlobalUnWire16(HGLOBAL16);
1879BOOL WINAPI GlobalUnWire(HGLOBAL);
1880SEGPTR WINAPI GlobalWire16(HGLOBAL16);
1881LPVOID WINAPI GlobalWire(HGLOBAL);
1882BOOL WINAPI InitAtomTable(DWORD);
1883BOOL WINAPI IsBadCodePtr(FARPROC);
1884BOOL WINAPI IsBadHugeReadPtr(LPCVOID,UINT);
1885BOOL WINAPI IsBadHugeWritePtr(LPVOID,UINT);
1886BOOL WINAPI IsBadReadPtr(LPCVOID,UINT);
1887BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
1888BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
1889#define IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
1890BOOL WINAPI IsBadWritePtr(LPVOID,UINT);
1891BOOL WINAPI IsDBCSLeadByte(BYTE);
1892HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
1893HMODULE WINAPI LoadLibraryA(LPCSTR);
1894HMODULE WINAPI LoadLibraryW(LPCWSTR);
1895#define LoadLibrary WINELIB_NAME_AW(LoadLibrary)
1896HMODULE WINAPI LoadLibraryExA(LPCSTR,HFILE,DWORD);
1897HMODULE WINAPI LoadLibraryExW(LPCWSTR,HFILE,DWORD);
1898#define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
1899HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
1900HINSTANCE WINAPI LoadModule(LPCSTR,LPVOID);
1901HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
1902HLOCAL WINAPI LocalAlloc(UINT,DWORD);
1903UINT WINAPI LocalCompact(UINT);
1904UINT WINAPI LocalFlags(HLOCAL);
1905HLOCAL WINAPI LocalFree(HLOCAL);
1906HLOCAL WINAPI LocalHandle(LPCVOID);
1907LPVOID WINAPI LocalLock(HLOCAL);
1908HLOCAL WINAPI LocalReAlloc(HLOCAL,DWORD,UINT);
1909UINT WINAPI LocalShrink(HGLOBAL,UINT);
1910UINT WINAPI LocalSize(HLOCAL);
1911BOOL WINAPI LocalUnlock(HLOCAL);
1912LPVOID WINAPI LockResource(HGLOBAL);
1913#define UnlockResource(hResData) ((hResData), 0)
1914
1915#define LockSegment(handle) GlobalFix((HANDLE)(handle))
1916#define MakeProcInstance(proc,inst) (proc)
1917HFILE16 WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
1918HFILE WINAPI OpenFile(LPCSTR,OFSTRUCT*,UINT);
1919VOID WINAPI OutputDebugStringA(LPCSTR);
1920VOID WINAPI OutputDebugStringW(LPCWSTR);
1921#define OutputDebugString WINELIB_NAME_AW(OutputDebugString)
1922BOOL WINAPI RemoveDirectoryA(LPCSTR);
1923BOOL WINAPI RemoveDirectoryW(LPCWSTR);
1924#define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
1925BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
1926BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
1927#define SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
1928UINT WINAPI SetErrorMode(UINT);
1929BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
1930BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
1931#define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
1932UINT WINAPI SetHandleCount(UINT);
1933#define SetSwapAreaSize(w) (w)
1934BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
1935BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
1936#define SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
1937DWORD WINAPI SizeofResource(HMODULE,HRSRC);
1938#define UnlockSegment(handle) GlobalUnfix((HANDLE)(handle))
1939DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
1940DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
1941#define VerLanguageName WINELIB_NAME_AW(VerLanguageName)
1942BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
1943BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
1944#define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
1945BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
1946BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
1947#define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
1948BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
1949BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
1950#define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
1951BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
1952BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
1953#define WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
1954BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
1955BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
1956#define WriteProfileString WINELIB_NAME_AW(WriteProfileString)
1957#define Yield32()
1958LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
1959LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
1960#define lstrcat WINELIB_NAME_AW(lstrcat)
1961LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
1962LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
1963#define lstrcpy WINELIB_NAME_AW(lstrcpy)
1964LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,INT);
1965LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,INT);
1966#define lstrcpyn WINELIB_NAME_AW(lstrcpyn)
1967INT WINAPI lstrlenA(LPCSTR);
1968INT WINAPI lstrlenW(LPCWSTR);
1969#define lstrlen WINELIB_NAME_AW(lstrlen)
1970HINSTANCE WINAPI WinExec(LPCSTR,UINT);
1971LONG WINAPI _hread(HFILE,LPVOID,LONG);
1972LONG WINAPI _hwrite(HFILE,LPCSTR,LONG);
1973HFILE WINAPI _lcreat(LPCSTR,INT);
1974HFILE WINAPI _lclose(HFILE);
1975LONG WINAPI _llseek(HFILE,LONG,INT);
1976HFILE WINAPI _lopen(LPCSTR,INT);
1977UINT WINAPI _lread(HFILE,LPVOID,UINT);
1978UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
1979SEGPTR WINAPI WIN16_GlobalLock16(HGLOBAL16);
1980INT WINAPI lstrcmpA(LPCSTR,LPCSTR);
1981INT WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
1982#define lstrcmp WINELIB_NAME_AW(lstrcmp)
1983INT WINAPI lstrcmpiA(LPCSTR,LPCSTR);
1984INT WINAPI lstrcmpiW(LPCWSTR,LPCWSTR);
1985#define lstrcmpi WINELIB_NAME_AW(lstrcmpi)
1986int WINAPI lstrncmpiA(LPCSTR, LPCSTR, int);
1987int WINAPI lstrncmpiW(LPCWSTR, LPCWSTR, int);
1988#define lstrncmpi WINELIB_NAME_AW(lstrncmpi)
1989
1990VOID WINAPI SetLastError(DWORD);
1991
1992
1993BOOL WINAPI SetTokenInformation(HANDLE hToken,
1994 TOKEN_INFORMATION_CLASS tic,
1995 LPVOID lpvInformation,
1996 DWORD cbInformation);
1997BOOL WINAPI GetUserNameA( /*PLF Wed 98-02-11 13:33:39*/
1998 LPTSTR lpBuffer, /* address of name buffer */
1999 LPDWORD lpcchBuffer); /* address of size of name buffer */
2000
2001BOOL WINAPI GetUserNameW( /*KSO Thu 21.05.1998 */
2002 LPWSTR lpBuffer,
2003 LPDWORD lpccBuffer
2004 );
2005
2006BOOL WINAPI AbortSystemShutdownA(LPTSTR lpMachineName);
2007BOOL WINAPI AbortSystemShutdownW(LPWSTR lpMachineName);
2008BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR SubsystemName,
2009 LPVOID HandleId,
2010 LPTSTR ObjectTypeName,
2011 LPTSTR ObjectName,
2012 PSECURITY_DESCRIPTOR SecurityDescriptor,
2013 DWORD DesiredAccess,
2014 PGENERIC_MAPPING GenericMapping,
2015 BOOL ObjectCreation,
2016 LPDWORD GrantedAccess,
2017 LPBOOL AccessStatus,
2018 LPBOOL pfGenerateOnClose);
2019BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR SubsystemName,
2020 LPVOID HandleId,
2021 LPWSTR ObjectTypeName,
2022 LPWSTR ObjectName,
2023 PSECURITY_DESCRIPTOR SecurityDescriptor,
2024 DWORD DesiredAccess,
2025 PGENERIC_MAPPING GenericMapping,
2026 BOOL ObjectCreation,
2027 LPDWORD GrantedAccess,
2028 LPBOOL AccessStatus,
2029 LPBOOL pfGenerateOnClose);
2030BOOL WINAPI AddAccessAllowedAce(PACL pAcl,
2031 DWORD dwAceRevision,
2032 DWORD AccessMask,
2033 PSID pSid);
2034BOOL WINAPI AddAccessDeniedAce(PACL pAcl,
2035 DWORD dwAceRevision,
2036 DWORD AccessMask,
2037 PSID pSid);
2038BOOL WINAPI AddAce(PACL pAcl,
2039 DWORD dwAceRevision,
2040 DWORD dwStartingAceIndex,
2041 LPVOID pAceList,
2042 DWORD nAceListLength);
2043BOOL WINAPI AddAuditAccessAce(PACL pAcl,
2044 DWORD dwAceRevision,
2045 DWORD dwAccessMask,
2046 PSID pSid,
2047 BOOL bAuditSuccess,
2048 BOOL bAuditFailure);
2049BOOL WINAPI AdjustTokenGroups(HANDLE TokenHandle,
2050 BOOL ResetToDefault,
2051 PTOKEN_GROUPS NewState,
2052 DWORD BufferLength,
2053 PTOKEN_GROUPS PreviousState,
2054 LPDWORD ReturnLength);
2055BOOL WINAPI AllocateLocallyUniqueId(PLUID Luid);
2056BOOL WINAPI AreAllAccessesGranted(DWORD GrantedAccess,
2057 DWORD DesiredAccess);
2058BOOL WINAPI AreAnyAccessesGranted(DWORD GrantedAccess,
2059 DWORD DesiredAccess);
2060BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR ParentDescriptor,
2061 PSECURITY_DESCRIPTOR CreatorDescriptor,
2062 PSECURITY_DESCRIPTOR *NewDescriptor,
2063 BOOL IsDirectoryObject,
2064 HANDLE Token,
2065 PGENERIC_MAPPING GenericMapping);
2066BOOL WINAPI CreateProcessAsUserA(HANDLE hToken,
2067 LPCSTR lpApplicationName,
2068 LPTSTR lpCommandLine,
2069 LPSECURITY_ATTRIBUTES lpProcessAttributes,
2070 LPSECURITY_ATTRIBUTES lpThreadAttributes,
2071 BOOL bInheritHandles,
2072 DWORD dwCreationFlags,
2073 LPVOID lpEnvironment,
2074 LPCSTR lpCurrentDirectory,
2075 LPSTARTUPINFOA lpStartupInfo,
2076 LPPROCESS_INFORMATION lpProcessInformation);
2077BOOL WINAPI CreateProcessAsUserW(HANDLE hToken,
2078 LPCWSTR lpApplicationName,
2079 LPWSTR lpCommandLine,
2080 LPSECURITY_ATTRIBUTES lpProcessAttributes,
2081 LPSECURITY_ATTRIBUTES lpThreadAttributes,
2082 BOOL bInheritHandles,
2083 DWORD dwCreationFlags,
2084 LPVOID lpEnvironment,
2085 LPCWSTR lpCurrentDirectory,
2086 LPSTARTUPINFOA lpStartupInfo,
2087 LPPROCESS_INFORMATION lpProcessInformation);
2088BOOL WINAPI DeleteAce(PACL pAcl,
2089 DWORD dwAceIndex);
2090BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR *ObjectDescriptor);
2091BOOL WINAPI DuplicateToken(HANDLE ExistingTokenHandle,
2092 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
2093 PHANDLE DuplicateTokenHandle);
2094BOOL WINAPI FindFirstFreeAce(PACL pAcl,
2095 LPVOID *pAce);
2096BOOL WINAPI GetAce(PACL pAcl,
2097 DWORD dwAceIndex,
2098 LPVOID *pAce);
2099BOOL WINAPI GetAclInformation(PACL pAcl,
2100 LPVOID pAclInformation,
2101 DWORD nAclInformationLength,
2102 ACL_INFORMATION_CLASS dwAclInformationClass);
2103BOOL WINAPI GetKernelObjectSecurity(HANDLE Handle,
2104 SECURITY_INFORMATION RequestedInformation,
2105 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2106 DWORD nLength,
2107 LPDWORD lpnLengthNeeded);
2108BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR ObjectDescriptor,
2109 SECURITY_INFORMATION SecurityInformation,
2110 PSECURITY_DESCRIPTOR ResultantDescriptor,
2111 DWORD DescriptorLength,
2112 LPDWORD ReturnLength);
2113BOOL WINAPI ImpersonateLoggedOnUser(HANDLE hToken);
2114BOOL WINAPI ImpersonateNamedPipeClient(HANDLE hNamedPipe);
2115BOOL WINAPI InitiateSystemShutdownA(LPTSTR lpMachineName,
2116 LPTSTR lpMessage,
2117 DWORD dwTimeout,
2118 BOOL bForceAppsClosed,
2119 BOOL bRebootAfterShutdown);
2120BOOL WINAPI InitiateSystemShutdownW(LPWSTR lpMachineName,
2121 LPWSTR lpMessage,
2122 DWORD dwTimeout,
2123 BOOL bForceAppsClosed,
2124 BOOL bRebootAfterShutdown);
2125DWORD WINAPI IsTextUnicode(CONST LPVOID lpBuffer,
2126 int cb,
2127 LPINT lpi);
2128BOOL WINAPI IsValidAcl(PACL pAcl);
2129BOOL WINAPI LogonUserA(LPTSTR lpszUsername,
2130 LPTSTR lpszDomain,
2131 LPTSTR lpszPassword,
2132 DWORD dwLogonType,
2133 DWORD dwLogonProvider,
2134 PHANDLE phToken);
2135BOOL WINAPI LogonUserW(LPWSTR lpszUsername,
2136 LPWSTR lpszDomain,
2137 LPWSTR lpszPassword,
2138 DWORD dwLogonType,
2139 DWORD dwLogonProvider,
2140 PHANDLE phToken);
2141BOOL WINAPI LookupAccountNameA(LPCSTR lpSystemName,
2142 LPCSTR lpAccountName,
2143 PSID Sid,
2144 LPDWORD cbSid,
2145 LPTSTR ReferencedDomainName,
2146 LPDWORD cbReferencedDomainName,
2147 PSID_NAME_USE peUse);
2148BOOL WINAPI LookupAccountNameW(LPCWSTR lpSystemName,
2149 LPCWSTR lpAccountName,
2150 PSID Sid,
2151 LPDWORD cbSid,
2152 LPWSTR ReferencedDomainName,
2153 LPDWORD cbReferencedDomainName,
2154 PSID_NAME_USE peUse);
2155BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR lpSystemName,
2156 LPCSTR lpName,
2157 LPTSTR lpDisplayName,
2158 LPDWORD cbDisplayName,
2159 LPDWORD lpLanguageId);
2160BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR lpSystemName,
2161 LPCWSTR lpName,
2162 LPWSTR lpDisplayName,
2163 LPDWORD cbDisplayName,
2164 LPDWORD lpLanguageId);
2165BOOL WINAPI LookupPrivilegeNameA(LPCSTR lpSystemName,
2166 PLUID lpLuid,
2167 LPTSTR lpName,
2168 LPDWORD cbName);
2169BOOL WINAPI LookupPrivilegeNameW(LPCWSTR lpSystemName,
2170 PLUID lpLuid,
2171 LPWSTR lpName,
2172 LPDWORD cbName);
2173BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
2174 PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
2175 LPDWORD lpdwAbsoluteSecurityDescriptorSize,
2176 PACL pDacl,
2177 LPDWORD lpdwDaclSize,
2178 PACL pSacl,
2179 LPDWORD lpdwSaclSize,
2180 PSID pOwner,
2181 LPDWORD lpdwOwnerSize,
2182 PSID pPrimaryGroup,
2183 LPDWORD lpdwPrimaryGroupSize);
2184VOID WINAPI MapGenericMask(LPDWORD AccessMask,
2185 PGENERIC_MAPPING GenericMapping);
2186BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR SubsystemName,
2187 LPVOID HandleId,
2188 BOOL GenerateOnClose);
2189BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR SubsystemName,
2190 LPVOID HandleId,
2191 BOOL GenerateOnClose);
2192BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR SubsystemName,
2193 LPVOID HandleId,
2194 LPTSTR ObjectTypeName,
2195 LPTSTR ObjectName,
2196 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2197 HANDLE ClientToken,
2198 DWORD DesiredAccess,
2199 DWORD GrantedAccess,
2200 PPRIVILEGE_SET Privileges,
2201 BOOL ObjectCreation,
2202 BOOL AccessGranted,
2203 LPBOOL GenerateOnClose);
2204BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR SubsystemName,
2205 LPVOID HandleId,
2206 LPWSTR ObjectTypeName,
2207 LPWSTR ObjectName,
2208 PSECURITY_DESCRIPTOR pSecurityDescriptor,
2209 HANDLE ClientToken,
2210 DWORD DesiredAccess,
2211 DWORD GrantedAccess,
2212 PPRIVILEGE_SET Privileges,
2213 BOOL ObjectCreation,
2214 BOOL AccessGranted,
2215 LPBOOL GenerateOnClose);
2216BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR lpszSubsystem,
2217 LPVOID lpvHandleId,
2218 HANDLE hClientToken,
2219 DWORD dwDesiredAccess,
2220 PPRIVILEGE_SET pps,
2221 BOOL fAccessGranted);
2222BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR lpszSubsystem,
2223 LPVOID lpvHandleId,
2224 HANDLE hClientToken,
2225 DWORD dwDesiredAccess,
2226 PPRIVILEGE_SET pps,
2227 BOOL fAccessGranted);
2228BOOL WINAPI PrivilegeCheck(HANDLE hClientToken,
2229 PPRIVILEGE_SET pps,
2230 LPBOOL lpfResult);
2231BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR lpszSubsystem,
2232 LPCSTR lpszService,
2233 HANDLE hClientToken,
2234 PPRIVILEGE_SET pps,
2235 BOOL fAccessGranted);
2236BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR lpszSubsystem,
2237 LPCWSTR lpszService,
2238 HANDLE hClientToken,
2239 PPRIVILEGE_SET pps,
2240 BOOL fAccessGranted);
2241BOOL WINAPI SetAclInformation(PACL pAcl,
2242 LPVOID lpvAclInfo,
2243 DWORD cbAclInfo,
2244 ACL_INFORMATION_CLASS aclic);
2245BOOL WINAPI SetKernelObjectSecurity(HANDLE hObject,
2246 SECURITY_INFORMATION si,
2247 PSECURITY_DESCRIPTOR psd);
2248BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION si,
2249 PSECURITY_DESCRIPTOR psdSource,
2250 PSECURITY_DESCRIPTOR *lppsdTarget,
2251 PGENERIC_MAPPING pgm,
2252 HANDLE hClientToken);
2253
2254
2255/* undocumented functions */
2256
2257typedef struct tagSYSLEVEL
2258{
2259 CRITICAL_SECTION crst;
2260 INT level;
2261} SYSLEVEL;
2262
2263VOID WINAPI GetpWin16Lock(SYSLEVEL**);
2264DWORD WINAPI MapLS(LPVOID);
2265LPVOID WINAPI MapSL(DWORD);
2266VOID WINAPI ReleaseThunkLock(DWORD*);
2267VOID WINAPI RestoreThunkLock(DWORD);
2268VOID WINAPI UnMapLS(DWORD);
2269DWORD WINAPI _ConfirmWin16Lock(void);
2270DWORD WINAPI _ConfirmSysLevel(SYSLEVEL*);
2271VOID WINAPI _EnterSysLevel(SYSLEVEL*);
2272VOID WINAPI _LeaveSysLevel(SYSLEVEL*);
2273
2274#ifdef __cplusplus
2275}
2276#endif
2277
2278#endif /* __WINE_WINBASE_H */
Note: See TracBrowser for help on using the repository browser.