base.pp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522
  1. {
  2. $Id$
  3. This file is part of the Free Pascal run time library.
  4. This unit contains base definition for the Win32 API
  5. Copyright (c) 1993,97 by Florian Klaempfl,
  6. member of the Free Pascal development team.
  7. See the file COPYING.FPC, included in this distribution,
  8. for details about the copyright.
  9. This program 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.
  12. **********************************************************************}
  13. {
  14. This file is generated using h2pas written by Florian Klaempfl,
  15. but some modifications are done.
  16. The C header file was base.h of the
  17. GNU Windows32 API Library Version 0.1.2
  18. ****************************************************************************
  19. FK Florian Klaempfl
  20. + added
  21. - removed
  22. * modified
  23. History (for more informations look to the rtl log file):
  24. 18th november 1997 version:
  25. + started (FK)
  26. ToDo:
  27. o unicode strings
  28. Not recommended to use:
  29. #define HIBYTE(w) ((BYTE) (((WORD) (w) >> 8) & 0xFF))
  30. #define HIWORD(l) ((WORD) (((DWORD) (l) >> 16) & 0xFFFF))
  31. #define LOBYTE(w) ((BYTE) (w))
  32. #define LOWORD(l) ((WORD) (l))
  33. Unimplemented:
  34. #define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) \
  35. (void)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(id), \
  36. (LPARAM)(NMHDR FAR*)(pnmhdr))
  37. #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
  38. (fn)((hwnd), (int)(wParam), (NMHDR FAR*)(lParam))
  39. #define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
  40. #define PRIMARYLANGID(lgid) ((WORD )(lgid) & 0x3ff)
  41. #define SUBLANGID(lgid) ((WORD )(lgid) >> 10)
  42. #define LANGIDFROMLCID(lcid) ((WORD) (lcid))
  43. #define SORTIDFROMLCID(lcid) \
  44. ((WORD )((((DWORD)(lcid)) & 0x000FFFFF) >> 16))
  45. #define MAKELCID(lgid, srtid) \
  46. ((DWORD)((((DWORD)((WORD)(srtid))) << 16) | \
  47. ((DWORD)((WORD)(lgid)))))
  48. #define MAKELPARAM(l, h) ((LPARAM) MAKELONG(l, h))
  49. #define MAKELRESULT(l, h) ((LRESULT) MAKELONG(l, h))
  50. #define MAKEPOINTS(l) (*((POINTS FAR *) & (l)))
  51. #define MAKEROP4(fore,back) \
  52. (DWORD)((((back) << 8) & 0xFF000000) | (fore))
  53. #define MAKEWPARAM(l, h) ((WPARAM) MAKELONG(l, h))
  54. #ifndef max
  55. #define max(a, b) (((a) > (b)) ? (a) : (b))
  56. #endif
  57. #ifndef min
  58. #define min(a, b) (((a) < (b)) ? (a) : (b))
  59. #endif
  60. #define PALETTEINDEX(i) \
  61. ((COLORREF) (0x01000000 | (DWORD) (WORD) (i)))
  62. #define PALETTERGB(r, g, b) (0x02000000 | RGB(r, g, b))
  63. #define POINTSTOPOINT(pt, pts)
  64. (pt).x = (SHORT) LOWORD(pts);
  65. (pt).y = (SHORT) HIWORD(pts);
  66. #define POINTTOPOINTS(pt)
  67. (MAKELONG((short) ((pt).x), (short) ((pt).y)))
  68. #define SECURITY_NULL_SID_AUTHORITY 0,0,0,0,0,0
  69. #define SECURITY_WORLD_SID_AUTHORITY 0,0,0,0,0,1
  70. #define SECURITY_LOCAL_SID_AUTHORITY 0,0,0,0,0,2
  71. #define SECURITY_CREATOR_SID_AUTHORITY 0,0,0,0,0,3
  72. #define SECURITY_NON_UNIQUE_AUTHORITY 0,0,0,0,0,4
  73. #define SECURITY_NT_AUTHORITY 0,0,0,0,0,5
  74. ****************************************************************************}
  75. unit base;
  76. interface
  77. type
  78. ATOM = word;
  79. { Changed from BOOL to WINBOOL to avoid Objective-C conflict}
  80. WINBOOL = longint;
  81. BOOL = longint;
  82. CALTYPE = cardinal;
  83. CALID = cardinal;
  84. CCHAR = char;
  85. WCHAR = word;
  86. COLORREF = cardinal;
  87. DWORD = cardinal;
  88. THandle = cardinal;
  89. DWORDLONG = double;
  90. PDWORDLONG = ^DWORDLONG;
  91. FLOAT = single;
  92. HANDLE = THandle;
  93. HACCEL = HANDLE;
  94. HBITMAP = HANDLE;
  95. HBRUSH = HANDLE;
  96. HCOLORSPACE = HANDLE;
  97. HCONV = HANDLE;
  98. HCONVLIST = HANDLE;
  99. HCURSOR = HANDLE;
  100. HDC = HANDLE;
  101. HDDEDATA = HANDLE;
  102. HDESK = HANDLE;
  103. HDWP = HANDLE;
  104. HENHMETAFILE = HANDLE;
  105. HFILE = longint;
  106. HFONT = HANDLE;
  107. HGDIOBJ = HANDLE;
  108. HGLOBAL = HANDLE;
  109. HGLRC = HANDLE;
  110. HHOOK = HANDLE;
  111. HICON = HANDLE;
  112. HIMAGELIST = HANDLE;
  113. HINSTANCE = HANDLE;
  114. HKEY = HANDLE;
  115. PHKEY = ^HANDLE;
  116. HKL = HANDLE;
  117. HLOCAL = HANDLE;
  118. HMENU = HANDLE;
  119. HMETAFILE = HANDLE;
  120. HMODULE = HANDLE;
  121. HPALETTE = HANDLE;
  122. HPEN = HANDLE;
  123. HRASCONN = HANDLE;
  124. HRESULT = longint;
  125. HRGN = HANDLE;
  126. HRSRC = HANDLE;
  127. HSZ = HANDLE;
  128. HWINSTA = HANDLE;
  129. HWND = HANDLE;
  130. INT = longint;
  131. LANGID = word;
  132. LCID = DWORD;
  133. LCTYPE = DWORD;
  134. LONG = longint;
  135. LONGLONG = double;
  136. PLONGLONG = ^double;
  137. LP = ^word;
  138. LPARAM = longint;
  139. LPBOOL = ^WINBOOL;
  140. LPBYTE = ^BYTE;
  141. LPCCH = ^CHAR;
  142. LPCH = ^CHAR;
  143. LPCOLORREF = ^COLORREF;
  144. LPCSTR = pchar;
  145. {$ifdef UNICODE}
  146. LPCTSTR = ^word;
  147. {$else UNICODE}
  148. LPCTSTR = ^char;
  149. {$endif UNICODE}
  150. LPCWCH = ^word;
  151. LPCWSTR = ^word;
  152. LPDWORD = ^DWORD;
  153. LPHANDLE = ^HANDLE;
  154. LPINT = ^longint;
  155. LPLONG = ^longint;
  156. LPSTR = ^char;
  157. {$ifdef UNICODE}
  158. LPTCH = ^word;
  159. LPTSTR = ^word;
  160. {$else UNICODE}
  161. LPTCH = ^char;
  162. LPTSTR = ^char;
  163. {$endif UNICODE}
  164. LRESULT = longint;
  165. LPVOID = pointer;
  166. LPCVOID = pointer;
  167. LPWCH = ^word;
  168. LPWORD = ^word;
  169. LPWSTR = ^word;
  170. NWPSTR = ^word;
  171. PWINBOOL = ^WINBOOL;
  172. PBOOLEAN = ^BYTE;
  173. PBYTE = ^BYTE;
  174. PCCH = ^CHAR;
  175. PCH = ^CHAR;
  176. PCHAR = ^CHAR;
  177. PCSTR = ^char;
  178. PCWCH = ^word;
  179. PCWSTR = ^word;
  180. PDWORD = ^DWORD;
  181. PFLOAT = ^float;
  182. PHANDLE = ^HANDLE;
  183. PINT = ^longint;
  184. PLONG = ^longint;
  185. PSHORT = ^integer;
  186. PSTR = ^char;
  187. PSZ = ^char;
  188. {$ifdef UNICODE}
  189. PTBYTE = ^word;
  190. PTCH = ^word;
  191. PTCHAR = ^word;
  192. PTSTR = ^word;
  193. {$else UNICODE}
  194. PTBYTE = ^char;
  195. PTCH = ^char;
  196. PTCHAR = ^char;
  197. PTSTR = ^char;
  198. {$endif UNICODE}
  199. PUCHAR = ^char;
  200. PUINT = ^cardinal;
  201. PULONG = ^cardinal;
  202. PUSHORT = ^word;
  203. PVOID = pointer;
  204. PWCH = ^word;
  205. PWCHAR = ^word;
  206. PWORD = ^word;
  207. SC_HANDLE = HANDLE;
  208. SC_LOCK = LPVOID;
  209. LPSC_HANDLE = ^SC_HANDLE;
  210. SERVICE_STATUS_HANDLE = DWORD;
  211. SHORT = integer;
  212. {$ifdef UNICODE}
  213. TBYTE = word;
  214. TCHAR = word;
  215. BCHAR = word;
  216. {$else UNICODE}
  217. TBYTE = char;
  218. TCHAR = char;
  219. BCHAR = BYTE;
  220. {$endif UNICODE}
  221. UCHAR = char;
  222. UINT = cardinal;
  223. ULONG = cardinal;
  224. USHORT = word;
  225. WPARAM = longint;
  226. ACL_INFORMATION_CLASS = (
  227. AclRevisionInformation:=1,
  228. AclSizeInformation);
  229. MEDIA_TYPE = (
  230. Unknown,
  231. F5_1Pt2_512,
  232. F3_1Pt44_512,
  233. F3_2Pt88_512,
  234. F3_20Pt8_512,
  235. F3_720_512,
  236. F5_360_512,
  237. F5_320_512,
  238. F5_320_1024,
  239. F5_180_512,
  240. F5_160_512,
  241. RemovableMedia,
  242. FixedMedia);
  243. const
  244. RASCS_DONE = $2000;
  245. RASCS_PAUSED = $1000;
  246. type
  247. RASCONNSTATE = (
  248. RASCS_OpenPort,
  249. RASCS_PortOpened,
  250. RASCS_ConnectDevice,
  251. RASCS_DeviceConnected,
  252. RASCS_AllDevicesConnected,
  253. RASCS_Authenticate,
  254. RASCS_AuthNotify,
  255. RASCS_AuthRetry,
  256. RASCS_AuthCallback,
  257. RASCS_AuthChangePassword,
  258. RASCS_AuthProject,
  259. RASCS_AuthLinkSpeed,
  260. RASCS_AuthAck,
  261. RASCS_ReAuthenticate,
  262. RASCS_Authenticated,
  263. RASCS_PrepareForCallback,
  264. RASCS_WaitForModemReset,
  265. RASCS_WaitForCallback,
  266. RASCS_Projected,
  267. RASCS_StartAuthentication,
  268. RASCS_CallbackComplete,
  269. RASCS_LogonNetwork,
  270. RASCS_Interactive:=RASCS_PAUSED,
  271. RASCS_RetryAuthentication,
  272. RASCS_CallbackSetByCaller,
  273. RASCS_PasswordExpired,
  274. RASCS_Connected:=RASCS_DONE,
  275. RASCS_Disconnected);
  276. RASPROJECTION = (
  277. RASP_Amb:=$10000,
  278. RASP_PppNbf:=$803F,
  279. RASP_PppIpx:=$802B,
  280. RASP_PppIp:=$8021);
  281. SECURITY_IMPERSONATION_LEVEL = (
  282. SecurityAnonymous,
  283. SecurityIdentification,
  284. SecurityImpersonation,
  285. SecurityDelegation);
  286. SID_NAME_USE = (
  287. SidTypeUser:=1,
  288. SidTypeGroup,
  289. SidTypeDomain,
  290. SidTypeAlias,
  291. SidTypeWellKnownGroup,
  292. SidTypeDeletedAccount,
  293. SidTypeInvalid,
  294. SidTypeUnknown);
  295. PSID_NAME_USE = ^SID_NAME_USE;
  296. TOKEN_INFORMATION_CLASS = (
  297. TokenUser:=1,
  298. TokenGroups,
  299. TokenPrivileges,
  300. TokenOwner,
  301. TokenPrimaryGroup,
  302. TokenDefaultDacl,
  303. TokenSource,
  304. TokenType,
  305. TokenImpersonationLevel,
  306. TokenStatistics);
  307. TOKEN_TYPE = (
  308. TokenPrimary:=1,
  309. TokenImpersonation);
  310. { Callbacks }
  311. BFFCALLBACK = function(_para1:HWND; _para2:UINT; _para3:LPARAM; _para:LPARAM):longint;
  312. LPCCHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  313. LPCFHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  314. PTHREAD_START_ROUTINE = function(_para1:LPVOID):DWORD;
  315. LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
  316. EDITSTREAMCALLBACK = function(_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;
  317. LPFRHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  318. LPOFNHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  319. LPPRINTHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  320. LPSETUPHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  321. DLGPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):WINBOOL;
  322. PFNPROPSHEETCALLBACK = function(_para1:HWND; _para2:UINT; _para3:LPARAM):longint;
  323. LPSERVICE_MAIN_FUNCTION = procedure(_para1:DWORD; _para2:LPTSTR);
  324. PFNTVCOMPARE = function(_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
  325. WNDPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
  326. FARPROC = function:longint;
  327. PROC = FARPROC;
  328. ENUMRESTYPEPROC = function(_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;
  329. ENUMRESNAMEPROC = function(_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;
  330. ENUMRESLANGPROC = function(_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;
  331. DESKTOPENUMPROC = FARPROC;
  332. ENUMWINDOWSPROC = function(_para1:HWND; _para2:LPARAM):WINBOOL;
  333. ENUMWINDOWSTATIONPROC = function(_para1:LPTSTR; _para2:LPARAM):WINBOOL;
  334. SENDASYNCPROC = procedure(_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);
  335. TIMERPROC = procedure(_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);
  336. GRAYSTRINGPROC = FARPROC;
  337. DRAWSTATEPROC = function(_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;
  338. PROPENUMPROCEX = function(_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;
  339. PROPENUMPROC = function(_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;
  340. HOOKPROC = function(_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;
  341. ENUMOBJECTSPROC = procedure(_para1:LPVOID; _para2:LPARAM);
  342. LINEDDAPROC = procedure(_para1:longint; _para2:longint; _para3:LPARAM);
  343. ABORTPROC = function(_para1:HDC; _para2:longint):WINBOOL;
  344. LPPAGEPAINTHOOK = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  345. LPPAGESETUPHOOK = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  346. ICMENUMPROC = function(_para1:LPTSTR; _para2:LPARAM):longint;
  347. EDITWORDBREAKPROCEX = function(_para1:pchar; _para2:LONG; _para3:BYTE; _para4:INT):LONG;
  348. PFNLVCOMPARE = function(_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
  349. LOCALE_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  350. CODEPAGE_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  351. DATEFMT_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  352. TIMEFMT_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  353. CALINFO_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  354. PHANDLER_ROUTINE = function(_para1:DWORD):WINBOOL;
  355. LPHANDLER_FUNCTION = function(_para1:DWORD):WINBOOL;
  356. PFNGETPROFILEPATH = function(_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;
  357. PFNRECONCILEPROFILE = function(_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;
  358. PFNPROCESSPOLICIES = function(_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;
  359. const
  360. {$ifdef UNICODE}
  361. { !!!!! how do unicode support? }
  362. SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEW;
  363. SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEW;
  364. SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERW;
  365. {$else UNICODE}
  366. SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
  367. SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
  368. SE_LOCK_MEMORY_NAME = 'SeLockMemoryPrivilege';
  369. SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege';
  370. SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege';
  371. SE_MACHINE_ACCOUNT_NAME = 'SeMachineAccountPrivilege';
  372. SE_TCB_NAME = 'SeTcbPrivilege';
  373. SE_SECURITY_NAME = 'SeSecurityPrivilege';
  374. SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege';
  375. SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege';
  376. SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege';
  377. SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege';
  378. SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
  379. SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
  380. SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
  381. SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
  382. SE_BACKUP_NAME = 'SeBackupPrivilege';
  383. SE_RESTORE_NAME = 'SeRestorePrivilege';
  384. SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
  385. SE_DEBUG_NAME = 'SeDebugPrivilege';
  386. SE_AUDIT_NAME = 'SeAuditPrivilege';
  387. SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege';
  388. SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege';
  389. SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
  390. SERVICES_ACTIVE_DATABASEW = 'ServicesActive';
  391. SERVICES_FAILED_DATABASEW = 'ServicesFailed';
  392. SERVICES_ACTIVE_DATABASEA = 'ServicesActive';
  393. SERVICES_FAILED_DATABASEA = 'ServicesFailed';
  394. SC_GROUP_IDENTIFIERW = '+';
  395. SC_GROUP_IDENTIFIERA = '+';
  396. SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
  397. SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
  398. SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
  399. {$endif UNICODE}
  400. function GetRValue(rgb : longint) : byte;
  401. function GetGValue(rgb : longint) : byte;
  402. function GetBValue(rgb : longint) : byte;
  403. function RGB(r,g,b : byte) : longint;
  404. function MAKELONG(a,b : word) : LONG;
  405. function MAKEWORD(a,b : BYTE) : WORD;
  406. function INDEXTOOVERLAYMASK(i : longint) : longint;
  407. function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
  408. function MAKEINTATOM(i : word) : LPTSTR;
  409. function MAKEINTRESOURCE(i : word) : LPTSTR;
  410. implementation
  411. function GetBValue(rgb : longint) : byte;
  412. begin
  413. GetBValue:=(rgb shr 16) and $ff;
  414. end;
  415. function GetGValue(rgb : longint) : byte;
  416. begin
  417. GetGValue:=(rgb shr 8) and $ff;
  418. end;
  419. function GetRValue(rgb : longint) : byte;
  420. begin
  421. GetRValue:=rgb and $ff;
  422. end;
  423. function RGB(r,g,b : byte) : longint;
  424. begin
  425. RGB:=r or (g shl 8) or (b shl 16);
  426. end;
  427. function MAKELONG(a,b : WORD) : LONG;
  428. begin
  429. MAKELONG:=(a shl 16) or b;
  430. end;
  431. function MAKEWORD(a,b : BYTE) : WORD;
  432. begin
  433. MAKEWORD:=(a shl 8) or b;
  434. end;
  435. function INDEXTOOVERLAYMASK(i : longint) : longint;
  436. begin
  437. INDEXTOOVERLAYMASK:=i shl 8;
  438. end;
  439. function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
  440. begin
  441. INDEXTOSTATEIMAGEMASK:=i shl 12;
  442. end;
  443. function MAKEINTATOM(i : word) : LPTSTR;
  444. begin
  445. MAKEINTATOM:=LPTSTR(DWORD(i));
  446. end;
  447. function MAKEINTRESOURCE(i : word) : LPTSTR;
  448. begin
  449. MAKEINTRESOURCE:=LPTSTR(DWORD(i));
  450. end;
  451. end.
  452. {
  453. $Log$
  454. Revision 1.4 1998-06-10 10:39:11 peter
  455. * working w32 rtl
  456. }