winbase.h 91 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171
  1. /*
  2. * Copyright (C) the Wine project
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. */
  18. #ifndef __WINE_WINBASE_H
  19. #define __WINE_WINBASE_H
  20. #include <winerror.h>
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. /* Windows Exit Procedure flag values */
  25. #define WEP_FREE_DLL 0
  26. #define WEP_SYSTEM_EXIT 1
  27. typedef DWORD (CALLBACK *LPTHREAD_START_ROUTINE)(LPVOID);
  28. typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
  29. typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
  30. typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
  31. typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
  32. typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
  33. typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
  34. typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
  35. typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
  36. typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
  37. #define EXCEPTION_DEBUG_EVENT 1
  38. #define CREATE_THREAD_DEBUG_EVENT 2
  39. #define CREATE_PROCESS_DEBUG_EVENT 3
  40. #define EXIT_THREAD_DEBUG_EVENT 4
  41. #define EXIT_PROCESS_DEBUG_EVENT 5
  42. #define LOAD_DLL_DEBUG_EVENT 6
  43. #define UNLOAD_DLL_DEBUG_EVENT 7
  44. #define OUTPUT_DEBUG_STRING_EVENT 8
  45. #define RIP_EVENT 9
  46. typedef struct _EXCEPTION_DEBUG_INFO {
  47. EXCEPTION_RECORD ExceptionRecord;
  48. DWORD dwFirstChance;
  49. } EXCEPTION_DEBUG_INFO;
  50. typedef struct _CREATE_THREAD_DEBUG_INFO {
  51. HANDLE hThread;
  52. LPVOID lpThreadLocalBase;
  53. LPTHREAD_START_ROUTINE lpStartAddress;
  54. } CREATE_THREAD_DEBUG_INFO;
  55. typedef struct _CREATE_PROCESS_DEBUG_INFO {
  56. HANDLE hFile;
  57. HANDLE hProcess;
  58. HANDLE hThread;
  59. LPVOID lpBaseOfImage;
  60. DWORD dwDebugInfoFileOffset;
  61. DWORD nDebugInfoSize;
  62. LPVOID lpThreadLocalBase;
  63. LPTHREAD_START_ROUTINE lpStartAddress;
  64. LPVOID lpImageName;
  65. WORD fUnicode;
  66. } CREATE_PROCESS_DEBUG_INFO;
  67. typedef struct _EXIT_THREAD_DEBUG_INFO {
  68. DWORD dwExitCode;
  69. } EXIT_THREAD_DEBUG_INFO;
  70. typedef struct _EXIT_PROCESS_DEBUG_INFO {
  71. DWORD dwExitCode;
  72. } EXIT_PROCESS_DEBUG_INFO;
  73. typedef struct _LOAD_DLL_DEBUG_INFO {
  74. HANDLE hFile;
  75. LPVOID lpBaseOfDll;
  76. DWORD dwDebugInfoFileOffset;
  77. DWORD nDebugInfoSize;
  78. LPVOID lpImageName;
  79. WORD fUnicode;
  80. } LOAD_DLL_DEBUG_INFO;
  81. typedef struct _UNLOAD_DLL_DEBUG_INFO {
  82. LPVOID lpBaseOfDll;
  83. } UNLOAD_DLL_DEBUG_INFO;
  84. typedef struct _OUTPUT_DEBUG_STRING_INFO {
  85. LPSTR lpDebugStringData;
  86. WORD fUnicode;
  87. WORD nDebugStringLength;
  88. } OUTPUT_DEBUG_STRING_INFO;
  89. typedef struct _RIP_INFO {
  90. DWORD dwError;
  91. DWORD dwType;
  92. } RIP_INFO;
  93. typedef struct _DEBUG_EVENT {
  94. DWORD dwDebugEventCode;
  95. DWORD dwProcessId;
  96. DWORD dwThreadId;
  97. union {
  98. EXCEPTION_DEBUG_INFO Exception;
  99. CREATE_THREAD_DEBUG_INFO CreateThread;
  100. CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
  101. EXIT_THREAD_DEBUG_INFO ExitThread;
  102. EXIT_PROCESS_DEBUG_INFO ExitProcess;
  103. LOAD_DLL_DEBUG_INFO LoadDll;
  104. UNLOAD_DLL_DEBUG_INFO UnloadDll;
  105. OUTPUT_DEBUG_STRING_INFO DebugString;
  106. RIP_INFO RipInfo;
  107. } u;
  108. } DEBUG_EVENT, *LPDEBUG_EVENT;
  109. typedef PCONTEXT LPCONTEXT;
  110. typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
  111. typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
  112. #define OFS_MAXPATHNAME 128
  113. typedef struct _OFSTRUCT
  114. {
  115. BYTE cBytes;
  116. BYTE fFixedDisk;
  117. WORD nErrCode;
  118. WORD Reserved1;
  119. WORD Reserved2;
  120. BYTE szPathName[OFS_MAXPATHNAME];
  121. } OFSTRUCT, *POFSTRUCT, *LPOFSTRUCT;
  122. #define OF_READ 0x0000
  123. #define OF_WRITE 0x0001
  124. #define OF_READWRITE 0x0002
  125. #define OF_SHARE_COMPAT 0x0000
  126. #define OF_SHARE_EXCLUSIVE 0x0010
  127. #define OF_SHARE_DENY_WRITE 0x0020
  128. #define OF_SHARE_DENY_READ 0x0030
  129. #define OF_SHARE_DENY_NONE 0x0040
  130. #define OF_PARSE 0x0100
  131. #define OF_DELETE 0x0200
  132. #define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
  133. #define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
  134. #define OF_CANCEL 0x0800
  135. #define OF_CREATE 0x1000
  136. #define OF_PROMPT 0x2000
  137. #define OF_EXIST 0x4000
  138. #define OF_REOPEN 0x8000
  139. /* SetErrorMode values */
  140. #define SEM_FAILCRITICALERRORS 0x0001
  141. #define SEM_NOGPFAULTERRORBOX 0x0002
  142. #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
  143. #define SEM_NOOPENFILEERRORBOX 0x8000
  144. /* CopyFileEx flags */
  145. #define COPY_FILE_FAIL_IF_EXISTS 0x00000001
  146. #define COPY_FILE_RESTARTABLE 0x00000002
  147. #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
  148. /* GetTempFileName() Flags */
  149. #define TF_FORCEDRIVE 0x80
  150. #define DRIVE_UNKNOWN 0
  151. #define DRIVE_NO_ROOT_DIR 1
  152. #define DRIVE_REMOVABLE 2
  153. #define DRIVE_FIXED 3
  154. #define DRIVE_REMOTE 4
  155. /* Win32 additions */
  156. #define DRIVE_CDROM 5
  157. #define DRIVE_RAMDISK 6
  158. #define MAX_COMPUTERNAME_LENGTH 15
  159. /* The security attributes structure */
  160. typedef struct _SECURITY_ATTRIBUTES
  161. {
  162. DWORD nLength;
  163. LPVOID lpSecurityDescriptor;
  164. BOOL bInheritHandle;
  165. } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
  166. #ifndef _FILETIME_
  167. #define _FILETIME_
  168. /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
  169. typedef struct _FILETIME
  170. {
  171. #ifdef WORDS_BIGENDIAN
  172. DWORD dwHighDateTime;
  173. DWORD dwLowDateTime;
  174. #else
  175. DWORD dwLowDateTime;
  176. DWORD dwHighDateTime;
  177. #endif
  178. } FILETIME, *PFILETIME, *LPFILETIME;
  179. #endif /* _FILETIME_ */
  180. /* Find* structures */
  181. typedef struct _WIN32_FIND_DATAA
  182. {
  183. DWORD dwFileAttributes;
  184. FILETIME ftCreationTime;
  185. FILETIME ftLastAccessTime;
  186. FILETIME ftLastWriteTime;
  187. DWORD nFileSizeHigh;
  188. DWORD nFileSizeLow;
  189. DWORD dwReserved0;
  190. DWORD dwReserved1;
  191. CHAR cFileName[260];
  192. CHAR cAlternateFileName[14];
  193. } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
  194. typedef struct _WIN32_FIND_DATAW
  195. {
  196. DWORD dwFileAttributes;
  197. FILETIME ftCreationTime;
  198. FILETIME ftLastAccessTime;
  199. FILETIME ftLastWriteTime;
  200. DWORD nFileSizeHigh;
  201. DWORD nFileSizeLow;
  202. DWORD dwReserved0;
  203. DWORD dwReserved1;
  204. WCHAR cFileName[260];
  205. WCHAR cAlternateFileName[14];
  206. } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
  207. DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)
  208. DECL_WINELIB_TYPE_AW(PWIN32_FIND_DATA)
  209. DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)
  210. typedef enum _FINDEX_INFO_LEVELS
  211. {
  212. FindExInfoStandard,
  213. FindExInfoMaxInfoLevel
  214. } FINDEX_INFO_LEVELS;
  215. typedef enum _FINDEX_SEARCH_OPS
  216. {
  217. FindExSearchNameMatch,
  218. FindExSearchLimitToDirectories,
  219. FindExSearchLimitToDevices,
  220. FindExSearchMaxSearchOp
  221. } FINDEX_SEARCH_OPS;
  222. typedef struct _PROCESS_HEAP_ENTRY
  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. } DUMMYUNIONNAME;
  241. } PROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY;
  242. #define PROCESS_HEAP_REGION 0x0001
  243. #define PROCESS_HEAP_UNCOMMITTED_RANGE 0x0002
  244. #define PROCESS_HEAP_ENTRY_BUSY 0x0004
  245. #define PROCESS_HEAP_ENTRY_MOVEABLE 0x0010
  246. #define PROCESS_HEAP_ENTRY_DDESHARE 0x0020
  247. #define INVALID_HANDLE_VALUE ((HANDLE)~0UL)
  248. #define INVALID_FILE_SIZE ((DWORD)~0UL)
  249. #define INVALID_SET_FILE_POINTER ((DWORD)~0UL)
  250. #define INVALID_FILE_ATTRIBUTES ((DWORD)~0UL)
  251. #define LOCKFILE_FAIL_IMMEDIATELY 1
  252. #define LOCKFILE_EXCLUSIVE_LOCK 2
  253. #define TLS_OUT_OF_INDEXES ((DWORD)~0UL)
  254. #define SHUTDOWN_NORETRY 1
  255. /* comm */
  256. #define CBR_110 0xFF10
  257. #define CBR_300 0xFF11
  258. #define CBR_600 0xFF12
  259. #define CBR_1200 0xFF13
  260. #define CBR_2400 0xFF14
  261. #define CBR_4800 0xFF15
  262. #define CBR_9600 0xFF16
  263. #define CBR_14400 0xFF17
  264. #define CBR_19200 0xFF18
  265. #define CBR_38400 0xFF1B
  266. #define CBR_56000 0xFF1F
  267. #define CBR_57600 0xFF20
  268. #define CBR_115200 0xFF21
  269. #define CBR_128000 0xFF23
  270. #define CBR_256000 0xFF27
  271. #define NOPARITY 0
  272. #define ODDPARITY 1
  273. #define EVENPARITY 2
  274. #define MARKPARITY 3
  275. #define SPACEPARITY 4
  276. #define ONESTOPBIT 0
  277. #define ONE5STOPBITS 1
  278. #define TWOSTOPBITS 2
  279. #define IGNORE 0
  280. #define INFINITE 0xFFFFFFFF
  281. #define CE_RXOVER 0x0001
  282. #define CE_OVERRUN 0x0002
  283. #define CE_RXPARITY 0x0004
  284. #define CE_FRAME 0x0008
  285. #define CE_BREAK 0x0010
  286. #define CE_CTSTO 0x0020
  287. #define CE_DSRTO 0x0040
  288. #define CE_RLSDTO 0x0080
  289. #define CE_TXFULL 0x0100
  290. #define CE_PTO 0x0200
  291. #define CE_IOE 0x0400
  292. #define CE_DNS 0x0800
  293. #define CE_OOP 0x1000
  294. #define CE_MODE 0x8000
  295. #define IE_BADID -1
  296. #define IE_OPEN -2
  297. #define IE_NOPEN -3
  298. #define IE_MEMORY -4
  299. #define IE_DEFAULT -5
  300. #define IE_HARDWARE -10
  301. #define IE_BYTESIZE -11
  302. #define IE_BAUDRATE -12
  303. #define EV_RXCHAR 0x0001
  304. #define EV_RXFLAG 0x0002
  305. #define EV_TXEMPT 0x0004
  306. #define EV_CTS 0x0008
  307. #define EV_DSR 0x0010
  308. #define EV_RLSD 0x0020
  309. #define EV_BREAK 0x0040
  310. #define EV_ERR 0x0080
  311. #define EV_RING 0x0100
  312. #define EV_PERR 0x0200
  313. #define EV_RX80FULL 0x0400
  314. #define EV_EVENT1 0x0800
  315. #define EV_EVENT2 0x1000
  316. #define SETXOFF 1
  317. #define SETXON 2
  318. #define SETRTS 3
  319. #define CLRRTS 4
  320. #define SETDTR 5
  321. #define CLRDTR 6
  322. #define RESETDEV 7
  323. #define SETBREAK 8
  324. #define CLRBREAK 9
  325. /* Purge functions for Comm Port */
  326. #define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the
  327. comm port */
  328. #define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to
  329. the comm port */
  330. #define PURGE_TXCLEAR 0x0004 /* Kill the transmit queue if there*/
  331. #define PURGE_RXCLEAR 0x0008 /* Kill the typeahead buffer if there*/
  332. /* Modem Status Flags */
  333. #define MS_CTS_ON ((DWORD)0x0010)
  334. #define MS_DSR_ON ((DWORD)0x0020)
  335. #define MS_RING_ON ((DWORD)0x0040)
  336. #define MS_RLSD_ON ((DWORD)0x0080)
  337. #define RTS_CONTROL_DISABLE 0
  338. #define RTS_CONTROL_ENABLE 1
  339. #define RTS_CONTROL_HANDSHAKE 2
  340. #define RTS_CONTROL_TOGGLE 3
  341. #define DTR_CONTROL_DISABLE 0
  342. #define DTR_CONTROL_ENABLE 1
  343. #define DTR_CONTROL_HANDSHAKE 2
  344. #define LMEM_FIXED 0
  345. #define LMEM_MOVEABLE 0x0002
  346. #define LMEM_NOCOMPACT 0x0010
  347. #define LMEM_NODISCARD 0x0020
  348. #define LMEM_ZEROINIT 0x0040
  349. #define LMEM_MODIFY 0x0080
  350. #define LMEM_DISCARDABLE 0x0F00
  351. #define LMEM_DISCARDED 0x4000
  352. #define LMEM_LOCKCOUNT 0x00FF
  353. #define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
  354. #define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
  355. #define NONZEROLHND (LMEM_MOVEABLE)
  356. #define NONZEROLPTR (LMEM_FIXED)
  357. #define LocalDiscard(h) (LocalReAlloc((h),0,LMEM_MOVEABLE))
  358. #define GMEM_FIXED 0x0000
  359. #define GMEM_MOVEABLE 0x0002
  360. #define GMEM_NOCOMPACT 0x0010
  361. #define GMEM_NODISCARD 0x0020
  362. #define GMEM_ZEROINIT 0x0040
  363. #define GMEM_MODIFY 0x0080
  364. #define GMEM_DISCARDABLE 0x0100
  365. #define GMEM_NOT_BANKED 0x1000
  366. #define GMEM_SHARE 0x2000
  367. #define GMEM_DDESHARE 0x2000
  368. #define GMEM_NOTIFY 0x4000
  369. #define GMEM_LOWER GMEM_NOT_BANKED
  370. #define GMEM_DISCARDED 0x4000
  371. #define GMEM_LOCKCOUNT 0x00ff
  372. #define GMEM_INVALID_HANDLE 0x8000
  373. #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
  374. #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
  375. #define GlobalLRUNewest(h) ((HANDLE)(h))
  376. #define GlobalLRUOldest(h) ((HANDLE)(h))
  377. #define GlobalDiscard(h) (GlobalReAlloc((h),0,GMEM_MOVEABLE))
  378. #define INVALID_ATOM ((ATOM)0)
  379. #define MAXINTATOM 0xc000
  380. #define MAKEINTATOMA(atom) ((LPCSTR)((ULONG_PTR)((WORD)(atom))))
  381. #define MAKEINTATOMW(atom) ((LPCWSTR)((ULONG_PTR)((WORD)(atom))))
  382. #define MAKEINTATOM WINELIB_NAME_AW(MAKEINTATOM)
  383. typedef struct tagMEMORYSTATUS
  384. {
  385. DWORD dwLength;
  386. DWORD dwMemoryLoad;
  387. SIZE_T dwTotalPhys;
  388. SIZE_T dwAvailPhys;
  389. SIZE_T dwTotalPageFile;
  390. SIZE_T dwAvailPageFile;
  391. SIZE_T dwTotalVirtual;
  392. SIZE_T dwAvailVirtual;
  393. } MEMORYSTATUS, *LPMEMORYSTATUS;
  394. #include <pshpack8.h>
  395. typedef struct tagMEMORYSTATUSEX {
  396. DWORD dwLength;
  397. DWORD dwMemoryLoad;
  398. DWORDLONG DECLSPEC_ALIGN(8) ullTotalPhys;
  399. DWORDLONG DECLSPEC_ALIGN(8) ullAvailPhys;
  400. DWORDLONG DECLSPEC_ALIGN(8) ullTotalPageFile;
  401. DWORDLONG DECLSPEC_ALIGN(8) ullAvailPageFile;
  402. DWORDLONG DECLSPEC_ALIGN(8) ullTotalVirtual;
  403. DWORDLONG DECLSPEC_ALIGN(8) ullAvailVirtual;
  404. DWORDLONG DECLSPEC_ALIGN(8) ullAvailExtendedVirtual;
  405. } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
  406. #include <poppack.h>
  407. typedef struct _SYSTEMTIME{
  408. WORD wYear;
  409. WORD wMonth;
  410. WORD wDayOfWeek;
  411. WORD wDay;
  412. WORD wHour;
  413. WORD wMinute;
  414. WORD wSecond;
  415. WORD wMilliseconds;
  416. } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
  417. /* The 'overlapped' data structure used by async I/O functions.
  418. */
  419. typedef struct _OVERLAPPED {
  420. DWORD Internal;
  421. DWORD InternalHigh;
  422. DWORD Offset;
  423. DWORD OffsetHigh;
  424. HANDLE hEvent;
  425. } OVERLAPPED, *LPOVERLAPPED;
  426. typedef VOID (CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
  427. /* Process startup information.
  428. */
  429. /* STARTUPINFO.dwFlags */
  430. #define STARTF_USESHOWWINDOW 0x00000001
  431. #define STARTF_USESIZE 0x00000002
  432. #define STARTF_USEPOSITION 0x00000004
  433. #define STARTF_USECOUNTCHARS 0x00000008
  434. #define STARTF_USEFILLATTRIBUTE 0x00000010
  435. #define STARTF_RUNFULLSCREEN 0x00000020
  436. #define STARTF_FORCEONFEEDBACK 0x00000040
  437. #define STARTF_FORCEOFFFEEDBACK 0x00000080
  438. #define STARTF_USESTDHANDLES 0x00000100
  439. #define STARTF_USEHOTKEY 0x00000200
  440. typedef struct _STARTUPINFOA{
  441. DWORD cb; /* 00: size of struct */
  442. LPSTR lpReserved; /* 04: */
  443. LPSTR lpDesktop; /* 08: */
  444. LPSTR lpTitle; /* 0c: */
  445. DWORD dwX; /* 10: */
  446. DWORD dwY; /* 14: */
  447. DWORD dwXSize; /* 18: */
  448. DWORD dwYSize; /* 1c: */
  449. DWORD dwXCountChars; /* 20: */
  450. DWORD dwYCountChars; /* 24: */
  451. DWORD dwFillAttribute; /* 28: */
  452. DWORD dwFlags; /* 2c: */
  453. WORD wShowWindow; /* 30: */
  454. WORD cbReserved2; /* 32: */
  455. BYTE *lpReserved2; /* 34: */
  456. HANDLE hStdInput; /* 38: */
  457. HANDLE hStdOutput; /* 3c: */
  458. HANDLE hStdError; /* 40: */
  459. } STARTUPINFOA, *LPSTARTUPINFOA;
  460. typedef struct _STARTUPINFOW{
  461. DWORD cb;
  462. LPWSTR lpReserved;
  463. LPWSTR lpDesktop;
  464. LPWSTR lpTitle;
  465. DWORD dwX;
  466. DWORD dwY;
  467. DWORD dwXSize;
  468. DWORD dwYSize;
  469. DWORD dwXCountChars;
  470. DWORD dwYCountChars;
  471. DWORD dwFillAttribute;
  472. DWORD dwFlags;
  473. WORD wShowWindow;
  474. WORD cbReserved2;
  475. BYTE *lpReserved2;
  476. HANDLE hStdInput;
  477. HANDLE hStdOutput;
  478. HANDLE hStdError;
  479. } STARTUPINFOW, *LPSTARTUPINFOW;
  480. DECL_WINELIB_TYPE_AW(STARTUPINFO)
  481. DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
  482. typedef struct _PROCESS_INFORMATION{
  483. HANDLE hProcess;
  484. HANDLE hThread;
  485. DWORD dwProcessId;
  486. DWORD dwThreadId;
  487. } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
  488. typedef struct _TIME_ZONE_INFORMATION{
  489. LONG Bias;
  490. WCHAR StandardName[32];
  491. SYSTEMTIME StandardDate;
  492. LONG StandardBias;
  493. WCHAR DaylightName[32];
  494. SYSTEMTIME DaylightDate;
  495. LONG DaylightBias;
  496. } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
  497. #define TIME_ZONE_ID_INVALID ((DWORD)0xFFFFFFFF)
  498. #define TIME_ZONE_ID_UNKNOWN 0
  499. #define TIME_ZONE_ID_STANDARD 1
  500. #define TIME_ZONE_ID_DAYLIGHT 2
  501. /* CreateProcess: dwCreationFlag values
  502. */
  503. #define DEBUG_PROCESS 0x00000001
  504. #define DEBUG_ONLY_THIS_PROCESS 0x00000002
  505. #define CREATE_SUSPENDED 0x00000004
  506. #define DETACHED_PROCESS 0x00000008
  507. #define CREATE_NEW_CONSOLE 0x00000010
  508. #define NORMAL_PRIORITY_CLASS 0x00000020
  509. #define IDLE_PRIORITY_CLASS 0x00000040
  510. #define HIGH_PRIORITY_CLASS 0x00000080
  511. #define REALTIME_PRIORITY_CLASS 0x00000100
  512. #define CREATE_NEW_PROCESS_GROUP 0x00000200
  513. #define CREATE_UNICODE_ENVIRONMENT 0x00000400
  514. #define CREATE_SEPARATE_WOW_VDM 0x00000800
  515. #define CREATE_SHARED_WOW_VDM 0x00001000
  516. #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
  517. #define CREATE_DEFAULT_ERROR_MODE 0x04000000
  518. #define CREATE_NO_WINDOW 0x08000000
  519. #define PROFILE_USER 0x10000000
  520. #define PROFILE_KERNEL 0x20000000
  521. #define PROFILE_SERVER 0x40000000
  522. /* File object type definitions
  523. */
  524. #define FILE_TYPE_UNKNOWN 0
  525. #define FILE_TYPE_DISK 1
  526. #define FILE_TYPE_CHAR 2
  527. #define FILE_TYPE_PIPE 3
  528. #define FILE_TYPE_REMOTE 32768
  529. /* File creation flags
  530. */
  531. #define FILE_FLAG_WRITE_THROUGH 0x80000000UL
  532. #define FILE_FLAG_OVERLAPPED 0x40000000L
  533. #define FILE_FLAG_NO_BUFFERING 0x20000000L
  534. #define FILE_FLAG_RANDOM_ACCESS 0x10000000L
  535. #define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000L
  536. #define FILE_FLAG_DELETE_ON_CLOSE 0x04000000L
  537. #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000L
  538. #define FILE_FLAG_POSIX_SEMANTICS 0x01000000L
  539. #define CREATE_NEW 1
  540. #define CREATE_ALWAYS 2
  541. #define OPEN_EXISTING 3
  542. #define OPEN_ALWAYS 4
  543. #define TRUNCATE_EXISTING 5
  544. /* Standard handle identifiers
  545. */
  546. #define STD_INPUT_HANDLE ((DWORD) -10)
  547. #define STD_OUTPUT_HANDLE ((DWORD) -11)
  548. #define STD_ERROR_HANDLE ((DWORD) -12)
  549. typedef struct _BY_HANDLE_FILE_INFORMATION
  550. {
  551. DWORD dwFileAttributes;
  552. FILETIME ftCreationTime;
  553. FILETIME ftLastAccessTime;
  554. FILETIME ftLastWriteTime;
  555. DWORD dwVolumeSerialNumber;
  556. DWORD nFileSizeHigh;
  557. DWORD nFileSizeLow;
  558. DWORD nNumberOfLinks;
  559. DWORD nFileIndexHigh;
  560. DWORD nFileIndexLow;
  561. } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION ;
  562. #define PIPE_ACCESS_INBOUND 1
  563. #define PIPE_ACCESS_OUTBOUND 2
  564. #define PIPE_ACCESS_DUPLEX 3
  565. #define PIPE_TYPE_BYTE 0
  566. #define PIPE_TYPE_MESSAGE 4
  567. #define PIPE_READMODE_BYTE 0
  568. #define PIPE_READMODE_MESSAGE 2
  569. #define PIPE_WAIT 0
  570. #define PIPE_NOWAIT 1
  571. #define PIPE_UNLIMITED_INSTANCES 255
  572. #define NMPWAIT_WAIT_FOREVER 0xffffffff
  573. #define NMPWAIT_NOWAIT 0x00000001
  574. #define NMPWAIT_USE_DEFAULT_WAIT 0x00000000
  575. typedef struct _SYSTEM_POWER_STATUS
  576. {
  577. BYTE ACLineStatus;
  578. BYTE BatteryFlag;
  579. BYTE BatteryLifePercent;
  580. BYTE Reserved1;
  581. DWORD BatteryLifeTime;
  582. DWORD BatteryFullLifeTime;
  583. } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
  584. typedef struct _SYSTEM_INFO
  585. {
  586. union {
  587. DWORD dwOemId; /* Obsolete field - do not use */
  588. struct {
  589. WORD wProcessorArchitecture;
  590. WORD wReserved;
  591. } DUMMYSTRUCTNAME;
  592. } DUMMYUNIONNAME;
  593. DWORD dwPageSize;
  594. LPVOID lpMinimumApplicationAddress;
  595. LPVOID lpMaximumApplicationAddress;
  596. DWORD dwActiveProcessorMask;
  597. DWORD dwNumberOfProcessors;
  598. DWORD dwProcessorType;
  599. DWORD dwAllocationGranularity;
  600. WORD wProcessorLevel;
  601. WORD wProcessorRevision;
  602. } SYSTEM_INFO, *LPSYSTEM_INFO;
  603. typedef BOOL (CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG_PTR);
  604. typedef BOOL (CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG_PTR);
  605. typedef BOOL (CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG_PTR);
  606. typedef BOOL (CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG_PTR);
  607. typedef BOOL (CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG_PTR);
  608. typedef BOOL (CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG_PTR);
  609. DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
  610. DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
  611. DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
  612. /* flags that can be passed to LoadLibraryEx */
  613. #define DONT_RESOLVE_DLL_REFERENCES 0x00000001
  614. #define LOAD_LIBRARY_AS_DATAFILE 0x00000002
  615. #define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
  616. typedef PLDT_ENTRY LPLDT_ENTRY;
  617. typedef enum _GET_FILEEX_INFO_LEVELS {
  618. GetFileExInfoStandard
  619. } GET_FILEEX_INFO_LEVELS;
  620. typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
  621. DWORD dwFileAttributes;
  622. FILETIME ftCreationTime;
  623. FILETIME ftLastAccessTime;
  624. FILETIME ftLastWriteTime;
  625. DWORD nFileSizeHigh;
  626. DWORD nFileSizeLow;
  627. } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
  628. /*
  629. * This one seems to be a Win32 only definition. It also is defined with
  630. * WINAPI instead of CALLBACK in the windows headers.
  631. */
  632. typedef DWORD (CALLBACK *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
  633. LARGE_INTEGER, DWORD, DWORD, HANDLE,
  634. HANDLE, LPVOID);
  635. #define WAIT_FAILED 0xffffffff
  636. #define WAIT_OBJECT_0 0
  637. #define WAIT_ABANDONED STATUS_ABANDONED_WAIT_0
  638. #define WAIT_ABANDONED_0 STATUS_ABANDONED_WAIT_0
  639. #define WAIT_IO_COMPLETION STATUS_USER_APC
  640. #define WAIT_TIMEOUT STATUS_TIMEOUT
  641. #define STILL_ACTIVE STATUS_PENDING
  642. #define FILE_BEGIN 0
  643. #define FILE_CURRENT 1
  644. #define FILE_END 2
  645. #define FILE_MAP_COPY 0x00000001
  646. #define FILE_MAP_WRITE 0x00000002
  647. #define FILE_MAP_READ 0x00000004
  648. #define FILE_MAP_ALL_ACCESS 0x000f001f
  649. #define MOVEFILE_REPLACE_EXISTING 0x00000001
  650. #define MOVEFILE_COPY_ALLOWED 0x00000002
  651. #define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004
  652. #define REPLACEFILE_WRITE_THROUGH 0x00000001
  653. #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
  654. #define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH
  655. #define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES
  656. #define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK
  657. #define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS
  658. #define FS_VOL_IS_COMPRESSED FILE_VOLUME_IS_COMPRESSED
  659. #define FS_FILE_COMPRESSION FILE_FILE_COMPRESSION
  660. #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
  661. #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
  662. #define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
  663. #define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
  664. #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
  665. #define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
  666. #define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
  667. #define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
  668. #define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
  669. #define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
  670. #define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
  671. #define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
  672. #define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
  673. #define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
  674. #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
  675. #define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
  676. #define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
  677. #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
  678. #define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
  679. #define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
  680. #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
  681. #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
  682. #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
  683. #define DUPLICATE_CLOSE_SOURCE 0x00000001
  684. #define DUPLICATE_SAME_ACCESS 0x00000002
  685. #define HANDLE_FLAG_INHERIT 0x00000001
  686. #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x00000002
  687. #define HINSTANCE_ERROR 32
  688. #define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
  689. #define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
  690. #define THREAD_PRIORITY_NORMAL 0
  691. #define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
  692. #define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
  693. #define THREAD_PRIORITY_ERROR_RETURN (0x7fffffff)
  694. #define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
  695. #define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
  696. /* flags to FormatMessage */
  697. #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
  698. #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
  699. #define FORMAT_MESSAGE_FROM_STRING 0x00000400
  700. #define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
  701. #define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
  702. #define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
  703. #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
  704. /* flags to ACTCTX[AW] */
  705. #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID (0x00000001)
  706. #define ACTCTX_FLAG_LANGID_VALID (0x00000002)
  707. #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID (0x00000004)
  708. #define ACTCTX_FLAG_RESOURCE_NAME_VALID (0x00000008)
  709. #define ACTCTX_FLAG_SET_PROCESS_DEFAULT (0x00000010)
  710. #define ACTCTX_FLAG_APPLICATION_NAME_VALID (0x00000020)
  711. #define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF (0x00000040)
  712. #define ACTCTX_FLAG_HMODULE_VALID (0x00000080)
  713. /* flags to DeactiveActCtx */
  714. #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x00000001)
  715. /* flags to FindActCtxSection{Guid,String[AW]} */
  716. #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX (0x00000001)
  717. #define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS (0x00000002)
  718. #define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA (0x00000004)
  719. /* flags to QueryActCtxW */
  720. #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX (0x00000004)
  721. #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE (0x00000008)
  722. #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS (0x00000010)
  723. #define QUERY_ACTCTX_FLAG_NO_ADDREF (0x80000000)
  724. typedef struct tagACTCTXA {
  725. ULONG cbSize;
  726. DWORD dwFlags;
  727. LPCSTR lpSource;
  728. USHORT wProcessorArchitecture;
  729. LANGID wLangId;
  730. LPCSTR lpAssemblyDirectory;
  731. LPCSTR lpResourceName;
  732. LPCSTR lpApplicationName;
  733. HMODULE hModule;
  734. } ACTCTXA, *PACTCTXA;
  735. typedef struct tagACTCTXW {
  736. ULONG cbSize;
  737. DWORD dwFlags;
  738. LPCWSTR lpSource;
  739. USHORT wProcessorArchitecture;
  740. LANGID wLangId;
  741. LPCWSTR lpAssemblyDirectory;
  742. LPCWSTR lpResourceName;
  743. LPCWSTR lpApplicationName;
  744. HMODULE hModule;
  745. } ACTCTXW, *PACTCTXW;
  746. DECL_WINELIB_TYPE_AW(ACTCTX)
  747. DECL_WINELIB_TYPE_AW(PACTCTX)
  748. typedef const ACTCTXA *PCACTCTXA;
  749. typedef const ACTCTXW *PCACTCTXW;
  750. DECL_WINELIB_TYPE_AW(PCACTCTX)
  751. typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
  752. ULONG cbSize;
  753. ULONG ulDataFormatVersion;
  754. PVOID lpData;
  755. ULONG ulLength;
  756. PVOID lpSectionGlobalData;
  757. ULONG ulSectionGlobalDataLength;
  758. PVOID lpSectionBase;
  759. ULONG ulSectionTotalLength;
  760. HANDLE hActCtx;
  761. ULONG ulAssemblyRosterIndex;
  762. } ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
  763. typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
  764. typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
  765. PVOID lpInformation;
  766. PVOID lpSectionBase;
  767. ULONG ulSectionLength;
  768. PVOID lpSectionGlobalDataBase;
  769. ULONG ulSectionGlobalDataLength;
  770. } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
  771. typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
  772. typedef struct tagACTCTX_SECTION_KEYED_DATA {
  773. ULONG cbSize;
  774. ULONG ulDataFormatVersion;
  775. PVOID lpData;
  776. ULONG ulLength;
  777. PVOID lpSectionGlobalData;
  778. ULONG ulSectionGlobalDataLength;
  779. PVOID lpSectionBase;
  780. ULONG ulSectionTotalLength;
  781. HANDLE hActCtx;
  782. ULONG ulAssemblyRosterIndex;
  783. /* Non 2600 extra fields */
  784. ULONG ulFlags;
  785. ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
  786. } ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
  787. typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
  788. typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
  789. HANDLE hActCtx;
  790. DWORD dwFlags;
  791. } ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
  792. typedef BOOL (WINAPI *PQUERYACTCTXW_FUNC)(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T *);
  793. typedef struct tagCOMSTAT
  794. {
  795. DWORD fCtsHold : 1;
  796. DWORD fDsrHold : 1;
  797. DWORD fRlsdHold : 1;
  798. DWORD fXoffHold : 1;
  799. DWORD fXoffSent : 1;
  800. DWORD fEof : 1;
  801. DWORD fTxim : 1;
  802. DWORD fReserved : 25;
  803. DWORD cbInQue;
  804. DWORD cbOutQue;
  805. } COMSTAT, *LPCOMSTAT;
  806. typedef struct tagDCB
  807. {
  808. DWORD DCBlength;
  809. DWORD BaudRate;
  810. unsigned fBinary :1;
  811. unsigned fParity :1;
  812. unsigned fOutxCtsFlow :1;
  813. unsigned fOutxDsrFlow :1;
  814. unsigned fDtrControl :2;
  815. unsigned fDsrSensitivity :1;
  816. unsigned fTXContinueOnXoff :1;
  817. unsigned fOutX :1;
  818. unsigned fInX :1;
  819. unsigned fErrorChar :1;
  820. unsigned fNull :1;
  821. unsigned fRtsControl :2;
  822. unsigned fAbortOnError :1;
  823. unsigned fDummy2 :17;
  824. WORD wReserved;
  825. WORD XonLim;
  826. WORD XoffLim;
  827. BYTE ByteSize;
  828. BYTE Parity;
  829. BYTE StopBits;
  830. char XonChar;
  831. char XoffChar;
  832. char ErrorChar;
  833. char EofChar;
  834. char EvtChar;
  835. WORD wReserved1;
  836. } DCB, *LPDCB;
  837. typedef struct tagCOMMCONFIG {
  838. DWORD dwSize;
  839. WORD wVersion;
  840. WORD wReserved;
  841. DCB dcb;
  842. DWORD dwProviderSubType;
  843. DWORD dwProviderOffset;
  844. DWORD dwProviderSize;
  845. DWORD wcProviderData[1];
  846. } COMMCONFIG, *LPCOMMCONFIG;
  847. typedef struct tagCOMMPROP {
  848. WORD wPacketLength;
  849. WORD wPacketVersion;
  850. DWORD dwServiceMask;
  851. DWORD dwReserved1;
  852. DWORD dwMaxTxQueue;
  853. DWORD dwMaxRxQueue;
  854. DWORD dwMaxBaud;
  855. DWORD dwProvSubType;
  856. DWORD dwProvCapabilities;
  857. DWORD dwSettableParams;
  858. DWORD dwSettableBaud;
  859. WORD wSettableData;
  860. WORD wSettableStopParity;
  861. DWORD dwCurrentTxQueue;
  862. DWORD dwCurrentRxQueue;
  863. DWORD dwProvSpec1;
  864. DWORD dwProvSpec2;
  865. WCHAR wcProvChar[1];
  866. } COMMPROP, *LPCOMMPROP;
  867. #define SP_SERIALCOMM ((DWORD)1)
  868. #define BAUD_075 ((DWORD)0x01)
  869. #define BAUD_110 ((DWORD)0x02)
  870. #define BAUD_134_5 ((DWORD)0x04)
  871. #define BAUD_150 ((DWORD)0x08)
  872. #define BAUD_300 ((DWORD)0x10)
  873. #define BAUD_600 ((DWORD)0x20)
  874. #define BAUD_1200 ((DWORD)0x40)
  875. #define BAUD_1800 ((DWORD)0x80)
  876. #define BAUD_2400 ((DWORD)0x100)
  877. #define BAUD_4800 ((DWORD)0x200)
  878. #define BAUD_7200 ((DWORD)0x400)
  879. #define BAUD_9600 ((DWORD)0x800)
  880. #define BAUD_14400 ((DWORD)0x1000)
  881. #define BAUD_19200 ((DWORD)0x2000)
  882. #define BAUD_38400 ((DWORD)0x4000)
  883. #define BAUD_56K ((DWORD)0x8000)
  884. #define BAUD_57600 ((DWORD)0x40000)
  885. #define BAUD_115200 ((DWORD)0x20000)
  886. #define BAUD_128K ((DWORD)0x10000)
  887. #define BAUD_USER ((DWORD)0x10000000)
  888. #define PST_FAX ((DWORD)0x21)
  889. #define PST_LAT ((DWORD)0x101)
  890. #define PST_MODEM ((DWORD)0x06)
  891. #define PST_NETWORK_BRIDGE ((DWORD)0x100)
  892. #define PST_PARALLEL_PORT ((DWORD)0x02)
  893. #define PST_RS232 ((DWORD)0x01)
  894. #define PST_RS442 ((DWORD)0x03)
  895. #define PST_RS423 ((DWORD)0x04)
  896. #define PST_RS449 ((DWORD)0x06)
  897. #define PST_SCANNER ((DWORD)0x22)
  898. #define PST_TCPIP_TELNET ((DWORD)0x102)
  899. #define PST_UNSPECIFIED ((DWORD)0x00)
  900. #define PST_X25 ((DWORD)0x103)
  901. #define PCF_16BITMODE ((DWORD)0x200)
  902. #define PCF_DTRDSR ((DWORD)0x01)
  903. #define PCF_INTTIMEOUTS ((DWORD)0x80)
  904. #define PCF_PARITY_CHECK ((DWORD)0x08)
  905. #define PCF_RLSD ((DWORD)0x04)
  906. #define PCF_RTSCTS ((DWORD)0x02)
  907. #define PCF_SETXCHAR ((DWORD)0x20)
  908. #define PCF_SPECIALCHARS ((DWORD)0x100)
  909. #define PCF_TOTALTIMEOUTS ((DWORD)0x40)
  910. #define PCF_XONXOFF ((DWORD)0x10)
  911. #define SP_BAUD ((DWORD)0x02)
  912. #define SP_DATABITS ((DWORD)0x04)
  913. #define SP_HANDSHAKING ((DWORD)0x10)
  914. #define SP_PARITY ((DWORD)0x01)
  915. #define SP_PARITY_CHECK ((DWORD)0x20)
  916. #define SP_RLSD ((DWORD)0x40)
  917. #define SP_STOPBITS ((DWORD)0x08)
  918. #define DATABITS_5 ((DWORD)0x01)
  919. #define DATABITS_6 ((DWORD)0x02)
  920. #define DATABITS_7 ((DWORD)0x04)
  921. #define DATABITS_8 ((DWORD)0x08)
  922. #define DATABITS_16 ((DWORD)0x10)
  923. #define DATABITS_16X ((DWORD)0x20)
  924. #define STOPBITS_10 ((DWORD)1)
  925. #define STOPBITS_15 ((DWORD)2)
  926. #define STOPBITS_20 ((DWORD)4)
  927. #define PARITY_NONE ((DWORD)0x100)
  928. #define PARITY_ODD ((DWORD)0x200)
  929. #define PARITY_EVEN ((DWORD)0x400)
  930. #define PARITY_MARK ((DWORD)0x800)
  931. #define PARITY_SPACE ((DWORD)0x1000)
  932. typedef struct tagCOMMTIMEOUTS {
  933. DWORD ReadIntervalTimeout;
  934. DWORD ReadTotalTimeoutMultiplier;
  935. DWORD ReadTotalTimeoutConstant;
  936. DWORD WriteTotalTimeoutMultiplier;
  937. DWORD WriteTotalTimeoutConstant;
  938. } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
  939. typedef void (CALLBACK *PAPCFUNC)(ULONG_PTR);
  940. typedef void (CALLBACK *PTIMERAPCROUTINE)(LPVOID,DWORD,DWORD);
  941. typedef enum _COMPUTER_NAME_FORMAT
  942. {
  943. ComputerNameNetBIOS,
  944. ComputerNameDnsHostname,
  945. ComputerNameDnsDomain,
  946. ComputerNameDnsFullyQualified,
  947. ComputerNamePhysicalNetBIOS,
  948. ComputerNamePhysicalDnsHostname,
  949. ComputerNamePhysicalDnsDomain,
  950. ComputerNamePhysicalDnsFullyQualified,
  951. ComputerNameMax
  952. } COMPUTER_NAME_FORMAT;
  953. #define HW_PROFILE_GUIDLEN 39
  954. #define MAX_PROFILE_LEN 80
  955. #define DOCKINFO_UNDOCKED 0x1
  956. #define DOCKINFO_DOCKED 0x2
  957. #define DOCKINFO_USER_SUPPLIED 0x4
  958. #define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED)
  959. #define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED)
  960. typedef struct tagHW_PROFILE_INFOA {
  961. DWORD dwDockInfo;
  962. CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
  963. CHAR szHwProfileName[MAX_PROFILE_LEN];
  964. } HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
  965. typedef struct tagHW_PROFILE_INFOW {
  966. DWORD dwDockInfo;
  967. WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
  968. WCHAR szHwProfileName[MAX_PROFILE_LEN];
  969. } HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
  970. DECL_WINELIB_TYPE_AW(HW_PROFILE_INFO)
  971. DECL_WINELIB_TYPE_AW(LPHW_PROFILE_INFO)
  972. /* Stream data structures and defines */
  973. /*the types of backup data -- WIN32_STREAM_ID.dwStreamId below*/
  974. #define BACKUP_INVALID 0
  975. #define BACKUP_DATA 1
  976. #define BACKUP_EA_DATA 2
  977. #define BACKUP_SECURITY_DATA 3
  978. #define BACKUP_ALTERNATE_DATA 4
  979. #define BACKUP_LINK 5
  980. #define BACKUP_PROPERTY_DATA 6
  981. #define BACKUP_OBJECT_ID 7
  982. #define BACKUP_REPARSE_DATA 8
  983. #define BACKUP_SPARSE_BLOCK 9
  984. /*flags for WIN32_STREAM_ID.dwStreamAttributes below*/
  985. #define STREAM_NORMAL_ATTRIBUTE 0
  986. #define STREAM_MODIFIED_WHEN_READ 1
  987. #define STREAM_CONTAINS_SECURITY 2
  988. #define STREAM_CONTAINS_PROPERTIES 4
  989. #define STREAM_SPARSE_ATTRIBUTE 8
  990. #include <pshpack8.h>
  991. typedef struct _WIN32_STREAM_ID {
  992. DWORD dwStreamId;
  993. DWORD dwStreamAttributes;
  994. LARGE_INTEGER DECLSPEC_ALIGN(8) Size;
  995. DWORD dwStreamNameSize;
  996. WCHAR cStreamName[ANYSIZE_ARRAY];
  997. } WIN32_STREAM_ID, *LPWIN32_STREAM_ID;
  998. #include <poppack.h>
  999. /* GetBinaryType return values.
  1000. */
  1001. #define SCS_32BIT_BINARY 0
  1002. #define SCS_DOS_BINARY 1
  1003. #define SCS_WOW_BINARY 2
  1004. #define SCS_PIF_BINARY 3
  1005. #define SCS_POSIX_BINARY 4
  1006. #define SCS_OS216_BINARY 5
  1007. /* flags for DefineDosDevice */
  1008. #define DDD_RAW_TARGET_PATH 0x00000001
  1009. #define DDD_REMOVE_DEFINITION 0x00000002
  1010. #define DDD_EXACT_MATCH_ON_REMOVE 0x00000004
  1011. #define DDD_NO_BROADCAST_SYSTEM 0x00000008
  1012. #define DDD_LUID_BROADCAST_DRIVE 0x00000010
  1013. BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR *);
  1014. BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
  1015. VOID WINAPI AddRefActCtx(HANDLE);
  1016. PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
  1017. BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL);
  1018. BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
  1019. BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,LPVOID,DWORD,LPVOID,LPDWORD);
  1020. BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID *);
  1021. BOOL WINAPI AllocateLocallyUniqueId(PLUID);
  1022. BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD);
  1023. BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD);
  1024. BOOL WINAPI AreFileApisANSI(void);
  1025. BOOL WINAPI AssignProcessToJobObject(HANDLE,HANDLE);
  1026. BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
  1027. BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
  1028. #define BackupEventLog WINELIB_NAME_AW(BackupEventLog)
  1029. BOOL WINAPI BackupRead(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
  1030. BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,LPDWORD,LPDWORD,LPVOID*);
  1031. BOOL WINAPI BackupWrite(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
  1032. BOOL WINAPI Beep(DWORD,DWORD);
  1033. HANDLE WINAPI BeginUpdateResourceA(LPCSTR,BOOL);
  1034. HANDLE WINAPI BeginUpdateResourceW(LPCWSTR,BOOL);
  1035. #define BeginUpdateResource WINELIB_NAME_AW(BeginUpdateResource)
  1036. BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
  1037. BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
  1038. #define BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
  1039. BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
  1040. BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
  1041. #define BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
  1042. BOOL WINAPI CallNamedPipeA(LPCSTR,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,DWORD);
  1043. BOOL WINAPI CallNamedPipeW(LPCWSTR,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,DWORD);
  1044. #define CallNamedPipe WINELIB_NAME_AW(CallNamedPipe)
  1045. BOOL WINAPI CancelIo(HANDLE);
  1046. BOOL WINAPI CancelWaitableTimer(HANDLE);
  1047. BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
  1048. BOOL WINAPI ClearCommBreak(HANDLE);
  1049. BOOL WINAPI ClearCommError(HANDLE,LPDWORD,LPCOMSTAT);
  1050. BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
  1051. BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
  1052. #define ClearEventLog WINELIB_NAME_AW(ClearEventLog)
  1053. BOOL WINAPI CloseEventLog(HANDLE);
  1054. BOOL WINAPI CloseHandle(HANDLE);
  1055. BOOL WINAPI CommConfigDialogA(LPCSTR,HANDLE,LPCOMMCONFIG);
  1056. BOOL WINAPI CommConfigDialogW(LPCWSTR,HANDLE,LPCOMMCONFIG);
  1057. #define CommConfigDialog WINELIB_NAME_AW(CommConfigDialog)
  1058. BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
  1059. BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
  1060. HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc);
  1061. BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
  1062. BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
  1063. #define CopyFile WINELIB_NAME_AW(CopyFile)
  1064. BOOL WINAPI CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
  1065. BOOL WINAPI CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
  1066. #define CopyFileEx WINELIB_NAME_AW(CopyFileEx)
  1067. BOOL WINAPI CopySid(DWORD,PSID,PSID);
  1068. INT WINAPI CompareFileTime(const FILETIME*,const FILETIME*);
  1069. BOOL WINAPI ConvertFiberToThread(void);
  1070. LPVOID WINAPI ConvertThreadToFiber(LPVOID);
  1071. LPVOID WINAPI ConvertThreadToFiberEx(LPVOID,DWORD);
  1072. HANDLE WINAPI CreateActCtxA(PCACTCTXA);
  1073. HANDLE WINAPI CreateActCtxW(PCACTCTXW);
  1074. #define CreateActCtx WINELIB_NAME_AW(CreateActCtx)
  1075. HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
  1076. HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
  1077. #define CreateEvent WINELIB_NAME_AW(CreateEvent)
  1078. LPVOID WINAPI CreateFiber(SIZE_T,LPFIBER_START_ROUTINE,LPVOID);
  1079. LPVOID WINAPI CreateFiberEx(SIZE_T,SIZE_T,DWORD,LPFIBER_START_ROUTINE,LPVOID);
  1080. HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
  1081. HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
  1082. #define CreateFile WINELIB_NAME_AW(CreateFile)
  1083. HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
  1084. HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
  1085. #define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
  1086. HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,ULONG_PTR,DWORD);
  1087. HANDLE WINAPI CreateJobObjectA(LPSECURITY_ATTRIBUTES,LPCSTR);
  1088. HANDLE WINAPI CreateJobObjectW(LPSECURITY_ATTRIBUTES,LPCWSTR);
  1089. #define CreateJobObject WINELIB_NAME_AW(CreateJobObject)
  1090. HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
  1091. HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
  1092. #define CreateMailslot WINELIB_NAME_AW(CreateMailslot)
  1093. HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
  1094. HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
  1095. #define CreateMutex WINELIB_NAME_AW(CreateMutex)
  1096. HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
  1097. HANDLE WINAPI CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
  1098. #define CreateNamedPipe WINELIB_NAME_AW(CreateNamedPipe)
  1099. BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
  1100. BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,
  1101. PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING);
  1102. BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,
  1103. LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,
  1104. LPSTARTUPINFOA,LPPROCESS_INFORMATION);
  1105. BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,
  1106. LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,
  1107. LPSTARTUPINFOW,LPPROCESS_INFORMATION);
  1108. #define CreateProcess WINELIB_NAME_AW(CreateProcess)
  1109. BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,
  1110. BOOL,DWORD,LPVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
  1111. BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,
  1112. BOOL,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
  1113. #define CreateProcessAsUser WINELIB_NAME_AW(CreateProcessAsUser)
  1114. HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
  1115. HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
  1116. HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
  1117. #define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
  1118. DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
  1119. HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
  1120. HANDLE WINAPI CreateTimerQueue(void);
  1121. BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG);
  1122. HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
  1123. HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
  1124. #define CreateWaitableTimer WINELIB_NAME_AW(CreateWaitableTimer)
  1125. BOOL WINAPI DeactivateActCtx(DWORD,ULONG_PTR);
  1126. BOOL WINAPI DebugActiveProcess(DWORD);
  1127. BOOL WINAPI DebugActiveProcessStop(DWORD);
  1128. void WINAPI DebugBreak(void);
  1129. BOOL WINAPI DebugBreakProcess(HANDLE);
  1130. BOOL WINAPI DebugSetProcessKillOnExit(BOOL);
  1131. BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
  1132. BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
  1133. #define DefineDosDevice WINELIB_NAME_AW(DefineDosDevice)
  1134. BOOL WINAPI DeleteAce(PACL,DWORD);
  1135. void WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCrit);
  1136. void WINAPI DeleteFiber(LPVOID);
  1137. BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
  1138. BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
  1139. BOOL WINAPI DeleteVolumeMountPointA(LPCSTR);
  1140. BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
  1141. #define DeleteVolumeMountPoint WINELIB_NAME_AW(DeleteVolumeMountPoint)
  1142. BOOL WINAPI DeregisterEventSource(HANDLE);
  1143. BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
  1144. BOOL WINAPI DeviceIoControl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
  1145. BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
  1146. BOOL WINAPI DisconnectNamedPipe(HANDLE);
  1147. BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR,LPSTR,LPDWORD);
  1148. BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR,LPWSTR,LPDWORD);
  1149. #define DnsHostnameToComputerName WINELIB_NAME_AW(DnsHostnameToComputerName)
  1150. BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
  1151. BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,HANDLE*,DWORD,BOOL,DWORD);
  1152. BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
  1153. BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,
  1154. TOKEN_TYPE,PHANDLE);
  1155. BOOL WINAPI EscapeCommFunction(HANDLE,UINT);
  1156. BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL);
  1157. BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL);
  1158. #define EndUpdateResource WINELIB_NAME_AW(EndUpdateResource)
  1159. void WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCrit);
  1160. BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROCA,LONG_PTR);
  1161. BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROCW,LONG_PTR);
  1162. #define EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
  1163. BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROCA,LONG_PTR);
  1164. BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW,LONG_PTR);
  1165. #define EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
  1166. BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG_PTR);
  1167. BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG_PTR);
  1168. #define EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
  1169. BOOL WINAPI EqualSid(PSID, PSID);
  1170. BOOL WINAPI EqualPrefixSid(PSID,PSID);
  1171. DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL);
  1172. VOID DECLSPEC_NORETURN WINAPI ExitProcess(DWORD);
  1173. VOID DECLSPEC_NORETURN WINAPI ExitThread(DWORD);
  1174. DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
  1175. DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
  1176. #define ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
  1177. BOOL WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
  1178. BOOL WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
  1179. BOOL WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
  1180. BOOL WINAPI FindActCtxSectionStringA(DWORD,const GUID *,ULONG,LPCSTR,PACTCTX_SECTION_KEYED_DATA);
  1181. BOOL WINAPI FindActCtxSectionStringW(DWORD,const GUID *,ULONG,LPCWSTR,PACTCTX_SECTION_KEYED_DATA);
  1182. #define FindActCtxSectionString WINELIB_NAME_AW(FindActCtxSectionString)
  1183. BOOL WINAPI FindActCtxSectionGuid(DWORD,const GUID *,ULONG,const GUID *,PACTCTX_SECTION_KEYED_DATA);
  1184. HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
  1185. HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
  1186. #define FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
  1187. BOOL WINAPI FindNextChangeNotification(HANDLE);
  1188. BOOL WINAPI FindCloseChangeNotification(HANDLE);
  1189. HRSRC WINAPI FindResourceExA(HMODULE,LPCSTR,LPCSTR,WORD);
  1190. HRSRC WINAPI FindResourceExW(HMODULE,LPCWSTR,LPCWSTR,WORD);
  1191. #define FindResourceEx WINELIB_NAME_AW(FindResourceEx)
  1192. HANDLE WINAPI FindFirstVolumeA(LPSTR,DWORD);
  1193. HANDLE WINAPI FindFirstVolumeW(LPWSTR,DWORD);
  1194. #define FindFirstVolume WINELIB_NAME_AW(FindFirstVolume)
  1195. HANDLE WINAPI FindFirstVolumeMountPointA(LPCSTR,LPSTR,DWORD);
  1196. HANDLE WINAPI FindFirstVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
  1197. #define FindFirstVolumeMountPoint WINELIB_NAME_AW(FindFirstVolumeMountPoint)
  1198. BOOL WINAPI FindNextVolumeA(HANDLE,LPSTR,DWORD);
  1199. BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
  1200. #define FindNextVolume WINELIB_NAME_AW(FindNextVolume)
  1201. BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
  1202. BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
  1203. #define FindNextVolumeMountPoint WINELIB_NAME_AW(FindNextVolumeMountPoint)
  1204. BOOL WINAPI FindVolumeClose(HANDLE);
  1205. BOOL WINAPI FindVolumeMountPointClose(HANDLE);
  1206. BOOL WINAPI FlushFileBuffers(HANDLE);
  1207. BOOL WINAPI FlushViewOfFile(LPCVOID,SIZE_T);
  1208. DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*);
  1209. DWORD WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*);
  1210. #define FormatMessage WINELIB_NAME_AW(FormatMessage)
  1211. BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
  1212. BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
  1213. #define FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
  1214. VOID WINAPI FreeLibraryAndExitThread(HINSTANCE,DWORD);
  1215. PVOID WINAPI FreeSid(PSID);
  1216. BOOL WINAPI GetBinaryTypeA( LPCSTR lpApplicationName, LPDWORD lpBinaryType );
  1217. BOOL WINAPI GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType );
  1218. #define GetBinaryType WINELIB_NAME_AW(GetBinaryType)
  1219. BOOL WINAPI GetCurrentActCtx(HANDLE *);
  1220. BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,LPDWORD);
  1221. BOOL WINAPI GetCommMask(HANDLE,LPDWORD);
  1222. BOOL WINAPI GetCommModemStatus(HANDLE,LPDWORD);
  1223. BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP);
  1224. BOOL WINAPI GetCommState(HANDLE,LPDCB);
  1225. BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
  1226. LPSTR WINAPI GetCommandLineA(void);
  1227. LPWSTR WINAPI GetCommandLineW(void);
  1228. #define GetCommandLine WINELIB_NAME_AW(GetCommandLine)
  1229. DWORD WINAPI GetCompressedFileSizeA(LPCSTR,LPDWORD);
  1230. DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,LPDWORD);
  1231. #define GetCompressedFileSize WINELIB_NAME_AW(GetCompressedFileSize)
  1232. BOOL WINAPI GetComputerNameA(LPSTR,LPDWORD);
  1233. BOOL WINAPI GetComputerNameW(LPWSTR,LPDWORD);
  1234. #define GetComputerName WINELIB_NAME_AW(GetComputerName)
  1235. BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
  1236. BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
  1237. #define GetComputerNameEx WINELIB_NAME_AW(GetComputerNameEx)
  1238. HANDLE WINAPI GetCurrentProcess(void);
  1239. HANDLE WINAPI GetCurrentThread(void);
  1240. BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,LPDWORD);
  1241. BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,LPDWORD);
  1242. #define GetDefaultCommConfig WINELIB_NAME_AW(GetDefaultCommConfig)
  1243. BOOL WINAPI GetDevicePowerState(HANDLE,BOOL*);
  1244. LPSTR WINAPI GetEnvironmentStringsA(void);
  1245. LPWSTR WINAPI GetEnvironmentStringsW(void);
  1246. #define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
  1247. DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
  1248. DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
  1249. #define GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
  1250. BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD);
  1251. BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
  1252. BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
  1253. #define GetFileAttributesEx WINELIB_NAME_AW(GetFileAttributesEx)
  1254. BOOL WINAPI GetFileInformationByHandle(HANDLE,BY_HANDLE_FILE_INFORMATION*);
  1255. BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
  1256. BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
  1257. #define GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
  1258. DWORD WINAPI GetFileSize(HANDLE,LPDWORD);
  1259. BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
  1260. BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
  1261. DWORD WINAPI GetFileType(HANDLE);
  1262. DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
  1263. DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
  1264. #define GetFullPathName WINELIB_NAME_AW(GetFullPathName)
  1265. BOOL WINAPI GetHandleInformation(HANDLE,LPDWORD);
  1266. BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
  1267. DWORD WINAPI GetLengthSid(PSID);
  1268. VOID WINAPI GetLocalTime(LPSYSTEMTIME);
  1269. DWORD WINAPI GetLogicalDrives(void);
  1270. DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
  1271. DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
  1272. #define GetLongPathName WINELIB_NAME_AW(GetLongPathName)
  1273. BOOL WINAPI GetMailslotInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
  1274. BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
  1275. BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
  1276. #define GetNamedPipeHandleState WINELIB_NAME_AW(GetNamedPipeHandleState)
  1277. BOOL WINAPI GetNamedPipeInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
  1278. BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
  1279. BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
  1280. DWORD WINAPI GetPriorityClass(HANDLE);
  1281. BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
  1282. BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD);
  1283. DWORD WINAPI GetProcessId(HANDLE);
  1284. BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
  1285. BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL);
  1286. BOOL WINAPI GetProcessShutdownParameters(LPDWORD,LPDWORD);
  1287. BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
  1288. DWORD WINAPI GetProcessVersion(DWORD);
  1289. BOOL WINAPI GetProcessWorkingSetSize(HANDLE,PSIZE_T,PSIZE_T);
  1290. BOOL WINAPI GetQueuedCompletionStatus(HANDLE,LPDWORD,PULONG_PTR,LPOVERLAPPED*,DWORD);
  1291. BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,LPDWORD);
  1292. BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
  1293. BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
  1294. DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
  1295. BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
  1296. BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
  1297. PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
  1298. DWORD WINAPI GetSidLengthRequired(BYTE);
  1299. PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
  1300. PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
  1301. DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
  1302. DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
  1303. #define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
  1304. HANDLE WINAPI GetStdHandle(DWORD);
  1305. VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
  1306. BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
  1307. VOID WINAPI GetSystemTime(LPSYSTEMTIME);
  1308. BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
  1309. VOID WINAPI GetSystemTimeAsFileTime(LPFILETIME);
  1310. DWORD WINAPI GetTapeParameters(HANDLE,DWORD,LPDWORD,LPVOID);
  1311. DWORD WINAPI GetTapePosition(HANDLE,DWORD,LPDWORD,LPDWORD,LPDWORD);
  1312. DWORD WINAPI GetTapeStatus(HANDLE);
  1313. DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
  1314. BOOL WINAPI GetThreadContext(HANDLE,CONTEXT *);
  1315. INT WINAPI GetThreadPriority(HANDLE);
  1316. BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
  1317. BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
  1318. BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
  1319. BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD,LPDWORD);
  1320. BOOL WINAPI GetUserNameA(LPSTR,LPDWORD);
  1321. BOOL WINAPI GetUserNameW(LPWSTR,LPDWORD);
  1322. #define GetUserName WINELIB_NAME_AW(GetUserName)
  1323. BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
  1324. BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
  1325. #define GetVolumeNameForVolumeMountPoint WINELIB_NAME_AW(GetVolumeNameForVolumeMountPoint)
  1326. BOOL WINAPI GetVolumePathNameA(LPCSTR,LPSTR,DWORD);
  1327. BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
  1328. #define GetVolumePathName WINELIB_NAME_AW(GetVolumePathName)
  1329. BOOL WINAPI GetVolumePathNamesForVolumeNameA(LPCSTR,LPSTR,DWORD,PDWORD);
  1330. BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
  1331. #define GetVolumePathNamesForVolumeName WINELIB_NAME_AW(GetVolumePathNamesForVolumeName)
  1332. VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
  1333. BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
  1334. LPVOID WINAPI HeapAlloc(HANDLE,DWORD,SIZE_T);
  1335. SIZE_T WINAPI HeapCompact(HANDLE,DWORD);
  1336. HANDLE WINAPI HeapCreate(DWORD,SIZE_T,SIZE_T);
  1337. BOOL WINAPI HeapDestroy(HANDLE);
  1338. BOOL WINAPI HeapFree(HANDLE,DWORD,LPVOID);
  1339. BOOL WINAPI HeapLock(HANDLE);
  1340. LPVOID WINAPI HeapReAlloc(HANDLE,DWORD,LPVOID,SIZE_T);
  1341. SIZE_T WINAPI HeapSize(HANDLE,DWORD,LPVOID);
  1342. BOOL WINAPI HeapUnlock(HANDLE);
  1343. BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
  1344. BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
  1345. BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
  1346. void WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
  1347. BOOL WINAPI InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION *,DWORD);
  1348. BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
  1349. BOOL WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
  1350. BOOL WINAPI IsSystemResumeAutomatic(void);
  1351. BOOL WINAPI IsTextUnicode(CONST LPVOID lpBuffer, int cb, LPINT lpi);
  1352. BOOL WINAPI IsTokenRestricted(HANDLE);
  1353. BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
  1354. BOOL WINAPI IsValidSid(PSID);
  1355. BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
  1356. BOOL WINAPI ImpersonateNamedPipeClient(HANDLE);
  1357. BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
  1358. BOOL WINAPI IsProcessorFeaturePresent(DWORD);
  1359. void WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCrit);
  1360. BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
  1361. BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,LPDWORD,LPWSTR,LPDWORD,PSID_NAME_USE);
  1362. #define LookupAccountName WINELIB_NAME_AW(LookupAccountName)
  1363. BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPSTR,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
  1364. BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,LPDWORD,LPWSTR,LPDWORD,PSID_NAME_USE);
  1365. #define LookupAccountSid WINELIB_NAME_AW(LookupAccountSid)
  1366. BOOL WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
  1367. BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
  1368. BOOL WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
  1369. BOOL WINAPI LogonUserA(LPCSTR,LPCSTR,LPCSTR,DWORD,DWORD,PHANDLE);
  1370. BOOL WINAPI LogonUserW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,PHANDLE);
  1371. #define LogonUser WINELIB_NAME_AW(LogonUser)
  1372. BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,LPDWORD,LPDWORD);
  1373. BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,LPDWORD);
  1374. #define LookupPrivilegeDisplayName WINELIB_NAME_AW(LookupPrivilegeDisplayName)
  1375. BOOL WINAPI LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,LPDWORD);
  1376. BOOL WINAPI LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,LPDWORD);
  1377. #define LookupPrivilegeName WINELIB_NAME_AW(LookupPrivilegeName)
  1378. BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID);
  1379. BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID);
  1380. #define LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
  1381. BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD,
  1382. PACL,LPDWORD,PACL,LPDWORD,PSID,LPDWORD,PSID,LPDWORD);
  1383. void WINAPI MakeCriticalSectionGlobal(CRITICAL_SECTION *lpCrit);
  1384. BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
  1385. VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
  1386. HMODULE WINAPI MapHModuleSL(WORD);
  1387. WORD WINAPI MapHModuleLS(HMODULE);
  1388. LPVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,SIZE_T);
  1389. LPVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,SIZE_T,LPVOID);
  1390. BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
  1391. BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
  1392. #define MoveFile WINELIB_NAME_AW(MoveFile)
  1393. BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
  1394. BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
  1395. #define MoveFileEx WINELIB_NAME_AW(MoveFileEx)
  1396. INT WINAPI MulDiv(INT,INT,INT);
  1397. BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
  1398. BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,LPVOID,BOOL);
  1399. BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,LPVOID,BOOL);
  1400. #define ObjectCloseAuditAlarm WINELIB_NAME_AW(ObjectCloseAuditAlarm)
  1401. BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,
  1402. DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,LPBOOL);
  1403. BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,
  1404. DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,LPBOOL);
  1405. #define ObjectOpenAuditAlarm WINELIB_NAME_AW(ObjectOpenAuditAlarm)
  1406. BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR,LPVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
  1407. BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,LPVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
  1408. #define ObjectPrivilegeAuditAlarm WINELIB_NAME_AW(ObjectPrivilegeAuditAlarm)
  1409. HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
  1410. HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
  1411. #define OpenBackupEventLog WINELIB_NAME_AW(OpenBackupEventLog)
  1412. HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
  1413. HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
  1414. #define OpenEvent WINELIB_NAME_AW(OpenEvent)
  1415. HANDLE WINAPI OpenEventLogA(LPCSTR,LPCSTR);
  1416. HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
  1417. #define OpenEventLog WINELIB_NAME_AW(OpenEventLog)
  1418. HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
  1419. HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
  1420. #define OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
  1421. HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
  1422. HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
  1423. #define OpenMutex WINELIB_NAME_AW(OpenMutex)
  1424. HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
  1425. BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
  1426. HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
  1427. HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
  1428. #define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
  1429. HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
  1430. BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
  1431. HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
  1432. HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
  1433. #define OpenWaitableTimer WINELIB_NAME_AW(OpenWaitableTimer)
  1434. BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
  1435. DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
  1436. BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
  1437. BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
  1438. #define PrivilegedServiceAuditAlarm WINELIB_NAME_AW(PrivilegedServiceAuditAlarm)
  1439. BOOL WINAPI PulseEvent(HANDLE);
  1440. BOOL WINAPI PurgeComm(HANDLE,DWORD);
  1441. BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T *);
  1442. DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
  1443. DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
  1444. #define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
  1445. BOOL WINAPI QueryPerformanceCounter(LARGE_INTEGER*);
  1446. BOOL WINAPI QueryPerformanceFrequency(LARGE_INTEGER*);
  1447. DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
  1448. void WINAPI RaiseException(DWORD,DWORD,DWORD,const LPDWORD);
  1449. BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
  1450. BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
  1451. #define ReadEventLog WINELIB_NAME_AW(ReadEventLog)
  1452. BOOL WINAPI ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
  1453. BOOL WINAPI ReadFileEx(HANDLE,LPVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
  1454. HANDLE WINAPI RegisterEventSourceA(LPCSTR,LPCSTR);
  1455. HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
  1456. #define RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
  1457. BOOL WINAPI RegisterWaitForSingleObject(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
  1458. HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
  1459. VOID WINAPI ReleaseActCtx(HANDLE);
  1460. BOOL WINAPI ReleaseMutex(HANDLE);
  1461. BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
  1462. ULONG WINAPI RemoveVectoredExceptionHandler(PVOID);
  1463. BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR *,LPVOID);
  1464. BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR *,LPVOID);
  1465. BOOL WINAPI RequestWakeupLatency(LATENCY_TIME latency);
  1466. #define ReportEvent WINELIB_NAME_AW(ReportEvent)
  1467. BOOL WINAPI ResetEvent(HANDLE);
  1468. DWORD WINAPI ResumeThread(HANDLE);
  1469. BOOL WINAPI RevertToSelf(void);
  1470. DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
  1471. DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
  1472. #define SearchPath WINELIB_NAME_AW(SearchPath)
  1473. BOOL WINAPI SetAclInformation(PACL,LPVOID,DWORD,ACL_INFORMATION_CLASS);
  1474. BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
  1475. BOOL WINAPI SetCommBreak(HANDLE);
  1476. BOOL WINAPI SetCommMask(HANDLE,DWORD);
  1477. BOOL WINAPI SetCommState(HANDLE,LPDCB);
  1478. BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
  1479. BOOL WINAPI SetComputerNameA(LPCSTR);
  1480. BOOL WINAPI SetComputerNameW(LPCWSTR);
  1481. #define SetComputerName WINELIB_NAME_AW(SetComputerName)
  1482. BOOL WINAPI SetComputerNameExA(COMPUTER_NAME_FORMAT,LPCSTR);
  1483. BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
  1484. #define SetComputerNameEx WINELIB_NAME_AW(SetComputerNameEx)
  1485. DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
  1486. BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
  1487. BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
  1488. #define SetDefaultCommConfig WINELIB_NAME_AW(SetDefaultCommConfig)
  1489. BOOL WINAPI SetEndOfFile(HANDLE);
  1490. BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
  1491. BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
  1492. #define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
  1493. BOOL WINAPI SetEvent(HANDLE);
  1494. VOID WINAPI SetFileApisToANSI(void);
  1495. VOID WINAPI SetFileApisToOEM(void);
  1496. DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
  1497. BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
  1498. BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
  1499. BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
  1500. #define SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
  1501. BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
  1502. BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
  1503. BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
  1504. BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
  1505. BOOL WINAPI SetMailslotInfo(HANDLE,DWORD);
  1506. BOOL WINAPI SetNamedPipeHandleState(HANDLE,LPDWORD,LPDWORD,LPDWORD);
  1507. BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
  1508. BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,
  1509. PSECURITY_DESCRIPTOR*,PGENERIC_MAPPING,HANDLE);
  1510. BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD_PTR);
  1511. BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL);
  1512. BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
  1513. BOOL WINAPI SetProcessWorkingSetSize(HANDLE,SIZE_T,SIZE_T);
  1514. BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,
  1515. SECURITY_DESCRIPTOR_CONTROL);
  1516. BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
  1517. BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
  1518. BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
  1519. BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
  1520. BOOL WINAPI SetStdHandle(DWORD,HANDLE);
  1521. BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
  1522. BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
  1523. BOOL WINAPI SetSystemTimeAdjustment(DWORD,BOOL);
  1524. DWORD WINAPI SetTapeParameters(HANDLE,DWORD,LPVOID);
  1525. DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
  1526. DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD);
  1527. BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT *);
  1528. DWORD WINAPI SetThreadExecutionState(EXECUTION_STATE);
  1529. DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD);
  1530. BOOL WINAPI SetThreadPriority(HANDLE,INT);
  1531. BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
  1532. BOOL WINAPI SetThreadToken(PHANDLE,HANDLE);
  1533. BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
  1534. BOOL WINAPI SetVolumeMountPointA(LPCSTR,LPCSTR);
  1535. BOOL WINAPI SetVolumeMountPointW(LPCSTR,LPCSTR);
  1536. #define SetVolumeMountPoint WINELIB_NAME_AW(SetVolumeMountPoint)
  1537. BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,BOOL);
  1538. BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
  1539. DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
  1540. VOID WINAPI Sleep(DWORD);
  1541. DWORD WINAPI SleepEx(DWORD,BOOL);
  1542. DWORD WINAPI SuspendThread(HANDLE);
  1543. void WINAPI SwitchToFiber(LPVOID);
  1544. BOOL WINAPI SwitchToThread(void);
  1545. BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
  1546. BOOL WINAPI SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
  1547. BOOL WINAPI TerminateProcess(HANDLE,DWORD);
  1548. BOOL WINAPI TerminateThread(HANDLE,DWORD);
  1549. DWORD WINAPI TlsAlloc(void);
  1550. BOOL WINAPI TlsFree(DWORD);
  1551. LPVOID WINAPI TlsGetValue(DWORD);
  1552. BOOL WINAPI TlsSetValue(DWORD,LPVOID);
  1553. BOOL WINAPI TransactNamedPipe(HANDLE,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
  1554. BOOL WINAPI TransmitCommChar(HANDLE,CHAR);
  1555. BOOL WINAPI TryEnterCriticalSection(CRITICAL_SECTION *lpCrit);
  1556. BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
  1557. BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
  1558. BOOL WINAPI UnmapViewOfFile(LPVOID);
  1559. BOOL WINAPI UnregisterWait(HANDLE);
  1560. BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
  1561. BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,LPVOID,DWORD);
  1562. BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,LPVOID,DWORD);
  1563. #define UpdateResource WINELIB_NAME_AW(UpdateResource)
  1564. BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG);
  1565. BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG);
  1566. #define VerifyVersionInfo WINELIB_NAME_AW(VerifyVersionInfo)
  1567. LPVOID WINAPI VirtualAlloc(LPVOID,SIZE_T,DWORD,DWORD);
  1568. LPVOID WINAPI VirtualAllocEx(HANDLE,LPVOID,SIZE_T,DWORD,DWORD);
  1569. BOOL WINAPI VirtualFree(LPVOID,SIZE_T,DWORD);
  1570. BOOL WINAPI VirtualFreeEx(HANDLE,LPVOID,SIZE_T,DWORD);
  1571. BOOL WINAPI VirtualLock(LPVOID,SIZE_T);
  1572. BOOL WINAPI VirtualProtect(LPVOID,SIZE_T,DWORD,LPDWORD);
  1573. BOOL WINAPI VirtualProtectEx(HANDLE,LPVOID,SIZE_T,DWORD,LPDWORD);
  1574. SIZE_T WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
  1575. SIZE_T WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
  1576. BOOL WINAPI VirtualUnlock(LPVOID,SIZE_T);
  1577. BOOL WINAPI WaitCommEvent(HANDLE,LPDWORD,LPOVERLAPPED);
  1578. BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
  1579. DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
  1580. DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
  1581. DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
  1582. DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
  1583. BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD);
  1584. BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD);
  1585. #define WaitNamedPipe WINELIB_NAME_AW(WaitNamedPipe)
  1586. BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
  1587. BOOL WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
  1588. DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
  1589. BOOL WINAPI ZombifyActCtx(HANDLE);
  1590. ATOM WINAPI AddAtomA(LPCSTR);
  1591. ATOM WINAPI AddAtomW(LPCWSTR);
  1592. #define AddAtom WINELIB_NAME_AW(AddAtom)
  1593. BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
  1594. BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
  1595. #define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
  1596. BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
  1597. BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
  1598. #define CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
  1599. BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
  1600. #define DefineHandleTable(w) ((w),TRUE)
  1601. ATOM WINAPI DeleteAtom(ATOM);
  1602. BOOL WINAPI DeleteFileA(LPCSTR);
  1603. BOOL WINAPI DeleteFileW(LPCWSTR);
  1604. #define DeleteFile WINELIB_NAME_AW(DeleteFile)
  1605. void WINAPI FatalAppExitA(UINT,LPCSTR);
  1606. void WINAPI FatalAppExitW(UINT,LPCWSTR);
  1607. void WINAPI FatalExit(int);
  1608. #define FatalAppExit WINELIB_NAME_AW(FatalAppExit)
  1609. ATOM WINAPI FindAtomA(LPCSTR);
  1610. ATOM WINAPI FindAtomW(LPCWSTR);
  1611. #define FindAtom WINELIB_NAME_AW(FindAtom)
  1612. BOOL WINAPI FindClose(HANDLE);
  1613. HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
  1614. HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
  1615. #define FindFirstFile WINELIB_NAME_AW(FindFirstFile)
  1616. HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
  1617. HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
  1618. #define FindFirstFileEx WINELIB_NAME_AW(FindFirstFileEx)
  1619. BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
  1620. BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
  1621. #define FindNextFile WINELIB_NAME_AW(FindNextFile)
  1622. HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
  1623. HRSRC WINAPI FindResourceW(HMODULE,LPCWSTR,LPCWSTR);
  1624. #define FindResource WINELIB_NAME_AW(FindResource)
  1625. BOOL WINAPI FlushInstructionCache(HANDLE,LPCVOID,SIZE_T);
  1626. BOOL WINAPI FreeLibrary(HMODULE);
  1627. #define FreeModule(handle) FreeLibrary(handle)
  1628. #define FreeProcInstance(proc) /*nothing*/
  1629. BOOL WINAPI FreeResource(HGLOBAL);
  1630. UINT WINAPI GetAtomNameA(ATOM,LPSTR,INT);
  1631. UINT WINAPI GetAtomNameW(ATOM,LPWSTR,INT);
  1632. #define GetAtomName WINELIB_NAME_AW(GetAtomName)
  1633. UINT WINAPI GetCurrentDirectoryA(UINT,LPSTR);
  1634. UINT WINAPI GetCurrentDirectoryW(UINT,LPWSTR);
  1635. #define GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
  1636. BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
  1637. BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
  1638. #define GetCurrentHwProfile WINELIB_NAME_AW(GetCurrentHwProfile)
  1639. #define GetCurrentTime() GetTickCount()
  1640. BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
  1641. BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
  1642. #define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
  1643. BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
  1644. BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
  1645. #define GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
  1646. UINT WINAPI GetDriveTypeA(LPCSTR);
  1647. UINT WINAPI GetDriveTypeW(LPCWSTR);
  1648. #define GetDriveType WINELIB_NAME_AW(GetDriveType)
  1649. BOOL WINAPI GetExitCodeProcess(HANDLE,LPDWORD);
  1650. DWORD WINAPI GetFileAttributesA(LPCSTR);
  1651. DWORD WINAPI GetFileAttributesW(LPCWSTR);
  1652. #define GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
  1653. #define GetFreeSpace(w) (0x100000L)
  1654. UINT WINAPI GetLogicalDriveStringsA(UINT,LPSTR);
  1655. UINT WINAPI GetLogicalDriveStringsW(UINT,LPWSTR);
  1656. #define GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
  1657. DWORD WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD);
  1658. DWORD WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD);
  1659. #define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
  1660. HMODULE WINAPI GetModuleHandleA(LPCSTR);
  1661. HMODULE WINAPI GetModuleHandleW(LPCWSTR);
  1662. #define GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
  1663. BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
  1664. UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
  1665. UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
  1666. #define GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
  1667. INT WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
  1668. INT WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
  1669. #define GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
  1670. DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
  1671. DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
  1672. #define GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
  1673. INT WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
  1674. INT WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
  1675. #define GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
  1676. BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
  1677. BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
  1678. #define GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
  1679. FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR);
  1680. DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
  1681. UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
  1682. UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
  1683. #define GetProfileInt WINELIB_NAME_AW(GetProfileInt)
  1684. INT WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
  1685. INT WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
  1686. #define GetProfileSection WINELIB_NAME_AW(GetProfileSection)
  1687. INT WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT);
  1688. INT WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT);
  1689. #define GetProfileString WINELIB_NAME_AW(GetProfileString)
  1690. VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
  1691. VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
  1692. #define GetStartupInfo WINELIB_NAME_AW(GetStartupInfo)
  1693. UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
  1694. UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
  1695. #define GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
  1696. UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
  1697. UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
  1698. #define GetSystemWindowsDirectory WINELIB_NAME_AW(GetSystemWindowsDirectory)
  1699. DWORD WINAPI GetTickCount(void);
  1700. UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
  1701. UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
  1702. #define GetTempFileName WINELIB_NAME_AW(GetTempFileName)
  1703. DWORD WINAPI GetTempPathA(DWORD,LPSTR);
  1704. DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
  1705. #define GetTempPath WINELIB_NAME_AW(GetTempPath)
  1706. DWORD WINAPI GetVersion(void);
  1707. BOOL WINAPI GetVersionExA(OSVERSIONINFOA*);
  1708. BOOL WINAPI GetVersionExW(OSVERSIONINFOW*);
  1709. #define GetVersionEx WINELIB_NAME_AW(GetVersionEx)
  1710. BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
  1711. BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
  1712. #define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
  1713. UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
  1714. UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
  1715. #define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
  1716. ATOM WINAPI GlobalAddAtomA(LPCSTR);
  1717. ATOM WINAPI GlobalAddAtomW(LPCWSTR);
  1718. #define GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
  1719. HGLOBAL WINAPI GlobalAlloc(UINT,SIZE_T);
  1720. SIZE_T WINAPI GlobalCompact(DWORD);
  1721. ATOM WINAPI GlobalDeleteAtom(ATOM);
  1722. ATOM WINAPI GlobalFindAtomA(LPCSTR);
  1723. ATOM WINAPI GlobalFindAtomW(LPCWSTR);
  1724. #define GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
  1725. UINT WINAPI GlobalFlags(HGLOBAL);
  1726. HGLOBAL WINAPI GlobalFree(HGLOBAL);
  1727. UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,INT);
  1728. UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,INT);
  1729. #define GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
  1730. HGLOBAL WINAPI GlobalHandle(LPCVOID);
  1731. VOID WINAPI GlobalFix(HGLOBAL);
  1732. LPVOID WINAPI GlobalLock(HGLOBAL);
  1733. HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,SIZE_T,UINT);
  1734. SIZE_T WINAPI GlobalSize(HGLOBAL);
  1735. VOID WINAPI GlobalUnfix(HGLOBAL);
  1736. BOOL WINAPI GlobalUnlock(HGLOBAL);
  1737. BOOL WINAPI GlobalUnWire(HGLOBAL);
  1738. LPVOID WINAPI GlobalWire(HGLOBAL);
  1739. #define HasOverlappedCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
  1740. BOOL WINAPI InitAtomTable(DWORD);
  1741. BOOL WINAPI IsBadCodePtr(FARPROC);
  1742. BOOL WINAPI IsBadHugeReadPtr(LPCVOID,UINT);
  1743. BOOL WINAPI IsBadHugeWritePtr(LPVOID,UINT);
  1744. BOOL WINAPI IsBadReadPtr(LPCVOID,UINT);
  1745. BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
  1746. BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
  1747. #define IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
  1748. BOOL WINAPI IsBadWritePtr(LPVOID,UINT);
  1749. BOOL WINAPI IsDebuggerPresent(void);
  1750. HMODULE WINAPI LoadLibraryA(LPCSTR);
  1751. HMODULE WINAPI LoadLibraryW(LPCWSTR);
  1752. #define LoadLibrary WINELIB_NAME_AW(LoadLibrary)
  1753. HMODULE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
  1754. HMODULE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
  1755. #define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
  1756. HINSTANCE WINAPI LoadModule(LPCSTR,LPVOID);
  1757. HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
  1758. HLOCAL WINAPI LocalAlloc(UINT,SIZE_T);
  1759. SIZE_T WINAPI LocalCompact(UINT);
  1760. UINT WINAPI LocalFlags(HLOCAL);
  1761. HLOCAL WINAPI LocalFree(HLOCAL);
  1762. HLOCAL WINAPI LocalHandle(LPCVOID);
  1763. LPVOID WINAPI LocalLock(HLOCAL);
  1764. HLOCAL WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT);
  1765. SIZE_T WINAPI LocalShrink(HGLOBAL,UINT);
  1766. SIZE_T WINAPI LocalSize(HLOCAL);
  1767. BOOL WINAPI LocalUnlock(HLOCAL);
  1768. LPVOID WINAPI LockResource(HGLOBAL);
  1769. #define LockSegment(handle) GlobalFix((HANDLE)(handle))
  1770. #define MakeProcInstance(proc,inst) (proc)
  1771. HFILE WINAPI OpenFile(LPCSTR,OFSTRUCT*,UINT);
  1772. VOID WINAPI OutputDebugStringA(LPCSTR);
  1773. VOID WINAPI OutputDebugStringW(LPCWSTR);
  1774. #define OutputDebugString WINELIB_NAME_AW(OutputDebugString)
  1775. BOOL WINAPI ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,SIZE_T*);
  1776. BOOL WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
  1777. BOOL WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
  1778. #define ReplaceFile WINELIB_NAME_AW(ReplaceFile)
  1779. BOOL WINAPI RemoveDirectoryA(LPCSTR);
  1780. BOOL WINAPI RemoveDirectoryW(LPCWSTR);
  1781. #define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
  1782. BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
  1783. BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
  1784. #define SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
  1785. UINT WINAPI SetErrorMode(UINT);
  1786. BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
  1787. BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
  1788. #define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
  1789. UINT WINAPI SetHandleCount(UINT);
  1790. #define SetSwapAreaSize(w) (w)
  1791. BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
  1792. BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
  1793. #define SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
  1794. DWORD WINAPI SizeofResource(HMODULE,HRSRC);
  1795. #define UnlockSegment(handle) GlobalUnfix((HANDLE)(handle))
  1796. UINT WINAPI WinExec(LPCSTR,UINT);
  1797. BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
  1798. BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
  1799. #define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
  1800. BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
  1801. BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
  1802. #define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
  1803. BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
  1804. BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
  1805. #define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
  1806. BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
  1807. BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
  1808. #define WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
  1809. BOOL WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
  1810. BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
  1811. BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
  1812. #define WriteProfileString WINELIB_NAME_AW(WriteProfileString)
  1813. #define Yield()
  1814. LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
  1815. LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
  1816. #define lstrcat WINELIB_NAME_AW(lstrcat)
  1817. LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
  1818. LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
  1819. #define lstrcpy WINELIB_NAME_AW(lstrcpy)
  1820. LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,INT);
  1821. LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,INT);
  1822. #define lstrcpyn WINELIB_NAME_AW(lstrcpyn)
  1823. INT WINAPI lstrlenA(LPCSTR);
  1824. INT WINAPI lstrlenW(LPCWSTR);
  1825. #define lstrlen WINELIB_NAME_AW(lstrlen)
  1826. LONG WINAPI _hread(HFILE,LPVOID,LONG);
  1827. LONG WINAPI _hwrite(HFILE,LPCSTR,LONG);
  1828. HFILE WINAPI _lcreat(LPCSTR,INT);
  1829. HFILE WINAPI _lclose(HFILE);
  1830. LONG WINAPI _llseek(HFILE,LONG,INT);
  1831. HFILE WINAPI _lopen(LPCSTR,INT);
  1832. UINT WINAPI _lread(HFILE,LPVOID,UINT);
  1833. UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
  1834. INT WINAPI lstrcmpA(LPCSTR,LPCSTR);
  1835. INT WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
  1836. #define lstrcmp WINELIB_NAME_AW(lstrcmp)
  1837. INT WINAPI lstrcmpiA(LPCSTR,LPCSTR);
  1838. INT WINAPI lstrcmpiW(LPCWSTR,LPCWSTR);
  1839. #define lstrcmpi WINELIB_NAME_AW(lstrcmpi)
  1840. /* compatibility macros */
  1841. #define FillMemory RtlFillMemory
  1842. #define MoveMemory RtlMoveMemory
  1843. #define ZeroMemory RtlZeroMemory
  1844. #define CopyMemory RtlCopyMemory
  1845. /* undocumented functions */
  1846. typedef struct tagSYSLEVEL
  1847. {
  1848. CRITICAL_SECTION crst;
  1849. INT level;
  1850. } SYSLEVEL;
  1851. /* [GS]etProcessDword offsets */
  1852. #define GPD_APP_COMPAT_FLAGS (-56)
  1853. #define GPD_LOAD_DONE_EVENT (-52)
  1854. #define GPD_HINSTANCE16 (-48)
  1855. #define GPD_WINDOWS_VERSION (-44)
  1856. #define GPD_THDB (-40)
  1857. #define GPD_PDB (-36)
  1858. #define GPD_STARTF_SHELLDATA (-32)
  1859. #define GPD_STARTF_HOTKEY (-28)
  1860. #define GPD_STARTF_SHOWWINDOW (-24)
  1861. #define GPD_STARTF_SIZE (-20)
  1862. #define GPD_STARTF_POSITION (-16)
  1863. #define GPD_STARTF_FLAGS (-12)
  1864. #define GPD_PARENT (- 8)
  1865. #define GPD_FLAGS (- 4)
  1866. #define GPD_USERDATA ( 0)
  1867. void WINAPI DisposeLZ32Handle(HANDLE);
  1868. HANDLE WINAPI DosFileHandleToWin32Handle(HFILE);
  1869. DWORD WINAPI GetProcessDword(DWORD,INT);
  1870. VOID WINAPI GetpWin16Lock(SYSLEVEL**);
  1871. DWORD WINAPI MapLS(LPCVOID);
  1872. LPVOID WINAPI MapSL(DWORD);
  1873. VOID WINAPI ReleaseThunkLock(DWORD*);
  1874. VOID WINAPI RestoreThunkLock(DWORD);
  1875. void WINAPI SetProcessDword(DWORD,INT,DWORD);
  1876. VOID WINAPI UnMapLS(DWORD);
  1877. HFILE WINAPI Win32HandleToDosFileHandle(HANDLE);
  1878. VOID WINAPI _CheckNotSysLevel(SYSLEVEL *lock);
  1879. DWORD WINAPI _ConfirmWin16Lock(void);
  1880. DWORD WINAPI _ConfirmSysLevel(SYSLEVEL*);
  1881. VOID WINAPI _EnterSysLevel(SYSLEVEL*);
  1882. VOID WINAPI _LeaveSysLevel(SYSLEVEL*);
  1883. /* Wine internal functions */
  1884. extern char *wine_get_unix_file_name( LPCWSTR dos );
  1885. /* a few optimizations for i386/gcc */
  1886. #if defined(__i386__) && defined(__GNUC__) && defined(__WINESRC__) && !defined(_NTSYSTEM_)
  1887. extern inline LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare );
  1888. extern inline LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare )
  1889. {
  1890. LONG ret;
  1891. __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"
  1892. : "=a" (ret) : "r" (dest), "r" (xchg), "0" (compare) : "memory" );
  1893. return ret;
  1894. }
  1895. extern inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val );
  1896. extern inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val )
  1897. {
  1898. LONG ret;
  1899. __asm__ __volatile__( "lock; xchgl %0,(%1)"
  1900. : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
  1901. return ret;
  1902. }
  1903. extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr );
  1904. extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr )
  1905. {
  1906. LONG ret;
  1907. __asm__ __volatile__( "lock; xaddl %0,(%1)"
  1908. : "=r" (ret) : "r" (dest), "0" (incr) : "memory" );
  1909. return ret;
  1910. }
  1911. extern inline LONG WINAPI InterlockedIncrement( PLONG dest );
  1912. extern inline LONG WINAPI InterlockedIncrement( PLONG dest )
  1913. {
  1914. return InterlockedExchangeAdd( dest, 1 ) + 1;
  1915. }
  1916. extern inline LONG WINAPI InterlockedDecrement( PLONG dest );
  1917. extern inline LONG WINAPI InterlockedDecrement( PLONG dest )
  1918. {
  1919. return InterlockedExchangeAdd( dest, -1 ) - 1;
  1920. }
  1921. extern inline DWORD WINAPI GetLastError(void);
  1922. extern inline DWORD WINAPI GetLastError(void)
  1923. {
  1924. DWORD ret;
  1925. __asm__ __volatile__( ".byte 0x64\n\tmovl 0x34,%0" : "=r" (ret) );
  1926. return ret;
  1927. }
  1928. extern inline DWORD WINAPI GetCurrentProcessId(void);
  1929. extern inline DWORD WINAPI GetCurrentProcessId(void)
  1930. {
  1931. DWORD ret;
  1932. __asm__ __volatile__( ".byte 0x64\n\tmovl 0x20,%0" : "=r" (ret) );
  1933. return ret;
  1934. }
  1935. extern inline DWORD WINAPI GetCurrentThreadId(void);
  1936. extern inline DWORD WINAPI GetCurrentThreadId(void)
  1937. {
  1938. DWORD ret;
  1939. __asm__ __volatile__( ".byte 0x64\n\tmovl 0x24,%0" : "=r" (ret) );
  1940. return ret;
  1941. }
  1942. extern inline void WINAPI SetLastError( DWORD err );
  1943. extern inline void WINAPI SetLastError( DWORD err )
  1944. {
  1945. __asm__ __volatile__( ".byte 0x64\n\tmovl %0,0x34" : : "r" (err) : "memory" );
  1946. }
  1947. extern inline HANDLE WINAPI GetProcessHeap(void);
  1948. extern inline HANDLE WINAPI GetProcessHeap(void)
  1949. {
  1950. HANDLE *pdb;
  1951. __asm__ __volatile__( ".byte 0x64\n\tmovl 0x30,%0" : "=r" (pdb) );
  1952. return pdb[0x18 / sizeof(HANDLE)]; /* get dword at offset 0x18 in pdb */
  1953. }
  1954. #else /* __i386__ && __GNUC__ && __WINESRC__ && !_NTSYSTEM_ */
  1955. DWORD WINAPI GetCurrentProcessId(void);
  1956. DWORD WINAPI GetCurrentThreadId(void);
  1957. DWORD WINAPI GetLastError(void);
  1958. HANDLE WINAPI GetProcessHeap(void);
  1959. LONG WINAPI InterlockedCompareExchange(LONG*,LONG,LONG);
  1960. LONG WINAPI InterlockedDecrement(PLONG);
  1961. LONG WINAPI InterlockedExchange(PLONG,LONG);
  1962. LONG WINAPI InterlockedExchangeAdd(PLONG,LONG);
  1963. LONG WINAPI InterlockedIncrement(PLONG);
  1964. VOID WINAPI SetLastError(DWORD);
  1965. #endif /* __i386__ && __GNUC__ && __WINESRC__ && !_NTSYSTEM_ */
  1966. /* FIXME: should handle platforms where sizeof(void*) != sizeof(long) */
  1967. static inline PVOID WINAPI InterlockedCompareExchangePointer( PVOID *dest, PVOID xchg, PVOID compare )
  1968. {
  1969. return (PVOID)InterlockedCompareExchange( (PLONG)dest, (LONG)xchg, (LONG)compare );
  1970. }
  1971. static inline PVOID WINAPI InterlockedExchangePointer( PVOID *dest, PVOID val )
  1972. {
  1973. return (PVOID)InterlockedExchange( (PLONG)dest, (LONG)val );
  1974. }
  1975. #ifdef __WINESRC__
  1976. #define GetCurrentProcess() ((HANDLE)0xffffffff)
  1977. #define GetCurrentThread() ((HANDLE)0xfffffffe)
  1978. #endif
  1979. /* WinMain(entry point) must be declared in winbase.h. */
  1980. /* If this is not declared, we cannot compile many sources written with C++. */
  1981. int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
  1982. #ifdef __cplusplus
  1983. }
  1984. #endif
  1985. #endif /* __WINE_WINBASE_H */