home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c495 / watcm954.arj / WIN3XHDR.WPK / _WIN386.H next >
Encoding:
C/C++ Source or Header  |  1993-02-16  |  40.6 KB  |  1,075 lines

  1. /*
  2.  *  Copyright by WATCOM International Corp. 1988-1993.  All rights reserved.
  3.  
  4.    Special include for 32-bit Windows 3.x
  5.  
  6.  */
  7. #ifndef ___WIN386_INCLUDED__
  8. #define ___WIN386_INCLUDED__
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12.  
  13. #ifndef RC_INVOKED
  14. #include <stddef.h>
  15. #endif
  16.  
  17. #ifdef __WINDOWS_386__
  18. #ifndef NOAUTOPROCS
  19. typedef void __far *REALFARPROC;
  20. #endif
  21. #define int short
  22. #define __huge
  23. #define __far
  24. #define __export
  25.  
  26. #define NOMINMAX
  27. #include <win16.h>
  28. #ifndef NOCOVERSENDS
  29. #define SendMessage _Cover_SendMessage
  30. #define SendDlgItemMessage _Cover_SendDlgItemMessage
  31. #endif
  32. #ifndef NOCOVERRC
  33. #define RegisterClass _Cover_RegisterClass
  34. #endif
  35. #ifndef NOAUTOPROCS
  36. #define CreateDialog             _Cover_CreateDialog
  37. #define CreateDialogIndirect         _Cover_CreateDialogIndirect
  38. #define CreateDialogParam         _Cover_CreateDialogParam
  39. #define CreateDialogIndirectParam     _Cover_CreateDialogIndirectParam
  40. #define DialogBox             _Cover_DialogBox
  41. #define DialogBoxIndirect         _Cover_DialogBoxIndirect
  42. #define DialogBoxParam             _Cover_DialogBoxParam
  43. #define DialogBoxIndirectParam         _Cover_DialogBoxIndirectParam
  44. #define EnumChildWindows         _Cover_EnumChildWindows
  45. #define EnumFonts             _Cover_EnumFonts
  46. #define EnumMetaFile             _Cover_EnumMetaFile
  47. #define EnumObjects             _Cover_EnumObjects
  48. #define EnumProps             _Cover_EnumProps
  49. #define EnumTaskWindows         _Cover_EnumTaskWindows
  50. #define EnumWindows             _Cover_EnumWindows
  51. #define Escape                 _Cover_Escape
  52. #define FreeProcInstance         _Cover_FreeProcInstance
  53. #define GlobalNotify             _Cover_GlobalNotify
  54. #define GrayString             _Cover_GrayString
  55. #define LineDDA             _Cover_LineDDA
  56. #define MakeProcInstance         _Cover_MakeProcInstance
  57. #define SetResourceHandler         _Cover_SetResourceHandler
  58. #define SetTimer             _Cover_SetTimer
  59. #define SetWindowsHook             _Cover_SetWindowsHook
  60. #define SetWindowLong             _Cover_SetWindowLong
  61. #define SetClassLong             _Cover_SetClassLong
  62. #define UnhookWindowsHook         _Cover_UnhookWindowsHook
  63. #endif
  64. #else
  65. #include <win16.h>
  66. #endif
  67. #define API WINAPI
  68.  
  69. #ifndef NOKERNEL
  70. FARPROC API _16MakeProcInstance(FARPROC, HANDLE);
  71. #if !defined(NOAUTOPROCS) && defined(__WINDOWS_386__)
  72. FARPROC API _Cover_MakeProcInstance(REALFARPROC, HANDLE);
  73. #endif
  74. void    API _16FreeProcInstance(FARPROC);
  75. void    API _Cover_FreeProcInstance(FARPROC);
  76. void    API _16GetCodeInfo(FARPROC lpProc, LPVOID lpSegInfo);
  77. HANDLE  API _16GetModuleHandle(LPSTR);
  78. int     API _16GetModuleFileName(HANDLE, LPSTR, int);
  79. int     API _16GetInstanceData(HANDLE, NPSTR, int);
  80. FARPROC API _16GetProcAddress(HANDLE, LPSTR);
  81. HANDLE  API _16LoadLibrary(LPSTR);
  82. HANDLE  API _16LoadModule(LPSTR, LPVOID);
  83. WORD    API _16WinExec(LPSTR, WORD);
  84. void    API _16OutputDebugString(LPSTR);
  85. #ifndef NOOPENFILE
  86. int  API _16OpenFile(LPSTR, LPOFSTRUCT, WORD);
  87. int  API _16GetTempFileName(BYTE, LPSTR, WORD, LPSTR);
  88. #endif /* NOOPENFILE */
  89. HANDLE API _16FindResource(HANDLE, LPSTR, LPSTR);
  90. FARPROC API _16SetResourceHandler(HANDLE, LPSTR, FARPROC);
  91. FARPROC API _Cover_SetResourceHandler(HANDLE, LPSTR, FARPROC);
  92. #ifndef NOATOM
  93. ATOM   API _16AddAtom(LPSTR);
  94. ATOM   API _16FindAtom(LPSTR);
  95. WORD   API _16GetAtomName(ATOM, LPSTR, int);
  96. ATOM   API _16GlobalAddAtom(LPSTR);
  97. ATOM   API _16GlobalFindAtom(LPSTR);
  98. WORD   API _16GlobalGetAtomName(ATOM, LPSTR, int);
  99. #endif /* NOATOM */
  100. WORD API _16GetProfileInt(LPSTR, LPSTR, int);
  101. int  API _16GetProfileString(LPSTR, LPSTR, LPSTR, LPSTR, int);
  102. BOOL API _16WriteProfileString(LPSTR, LPSTR, LPSTR);
  103. WORD API _16GetPrivateProfileInt(LPSTR, LPSTR, int, LPSTR);
  104. int  API _16GetPrivateProfileString(LPSTR, LPSTR, LPSTR, LPSTR, int, LPSTR);
  105. BOOL API _16WritePrivateProfileString(LPSTR, LPSTR, LPSTR, LPSTR);
  106. WORD API _16GetWindowsDirectory(LPSTR,WORD);
  107. WORD API _16GetSystemDirectory(LPSTR,WORD);
  108. int   API _16AnsiToOem(LPSTR, LPSTR);
  109. BOOL  API _16OemToAnsi(LPSTR, LPSTR);
  110. void  API _16AnsiToOemBuff(LPSTR, LPSTR, int);
  111. void  API _16OemToAnsiBuff(LPSTR, LPSTR, int);
  112. LPSTR API _16AnsiUpper(LPSTR);
  113. WORD  API _16AnsiUpperBuff(LPSTR, WORD);
  114. LPSTR API _16AnsiLower(LPSTR);
  115. WORD  API _16AnsiLowerBuff(LPSTR, WORD);
  116. LPSTR API _16AnsiNext(LPSTR);
  117. LPSTR API _16AnsiPrev(LPSTR, LPSTR);
  118. #ifndef NOKEYBOARDINFO
  119. int   API _16GetKeyNameText(LONG, LPSTR, int);
  120. int   API _16ToAscii(WORD wVirtKey, WORD wScanCode, LPSTR lpKeyState, LPVOID lpChar, WORD wFlags);
  121. #endif /* NOKEYBOARDINFO */
  122. #ifndef NOMEMMGR
  123. VOID API _16GlobalNotify(FARPROC);
  124. VOID API _Cover_GlobalNotify(FARPROC);
  125. #endif /* NOMEMMGR */
  126.  
  127. #endif /* NOKERNEL */
  128.  
  129. #ifndef NOGDI
  130. #ifndef NODRAWTEXT
  131. int  API _16DrawText(HDC, LPSTR, int, LPRECT, WORD);
  132. #endif /* NODRAWTEXT */
  133. HDC   API _16CreateDC(LPSTR, LPSTR, LPSTR, LPSTR);
  134. HDC   API _16CreateIC(LPSTR, LPSTR, LPSTR, LPSTR);
  135. BOOL API _16ExtTextOut(HDC, int, int, WORD, LPRECT, LPSTR, WORD, LPINT);
  136. BOOL API _16Polyline(HDC, LPPOINT, int);
  137. BOOL API _16Polygon(HDC, LPPOINT, int);
  138. BOOL API _16PolyPolygon(HDC, LPPOINT, LPINT, int);
  139. BOOL  API _16TextOut(HDC, int, int, LPSTR, int);
  140. LONG  API _16TabbedTextOut(HDC, int, int, LPSTR, int, int, LPINT, int);
  141. BOOL  API _16GetCharWidth(HDC, WORD, WORD, LPINT);
  142. void  API _16LineDDA(int, int, int, int, FARPROC, LPARAM);
  143. void  API _Cover_LineDDA(int, int, int, int, FARPROC, LPARAM);
  144. HPEN API _16CreatePenIndirect( LPLOGPEN );
  145. HBRUSH API _16CreateBrushIndirect( LPLOGBRUSH );
  146. HBITMAP API _16CreateBitmap(int, int, BYTE, BYTE, LPSTR);
  147. HBITMAP API _16CreateBitmapIndirect( LPBITMAP );
  148. LONG  API _16SetBitmapBits(HBITMAP, DWORD, LPSTR);
  149. LONG  API _16GetBitmapBits(HBITMAP, LONG, LPSTR);
  150. HFONT API _16CreateFont(int, int, int, int, int, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, LPSTR);
  151. HFONT API _16CreateFontIndirect( LPLOGFONT );
  152. HRGN API _16CreateRectRgnIndirect(LPRECT);
  153. HRGN API _16CreateEllipticRgnIndirect(LPRECT);
  154. HRGN API _16CreatePolygonRgn(LPPOINT, int, int);
  155. HRGN API _16CreatePolyPolygonRgn(LPPOINT, LPINT, int, int);
  156. int    API _16GetObject(HANDLE, int, LPSTR);
  157. int  API _16GetClipBox(HDC, LPRECT);
  158. int  API _16GetRgnBox(HRGN, LPRECT);
  159. DWORD API _16GetTextExtent(HDC, LPSTR, int);
  160. DWORD API _16GetTabbedTextExtent(HDC, LPSTR, int, int, LPINT);
  161. HANDLE API _16GetMetaFile(LPSTR);
  162. HANDLE API _16CopyMetaFile(HANDLE, LPSTR);
  163. #ifndef NOMETAFILE
  164. void API _16PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, WORD);
  165. BOOL API _16EnumMetaFile(HDC, LOCALHANDLE, FARPROC, LPSTR );
  166. BOOL API _Cover_EnumMetaFile(HDC, LOCALHANDLE, FARPROC, LPSTR );
  167. #endif
  168. int API _16Escape(HDC, int, int, LPSTR, LPSTR);
  169. int API _Cover_Escape(HDC, int, int, LPSTR, LPSTR);
  170. int API _16EnumFonts(HDC, LPSTR, FARPROC, LPSTR);
  171. int API _Cover_EnumFonts(HDC, LPSTR, FARPROC, LPSTR);
  172. int API _16EnumObjects(HDC, int, FARPROC, LPSTR);
  173. int API _Cover_EnumObjects(HDC, int, FARPROC, LPSTR);
  174. int API _16GetTextFace(HDC, int, LPSTR);
  175. #ifndef NOTEXTMETRIC
  176. BOOL API _16GetTextMetrics(HDC, LPTEXTMETRIC );
  177. #endif /* NOTEXTMETRIC */
  178. int API _16SetEnvironment(LPSTR, LPSTR, WORD);
  179. int API _16GetEnvironment(LPSTR, LPSTR, WORD);
  180. BOOL API _16DPtoLP(HDC, LPPOINT, int);
  181. BOOL API _16LPtoDP(HDC, LPPOINT, int);
  182. HANDLE API _16CreateMetaFile(LPSTR);
  183. int API _16SetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
  184. int API _16GetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
  185. int API _16SetDIBitsToDevice(HDC,WORD,WORD,WORD,WORD,
  186.                     WORD,WORD,WORD,WORD,
  187.                     LPSTR,LPBITMAPINFO,WORD);
  188. int API _16StretchDIBits(HDC, WORD, WORD, WORD, WORD, WORD, WORD, WORD, WORD, LPSTR, LPBITMAPINFO, WORD, DWORD);
  189. HPALETTE API _16CreatePalette (LPLOGPALETTE);
  190. void API _16AnimatePalette(HPALETTE, WORD, WORD, LPPALETTEENTRY);
  191. WORD API _16SetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
  192. WORD API _16GetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
  193. WORD API _16GetSystemPaletteEntries(HDC,WORD,WORD,LPPALETTEENTRY);
  194. #endif /* NOGDI */
  195.  
  196. #ifndef NOUSER
  197. /*
  198.  * replace windows fns with c library ones
  199.  */
  200. #ifdef __WINDOWS_386__
  201. #undef wsprintf
  202. #undef wvsprintf
  203. #define wsprintf sprintf
  204. #define wvsprintf vsprintf
  205. #ifndef NOLSTRING
  206. #undef lstrcmp
  207. #undef lstrcmpi
  208. #undef lstrcpy
  209. #undef lstrcat
  210. #undef lstrlen
  211. #define lstrcmp strcmp
  212. #define lstrcmpi strcmpi
  213. #define lstrcpy strcpy
  214. #define lstrcat strcat
  215. #define lstrlen strlen
  216. #endif /* NOLSTRING */
  217. #endif
  218. #ifndef NOWINMESSAGES
  219. WORD API _16RegisterWindowMessage(LPSTR);
  220. #endif /* NOWINMESSAGES */
  221. #ifndef NOMSG
  222. BOOL API _16TranslateMessage(LPMSG);
  223. LONG API _16DispatchMessage(LPMSG);
  224. #endif /* NOMSG */
  225. LONG  API _Cover_SendMessage(HWND, WORD, WORD, LONG);
  226. BOOL  API _Cover_RegisterClass(LPWNDCLASS);
  227. BOOL  API _16UnregisterClass(LPSTR, HANDLE);
  228. BOOL  API _16GetClassInfo(HANDLE, LPSTR, LPWNDCLASS);
  229. HWND  API _16CreateWindow(LPSTR, LPSTR, DWORD, int, int, int, int, HWND, HMENU, HANDLE, LPSTR);
  230. HWND  API _16CreateWindowEx(DWORD, LPSTR, LPSTR, DWORD, int, int, int, int, HWND, HMENU, HANDLE, LPSTR);
  231. #ifndef NOCTLMGR
  232. HWND API _Cover_CreateDialog(HANDLE, LPSTR, HWND, FARPROC);
  233. HWND API _Cover_CreateDialogIndirect(HANDLE, LPSTR, HWND, FARPROC);
  234. HWND API _Cover_CreateDialogParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
  235. HWND API _Cover_CreateDialogIndirectParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
  236. HWND API _16CreateDialog(HANDLE, LPSTR, HWND, FARPROC);
  237. HWND API _16CreateDialogIndirect(HANDLE, LPSTR, HWND, FARPROC);
  238. HWND API _16CreateDialogParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
  239. HWND API _16CreateDialogIndirectParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
  240. int  API _Cover_DialogBox(HANDLE, LPSTR, HWND, FARPROC);
  241. int  API _Cover_DialogBoxParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
  242. int  API _Cover_DialogBoxIndirect(HANDLE, HANDLE, HWND, FARPROC);
  243. int  API _Cover_DialogBoxIndirectParam(HANDLE, HANDLE, HWND, FARPROC, LONG);
  244. int  API _16DialogBox(HANDLE, LPSTR, HWND, FARPROC);
  245. int  API _16DialogBoxParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
  246. int  API _16DialogBoxIndirect(HANDLE, HANDLE, HWND, FARPROC);
  247. int  API _16DialogBoxIndirectParam(HANDLE, HANDLE, HWND, FARPROC, LONG);
  248. LONG API _Cover_SendDlgItemMessage(HWND, int, WORD, WORD, LONG);
  249. WORD API _16GetDlgItemInt(HWND, int, BOOL *, BOOL);
  250. void API _16SetDlgItemText(HWND, int, LPSTR);
  251. int  API _16GetDlgItemText(HWND, int, LPSTR, int);
  252. #endif /* NOCTLMSG */
  253. #ifndef NOMSG
  254. BOOL API _16CallMsgFilter(LPMSG, int);
  255. #endif /* NOMSG */
  256. #ifndef NOCLIPBOARD
  257. WORD   API _16RegisterClipboardFormat(LPSTR);
  258. int    API _16GetClipboardFormatName(WORD, LPSTR, int);
  259. int    API _16GetPriorityClipboardFormat(WORD  *, int);
  260. #endif /* NOCLIPBOARD */
  261. void API _16GetKeyboardState(BYTE *);
  262. void API _16SetKeyboardState(BYTE *);
  263. WORD API _16SetTimer(HWND, int, WORD, FARPROC);
  264. WORD API _Cover_SetTimer(HWND, int, WORD, FARPROC);
  265. HANDLE API _16LoadAccelerators(HANDLE, LPSTR);
  266. #ifndef NOMSG
  267. int  API _16TranslateAccelerator(HWND, HANDLE, LPMSG);
  268. #endif /* NOMSG */
  269. #ifndef NOMENUS
  270. HMENU API _16LoadMenu(HANDLE, LPSTR);
  271. HMENU API _16LoadMenuIndirect(LPSTR);
  272. BOOL  API _16ChangeMenu(HMENU, WORD, LPSTR, WORD, WORD);
  273. int   API _16GetMenuString(HMENU, WORD, LPSTR, int, WORD);
  274. BOOL  API _16TrackPopupMenu(HMENU, WORD, int, int, int, HWND, LPRECT);
  275. #endif /* NOMENUS */
  276. BOOL API _16GrayString(HDC, HBRUSH, FARPROC, DWORD, int, int, int, int, int);
  277. BOOL API _Cover_GrayString(HDC, HBRUSH, FARPROC, DWORD, int, int, int, int, int);
  278. void API _16EndPaint(HWND, LPPAINTSTRUCT);
  279. BOOL API _16GetUpdateRect(HWND, LPRECT, BOOL);
  280. void API _16InvalidateRect(HWND, LPRECT, BOOL);
  281. void API _16ValidateRect(HWND, LPRECT);
  282. void API _16ScrollWindow(HWND, int, int, LPRECT, LPRECT);
  283. BOOL API _16ScrollDC(HDC, int, int, LPRECT, LPRECT, HRGN, LPRECT);
  284. #ifndef NOSCROLL
  285. void API _16GetScrollRange(HWND, int, LPINT, LPINT);
  286. #endif /* NOSCROLL */
  287. BOOL   API _16SetProp(HWND, LPSTR, HANDLE);
  288. HANDLE API _16GetProp(HWND, LPSTR);
  289. HANDLE API _16RemoveProp(HWND, LPSTR);
  290. void   API _16SetWindowText(HWND, LPSTR);
  291. int    API _16GetWindowText(HWND, LPSTR, int);
  292. int    API _16EnumProps(HWND, FARPROC);
  293. int    API _Cover_EnumProps(HWND, FARPROC);
  294. void API _16GetClientRect(HWND, LPRECT);
  295. void API _16GetWindowRect(HWND, LPRECT);
  296. void API _16AdjustWindowRect(LPRECT, LONG, BOOL);
  297. void API _16AdjustWindowRectEx(LPRECT, LONG, BOOL, DWORD);
  298. #ifndef NOMB
  299. int  API _16MessageBox(HWND, LPSTR, LPSTR, WORD);
  300. #endif /* NOMB */
  301. void    API _16GetCursorPos(LPPOINT);
  302. void    API _16ClipCursor(LPRECT);
  303. void API _16GetCaretPos(LPPOINT);
  304. void API _16ClientToScreen(HWND, LPPOINT);
  305. void API _16ScreenToClient(HWND, LPPOINT);
  306. #ifndef NOCOLOR
  307. void  API _16SetSysColors(int, LPINT, LONG *);
  308. #endif /* NOCOLOR */
  309. void API _16DrawFocusRect(HDC, LPRECT);
  310. int  API _16FillRect(HDC, LPRECT, HBRUSH);
  311. int  API _16FrameRect(HDC, LPRECT, HBRUSH);
  312. void API _16InvertRect(HDC, LPRECT);
  313. void API _16SetRect(LPRECT, int, int, int, int);
  314. void API _16SetRectEmpty(LPRECT);
  315. int  API _16CopyRect(LPRECT, LPRECT);
  316. void API _16InflateRect(LPRECT, int, int);
  317. int  API _16IntersectRect(LPRECT, LPRECT, LPRECT);
  318. int  API _16UnionRect(LPRECT, LPRECT, LPRECT);
  319. void API _16OffsetRect(LPRECT, int, int);
  320. BOOL API _16IsRectEmpty(LPRECT);
  321. BOOL API _16EqualRect(LPRECT, LPRECT);
  322. BOOL API _16PtInRect(LPRECT, POINT);
  323. BOOL API _16RectVisible(HDC, LPRECT);
  324. BOOL API _16RectInRegion(HRGN, LPRECT);
  325. #ifndef NOWINOFFSETS
  326. LONG API _16SetWindowLong(HWND, int, LONG);
  327. LONG API _16SetClassLong(HWND, int, LONG);
  328. LONG API _Cover_SetWindowLong(HWND, int, LONG);
  329. LONG API _Cover_SetClassLong(HWND, int, LONG);
  330. #endif /* NOWINOFFSETS */
  331. HWND   API _16FindWindow(LPSTR, LPSTR);
  332. BOOL   API _16EnumWindows(FARPROC, LONG);
  333. BOOL   API _Cover_EnumWindows(FARPROC, LONG);
  334. BOOL   API _16EnumTaskWindows(HANDLE, FARPROC, LONG);
  335. BOOL   API _Cover_EnumTaskWindows(HANDLE, FARPROC, LONG);
  336. BOOL   API _16EnumChildWindows(HWND, FARPROC, LONG);
  337. BOOL   API _Cover_EnumChildWindows(HWND, FARPROC, LONG);
  338. int    API _16GetClassName(HWND, LPSTR, int);
  339. #ifndef NOWH
  340. FARPROC API _16SetWindowsHook(int, FARPROC);
  341. FARPROC API _Cover_SetWindowsHook(int, FARPROC);
  342. BOOL    API _16UnhookWindowsHook(int, FARPROC);
  343. BOOL    API _Cover_UnhookWindowsHook(int, FARPROC);
  344. #endif
  345. HBITMAP API _16LoadBitmap(HANDLE, LPSTR);
  346. HCURSOR API _16LoadCursor(HANDLE, LPSTR);
  347. HCURSOR API _16CreateCursor(HANDLE, int, int, int, int, LPSTR, LPSTR);
  348. HICON API _16LoadIcon(HANDLE, LPSTR);
  349. HICON API _16CreateIcon(HANDLE, int, int, BYTE, BYTE, LPSTR, LPSTR);
  350. int  API _16LoadString(HANDLE, WORD, LPSTR, int);
  351. int  API _16AddFontResource(LPSTR);
  352. BOOL API _16RemoveFontResource(LPSTR);
  353.  
  354. #ifndef NOCTLMGR
  355. #ifndef NOMSG
  356. BOOL API _16IsDialogMessage(HWND, LPMSG);
  357. #endif /* NOMSG */
  358. void API _16MapDialogRect(HWND, LPRECT);
  359. int  API _16DlgDirList(HWND, LPSTR, int, int, WORD);
  360. BOOL API _16DlgDirSelect(HWND, LPSTR, int);
  361. int  API _16DlgDirListComboBox(HWND, LPSTR, int, int, WORD);
  362. BOOL API _16DlgDirSelectComboBox(HWND, LPSTR, int);
  363. #endif /* NOCTLMGR */
  364. #ifdef USECOMM
  365. int  API _16OpenComm(LPSTR, WORD, WORD);
  366. int  API _16SetCommState(DCB *);
  367. int  API _16GetCommState(int, DCB *);
  368. int  API _16ReadComm(int, LPSTR, int);
  369. int  API _16WriteComm(int, LPSTR, int);
  370. int  API _16GetCommError(int, COMSTAT *);
  371. int  API _16BuildCommDCB(LPSTR, DCB *);
  372. #endif /* USECOMM */
  373. #ifndef NOMDI
  374. #ifndef NOMSG
  375. BOOL API _16TranslateMDISysAccel(HWND,LPMSG);
  376. #endif /* NOMSG */
  377. #endif /* NOMDI */
  378.  
  379. #ifndef NOLFILEIO
  380. WORD API _16_lread( int, LPSTR, int );
  381. WORD API _16_lwrite( int, LPSTR, int );
  382. #endif
  383. #endif /* NOUSER */
  384. #ifndef NOHELP
  385. BOOL API _16WinHelp(HWND hwndMain, LPSTR lpszHelp, WORD usCommand, DWORD ulData);
  386. #endif /* NOHELP */
  387.  
  388. #ifdef INCLUDE_DRIVINIT_H
  389. #include <drivinit.h>
  390. #endif
  391. #ifdef INCLUDE_PRINT_H
  392. #include <print.h>
  393. #endif
  394. #ifdef INCLUDE_DDE_H
  395. #define unsigned unsigned short
  396. #include <dde.h>
  397. #undef unsigned
  398. #endif
  399. #ifdef INCLUDE_CUSTCNTL_H
  400. #include <custcntl.h>
  401. #endif
  402. #ifdef INCLUDE_COMMDLG_H
  403. #include <commdlg.h>
  404. BOOL WINAPI _16ChooseColor(LPCHOOSECOLOR);
  405. BOOL WINAPI _16ChooseFont(LPCHOOSEFONT);
  406. HWND WINAPI _16FindText(LPFINDREPLACE);
  407. int WINAPI _16GetFileTitle(LPCSTR, LPSTR, UINT);
  408. BOOL WINAPI _16GetOpenFileName(LPOPENFILENAME);
  409. BOOL WINAPI _16GetSaveFileName(LPOPENFILENAME);
  410. BOOL WINAPI _16PrintDlg(LPPRINTDLG);
  411. HWND WINAPI _16ReplaceText(LPFINDREPLACE);
  412. #if !defined(NOAUTOPROCS) && defined(__WINDOWS_386__)
  413. #define ChooseColor _CoverChooseColor
  414. #define ChooseFont _CoverChooseFont
  415. #define FindText _CoverFindText
  416. #define GetOpenFileName _CoverGetOpenFileName
  417. #define GetSaveFileName _CoverGetSaveFileName
  418. #define PrintDlg _CoverPrintDlg
  419. #define ReplaceText _CoverReplaceText
  420. BOOL WINAPI _CoverChooseColor(LPCHOOSECOLOR);
  421. BOOL WINAPI _CoverChooseFont(LPCHOOSEFONT);
  422. HWND WINAPI _CoverFindText(LPFINDREPLACE);
  423. BOOL WINAPI _CoverGetOpenFileName(LPOPENFILENAME);
  424. BOOL WINAPI _CoverGetSaveFileName(LPOPENFILENAME);
  425. BOOL WINAPI _CoverPrintDlg(LPPRINTDLG);
  426. HWND WINAPI _CoverReplaceText(LPFINDREPLACE);
  427. #endif
  428.  
  429. #endif
  430. #ifdef INCLUDE_OLE_H
  431. #include <ole.h>
  432. OLESTATUS   WINAPI  _16OleActivate(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, const RECT FAR*);
  433. OLESTATUS   WINAPI  _16OleClone(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
  434. OLESTATUS   WINAPI  _16OleClose(LPOLEOBJECT);
  435. OLESTATUS   WINAPI  _16OleCopyFromLink(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
  436. OLESTATUS   WINAPI  _16OleCopyToClipboard(LPOLEOBJECT);
  437. OLESTATUS   WINAPI  _16OleCreate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
  438. OLESTATUS   WINAPI  _16OleCreateFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR,  LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
  439. OLESTATUS   WINAPI  _16OleCreateFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
  440. OLESTATUS   WINAPI  _16OleCreateFromTemplate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
  441. OLESTATUS   WINAPI  _16OleCreateInvisible(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT, BOOL);
  442. OLESTATUS   WINAPI  _16OleCreateLinkFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
  443. OLESTATUS   WINAPI  _16OleCreateLinkFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
  444. OLESTATUS   WINAPI  _16OleDelete(LPOLEOBJECT);
  445. OLESTATUS   WINAPI  _16OleDraw(LPOLEOBJECT, HDC, const RECT FAR*, const RECT FAR*, HDC);
  446. OLECLIPFORMAT  WINAPI  _16OleEnumFormats(LPOLEOBJECT, OLECLIPFORMAT);
  447. OLESTATUS   WINAPI  _16OleEnumObjects(LHCLIENTDOC, LPOLEOBJECT FAR*);
  448. OLESTATUS   WINAPI  _16OleEqual(LPOLEOBJECT, LPOLEOBJECT );
  449. OLESTATUS   WINAPI  _16OleExecute(LPOLEOBJECT, HGLOBAL, UINT);
  450. OLESTATUS   WINAPI  _16OleGetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE FAR*);
  451. OLESTATUS   WINAPI  _16OleGetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE FAR*);
  452. OLESTATUS   WINAPI  _16OleLoadFromStream(LPOLESTREAM, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
  453. OLESTATUS   WINAPI  _16OleLockServer(LPOLEOBJECT, LHSERVER FAR*);
  454. OLESTATUS   WINAPI  _16OleObjectConvert(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
  455. OLESTATUS   WINAPI  _16OleQueryBounds(LPOLEOBJECT, RECT FAR*);
  456. OLESTATUS   WINAPI  _16OleQueryCreateFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
  457. OLESTATUS   WINAPI  _16OleQueryLinkFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
  458. OLESTATUS   WINAPI  _16OleQueryName(LPOLEOBJECT, LPSTR, UINT FAR*);
  459. OLESTATUS   WINAPI  _16OleQueryOpen(LPOLEOBJECT);
  460. OLESTATUS   WINAPI  _16OleQueryOutOfDate(LPOLEOBJECT);
  461. void FAR*   WINAPI  _16OleQueryProtocol(LPOLEOBJECT, LPCSTR);
  462. OLESTATUS   WINAPI  _16OleQueryReleaseError(LPOLEOBJECT);
  463. OLE_RELEASE_METHOD WINAPI _16OleQueryReleaseMethod(LPOLEOBJECT);
  464. OLESTATUS   WINAPI  _16OleQueryReleaseStatus(LPOLEOBJECT);
  465. OLESTATUS   WINAPI  _16OleQuerySize(LPOLEOBJECT, DWORD FAR*);
  466. OLESTATUS   WINAPI  _16OleQueryType(LPOLEOBJECT, LONG FAR*);
  467. OLESTATUS   WINAPI  _16OleReconnect(LPOLEOBJECT);
  468. OLESTATUS   WINAPI  _16OleRegisterClientDoc(LPCSTR, LPCSTR, LONG, LHCLIENTDOC FAR*);
  469. OLESTATUS   WINAPI  _16OleRelease(LPOLEOBJECT);
  470. OLESTATUS   WINAPI  _16OleRename(LPOLEOBJECT, LPCSTR);
  471. OLESTATUS   WINAPI  _16OleRenameClientDoc(LHCLIENTDOC, LPCSTR);
  472. OLESTATUS   WINAPI  _16OleRequestData(LPOLEOBJECT, OLECLIPFORMAT);
  473. OLESTATUS   WINAPI  _16OleSaveToStream(LPOLEOBJECT, LPOLESTREAM);
  474. OLESTATUS   WINAPI  _16OleSetBounds(LPOLEOBJECT, const RECT FAR*);
  475. OLESTATUS   WINAPI  _16OleSetColorScheme(LPOLEOBJECT, const LOGPALETTE FAR*);
  476. OLESTATUS   WINAPI  _16OleSetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE);
  477. OLESTATUS   WINAPI  _16OleSetHostNames(LPOLEOBJECT, LPCSTR, LPCSTR);
  478. OLESTATUS   WINAPI  _16OleSetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE);
  479. OLESTATUS   WINAPI  _16OleSetTargetDevice(LPOLEOBJECT, HGLOBAL);
  480. OLESTATUS   WINAPI  _16OleUpdate(LPOLEOBJECT);
  481. OLESTATUS   WINAPI  _16OleRegisterServer(LPCSTR, LPOLESERVER, LHSERVER FAR*, HINSTANCE, OLE_SERVER_USE);
  482. OLESTATUS   WINAPI  _16OleRegisterServerDoc(LHSERVER, LPCSTR, LPOLESERVERDOC, LHSERVERDOC FAR*);
  483. OLESTATUS   WINAPI  _16OleRenameServerDoc(LHSERVERDOC, LPCSTR);
  484. OLESTATUS   WINAPI  _16OleRevokeObject(LPOLECLIENT);
  485. OLESTATUS   WINAPI  _16OleUnblockServer(LHSERVER, BOOL FAR*);
  486. #endif
  487. #ifdef INCLUDE_DDEML_H
  488. #include <ddeml.h>
  489. HCONVLIST EXPENTRY _16DdeConnectList(DWORD idInst, HSZ hszService, HSZ hszTopic,
  490.         HCONVLIST hConvList, PCONVCONTEXT pCC);
  491. HCONV EXPENTRY _16DdeConnect(DWORD idInst, HSZ hszService, HSZ hszTopic,
  492.         PCONVCONTEXT pCC);
  493. WORD EXPENTRY _16DdeQueryConvInfo(HCONV hConv, DWORD idTransaction, PCONVINFO pConvInfo);
  494. HDDEDATA EXPENTRY _16DdeClientTransaction(LPBYTE pData, DWORD cbData,
  495.         HCONV hConv, HSZ hszItem, WORD wFmt, WORD wType, DWORD dwTimeout,
  496.         LPDWORD pdwResult);
  497. HDDEDATA EXPENTRY _16DdeCreateDataHandle(DWORD idInst, LPBYTE pSrc, DWORD cb,
  498.         DWORD cbOff, HSZ hszItem, WORD wFmt, WORD afCmd);
  499. HDDEDATA EXPENTRY _16DdeAddData(HDDEDATA hData, LPBYTE pSrc, DWORD cb, DWORD cbOff);
  500. DWORD EXPENTRY _16DdeGetData(HDDEDATA hData, LPBYTE pDst, DWORD cbMax, DWORD cbOff);
  501. LPBYTE EXPENTRY _16DdeAccessData(HDDEDATA hData, LPDWORD pcbDataSize);
  502. HSZ  EXPENTRY _16DdeCreateStringHandle(DWORD idInst, LPSTR psz, int iCodePage);
  503. DWORD EXPENTRY _16DdeQueryString(DWORD idInst, HSZ hsz, LPSTR psz, DWORD cchMax, int iCodePage);
  504. UINT  EXPENTRY _16DdeInitialize(LPDWORD idInst, PFNCALLBACK pfnCallback,
  505.                 DWORD afCmd, DWORD ulRes);
  506. #if !defined(NOAUTOPROCS) && defined(__WINDOWS_386__)
  507. #define DdeInitialize _Cover_DdeInitialize
  508. UINT  EXPENTRY _Cover_DdeInitialize(LPDWORD idInst, PFNCALLBACK pfnCallback,
  509.                 DWORD afCmd, DWORD ulRes);
  510. #endif
  511. #endif
  512. #ifdef INCLUDE_SHELLAPI_H
  513. #include <shellapi.h>
  514. #endif
  515. #ifdef INCLUDE_VER_H
  516. #include <ver.h>
  517. #endif
  518. #ifdef INCLUDE_LZEXPAND_H
  519. #include <lzexpand.h>
  520. #endif
  521. #ifdef INCLUDE_STRESS_H
  522. #include <stress.h>
  523. #endif
  524. #ifdef INCLUDE_PENWIN_H
  525. #include <penwin.h>
  526. #if !defined(NOAUTOPROCS) && defined(__WINDOWS_386__)
  527. #define Recognize _Cover_Recognize
  528. #define RecognizeData _Cover_RecognizeData
  529. #define TrainInk _Cover_TrainInk
  530. #define ProcessWriting _Cover_ProcessWriting
  531. #define CorrectWriting _Cover_CorrectWriting
  532. #define DictionarySearch _Cover_DictionarySearch
  533. #define SetPenHook _Cover_SetPenHook
  534. #define EnumSymbols _Cover_EnumSymbols
  535. REC WINAPI _Cover_Recognize( LPRC lprc );
  536. REC WINAPI _Cover_RecognizeData( LPRC lprc, HPENDATA hpd );
  537. BOOL WINAPI _Cover_TrainInk(LPRC lprc, HPENDATA hpd, LPSYV lpsvy );
  538. REC WINAPI _Cover_ProcessWriting( HWND hwnd, LPRC lprc );
  539. BOOL WINAPI _Cover_CorrectWriting( HWND hwnd, LPSTR lpstr, UINT cb, LPRC lprc, DWORD dw1, DWORD dw2 );
  540. BOOL WINAPI _Cover_DictionarySearch( LPRC lprc, LPSYE lpsye, int i1, LPSYV lpsyv, int i2 );
  541. BOOL WINAPI _Cover_SetPenHook(HKP hkpop, LPFNRAWHOOK lpfn );
  542. UINT WINAPI _Cover_EnumSymbols(LPSYG, WORD, ENUMPROC, LPVOID);
  543. #endif
  544. #endif
  545. #ifdef INCLUDE_PENWOEM_H
  546. #include <penwoem.h>
  547. #endif
  548. #ifdef INCLUDE_MMSYSTEM_H
  549. #include <mmsystem.h>
  550. #if !defined(NOAUTOPROCS) && defined(__WINDOWS_386__)
  551. #define mmioInstallIOProc _Cover_mmioInstallIOProc
  552. #define mciSetYieldProc _Cover_mciSetYieldProc
  553. #define timeSetEvent _Cover_timeSetEvent
  554. LPMMIOPROC WINAPI _Cover_mmioInstallIOProc(FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags);
  555. BOOL WINAPI _Cover_mciSetYieldProc(UINT uDeviceID, YIELDPROC fpYieldProc, DWORD dwYieldData);
  556. UINT WINAPI _Cover_timeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK lpFunction, DWORD dwUser, UINT uFlags);
  557. #endif
  558. #endif
  559.  
  560. #ifdef __WINDOWS_386__
  561.  
  562. /*
  563.  * re-define the pseudo-pointers
  564.  */
  565. #undef MAKEINTRESOURCE
  566. #define MAKEINTRESOURCE(i)  (LPSTR)(0xFFFF0000L+(DWORD)((WORD)(i)))
  567.  
  568.  
  569. #undef int
  570. #undef __far
  571. #undef __huge
  572. #undef FAR
  573. #define FAR far
  574.  
  575. /*
  576.  * types
  577.  */
  578. typedef unsigned int PROCPTR;
  579. typedef void * CALLBACKPTR;
  580. typedef void * HINDIR;
  581.  
  582. /*
  583.  * prototypes for special WIN386 library functions
  584.  */
  585. #define GETPROC_CALLBACK 0
  586. #define GETPROC_SETTIMER 0
  587. #define GETPROC_ABORTPROC 1
  588. #define GETPROC_ENUMFONTS 2
  589. #define GETPROC_ENUMMETAFILE 3
  590. #define GETPROC_ENUMOBJECTS 4
  591. #define GETPROC_ENUMPROPS_FIXED_DS 5
  592. #define GETPROC_GRAYSTRING 5
  593. #define GETPROC_ENUMPROPS_MOVEABLE_DS 6
  594. #define GETPROC_ENUMTASKWINDOWS 7
  595. #define GETPROC_ENUMWINDOWS 7
  596. #define GETPROC_ENUMCHILDWINDOWS 7
  597. #define GETPROC_GLOBALNOTIFY 8
  598. #define GETPROC_LINEDDA 9
  599. #define GETPROC_SETWINDOWSHOOK 9
  600. #define GETPROC_SETRESOURCEHANDLER 10
  601. #define GETPROC_DDEMLCALLBACK 11
  602. #define GETPROC_PENWIN_RCYIELDPROC 12
  603. #define GETPROC_PENWIN_LPDF 13
  604. #define GETPROC_PENWIN_LPFNRAWHOOK 14
  605. #define GETPROC_PENWIN_ENUMPROC 15
  606. #define GETPROC_MMSYSTEM_MMIOPROC 16
  607. #define GETPROC_MMSYSTEM_YIELDPROC 17
  608. #define GETPROC_MMSYSTEM_TIMECALLBACK 18
  609. #define GETPROC_OLE_OV_QUERYPROTOCOL 19
  610. #define GETPROC_OLE_OV_RELEASE 20
  611. #define GETPROC_OLE_OV_SHOW 21
  612. #define GETPROC_OLE_OV_DOVERB 22
  613. #define GETPROC_OLE_OV_GETDATA 23
  614. #define GETPROC_OLE_OV_SETDATA 24
  615. #define GETPROC_OLE_OV_SETTARGETDEVICE 25
  616. #define GETPROC_OLE_OV_SETBOUNDS 26
  617. #define GETPROC_OLE_OV_ENUMFORMATS 27
  618. #define GETPROC_OLE_OV_SETCOLORSCHEME 28
  619. #define GETPROC_OLE_OV_DELETE 29
  620. #define GETPROC_OLE_OV_SETHOSTNAMES 30
  621. #define GETPROC_OLE_OV_SAVETOSTREAM 31
  622. #define GETPROC_OLE_OV_CLONE 32
  623. #define GETPROC_OLE_OV_COPYFROMLINK 33
  624. #define GETPROC_OLE_OV_EQUAL 34
  625. #define GETPROC_OLE_OV_COPYTOCLIPBOARD 35
  626. #define GETPROC_OLE_OV_DRAW 36
  627. #define GETPROC_OLE_OV_ACTIVATE 37
  628. #define GETPROC_OLE_OV_EXECUTE 38
  629. #define GETPROC_OLE_OV_CLOSE 39
  630. #define GETPROC_OLE_OV_UPDATE 40
  631. #define GETPROC_OLE_OV_RECONNECT 41
  632. #define GETPROC_OLE_OV_OBJECTCONVERT 42
  633. #define GETPROC_OLE_OV_GETLINKUPDATEOPTIONS 43
  634. #define GETPROC_OLE_OV_SETLINKUPDATEOPTIONS 44
  635. #define GETPROC_OLE_OV_RENAME 45
  636. #define GETPROC_OLE_OV_QUERYNAME 46
  637. #define GETPROC_OLE_OV_QUERYTYPE 47
  638. #define GETPROC_OLE_OV_QUERYBOUNDS 48
  639. #define GETPROC_OLE_OV_QUERYSIZE 49
  640. #define GETPROC_OLE_OV_QUERYOPEN 50
  641. #define GETPROC_OLE_OV_QUERYOUTOFDATE 51
  642. #define GETPROC_OLE_OV_QUERYRELEASESTATUS 52
  643. #define GETPROC_OLE_OV_QUERYRELEASEERROR 53
  644. #define GETPROC_OLE_OV_QUERYRELEASEMETHOD 54
  645. #define GETPROC_OLE_OV_REQUESTDATA 55
  646. #define GETPROC_OLE_OV_OBJECTLONG 56
  647. #define GETPROC_OLE_OV_CHANGEDATA 57
  648. #define GETPROC_OLE_SDV_SAVE 58
  649. #define GETPROC_OLE_SDV_CLOSE 59
  650. #define GETPROC_OLE_SDV_SETHOSTNAMES 60
  651. #define GETPROC_OLE_SDV_SETDOCDIMENSIONS 61
  652. #define GETPROC_OLE_SDV_GETOBJECT 62
  653. #define GETPROC_OLE_SDV_RELEASE 63
  654. #define GETPROC_OLE_SDV_SETCOLORSCHEME 64
  655. #define GETPROC_OLE_SDV_EXECUTE 65
  656. #define GETPROC_OLE_SV_OPEN 66
  657. #define GETPROC_OLE_SV_CREATE 67
  658. #define GETPROC_OLE_SV_CREATEFROMTEMPLATE 68
  659. #define GETPROC_OLE_SV_EDIT 69
  660. #define GETPROC_OLE_SV_EXIT 70
  661. #define GETPROC_OLE_SV_RELEASE 71
  662. #define GETPROC_OLE_SV_EXECUTE 72
  663. #define GETPROC_USERDEFINED_1 101
  664. #define GETPROC_USERDEFINED_2 102
  665. #define GETPROC_USERDEFINED_3 103
  666. #define GETPROC_USERDEFINED_4 104
  667. #define GETPROC_USERDEFINED_5 105
  668. #define GETPROC_USERDEFINED_6 106
  669. #define GETPROC_USERDEFINED_7 107
  670. #define GETPROC_USERDEFINED_8 108
  671. #define GETPROC_USERDEFINED_9 109
  672. #define GETPROC_USERDEFINED_10 110
  673. #define GETPROC_USERDEFINED_11 111
  674. #define GETPROC_USERDEFINED_12 112
  675. #define GETPROC_USERDEFINED_13 113
  676. #define GETPROC_USERDEFINED_14 114
  677. #define GETPROC_USERDEFINED_15 115
  678. #define GETPROC_USERDEFINED_16 116
  679. #define GETPROC_USERDEFINED_17 117
  680. #define GETPROC_USERDEFINED_18 118
  681. #define GETPROC_USERDEFINED_19 119
  682. #define GETPROC_USERDEFINED_20 120
  683. #define GETPROC_USERDEFINED_21 121
  684. #define GETPROC_USERDEFINED_22 122
  685. #define GETPROC_USERDEFINED_23 123
  686. #define GETPROC_USERDEFINED_24 124
  687. #define GETPROC_USERDEFINED_25 125
  688. #define GETPROC_USERDEFINED_26 126
  689. #define GETPROC_USERDEFINED_27 127
  690. #define GETPROC_USERDEFINED_28 128
  691. #define GETPROC_USERDEFINED_29 129
  692. #define GETPROC_USERDEFINED_30 130
  693. #define GETPROC_USERDEFINED_31 131
  694. #define GETPROC_USERDEFINED_32 132
  695.  
  696. #define GCB_DWORD        4
  697. #define GCB_WORD        2
  698. #define GCB_ENDLIST        -1
  699. #define GCB_CDECL        -2
  700.  
  701. extern CALLBACKPTR GetProc16( PROCPTR, long );
  702. extern void ReleaseProc16( CALLBACKPTR );
  703. extern void ReleaseCallbackRoutine( CALLBACKPTR cbp );
  704. CALLBACKPTR GetCallbackRoutine( PROCPTR fn, ... );
  705. void ReleaseCallbackRoutine( CALLBACKPTR cbp );
  706.  
  707. extern void far *MK_LOCAL32( void * );
  708. extern void far *MK_FP32( void * );
  709. extern DWORD MK_FP16( void far * );
  710.  
  711. #pragma aux MK_LOCAL32 "*_" parm [eax] value [eax dx];
  712. #pragma aux MK_FP32 = 0x8B 0xD0 0xC1 0xEA 0x10 0x25 0xFF 0xFF 0x00 0x00 \
  713.    parm [eax] value [eax dx];
  714. #pragma aux  MK_FP16 = 0xC1 0xE2 0x10 0x66 0x8B 0xD0 \
  715.    parm [eax dx] value [edx];
  716.  
  717. extern DWORD InvokeIndirectFunction( HINDIR handle, ... );
  718. extern HINDIR GetIndirectFunctionHandle( FARPROC proc, ... );
  719. #define INDIR_DWORD     ((int) 4)
  720. #define INDIR_WORD      ((int) 2)
  721. #define INDIR_CHAR      ((int) 2)
  722. #define INDIR_PTR       ((int) -1)
  723. #define INDIR_ENDLIST   ((int) -2)
  724. #define INDIR_CDECL    ((int) -3)
  725.  
  726. extern int DefineDLLEntry( int, void *, ... );
  727. #define DLL_DWORD    ((int) 4)
  728. #define DLL_PTR        ((int) 4)
  729. #define DLL_WORD    ((int) 2)
  730. #define DLL_CHAR    ((int) 2)
  731. #define DLL_ENDLIST    ((int) -1)
  732.  
  733. extern int DefineUserProc16( int, PROCPTR, ... );
  734. #define UDP16_DWORD    ((int) 4)
  735. #define UDP16_PTR    ((int) 4)
  736. #define UDP16_WORD    ((int) 2)
  737. #define UDP16_CHAR    ((int) 2)
  738. #define UDP16_ENDLIST    ((int) -1)
  739. #define UDP16_CDECL    ((int) -2)
  740.  
  741. #define DWORD_TO_PTR(i)  ((LPSTR)(0xFFFF0000L+(DWORD)((WORD)(i))))
  742. #define PASS_WORD_AS_POINTER(i)  ((LPSTR)(0xFFFF0000L+(DWORD)((WORD)(i))))
  743.  
  744. extern DWORD AllocAlias16( void * );
  745. extern void FreeAlias16( DWORD );
  746. extern DWORD AllocHugeAlias16( void *, DWORD );
  747. extern void FreeHugeAlias16( DWORD, DWORD );
  748. void *MapAliasToFlat( DWORD alias );
  749.  
  750. extern WORD __A000;
  751. #pragma aux __A000 "_*";
  752. extern WORD __B000;
  753. #pragma aux __B000 "_*";
  754. extern WORD __B800;
  755. #pragma aux __B800 "_*";
  756. extern WORD __C000;
  757. #pragma aux __C000 "_*";
  758. extern WORD __D000;
  759. #pragma aux __D000 "_*";
  760. extern WORD __E000;
  761. #pragma aux __E000 "_*";
  762. extern WORD __F000;
  763. #pragma aux __F000 "_*";
  764. extern WORD LocalPtr;
  765. #pragma aux LocalPtr "_*";
  766.  
  767. #pragma library (WIN386);
  768.  
  769. #else
  770. typedef void __far * PROCPTR;
  771. typedef void __far * CALLBACKPTR;
  772. typedef void * HINDIR;
  773.  
  774. #define PASS_WORD_AS_POINTER(i) ((LPSTR)(WORD)(i))
  775. #define AllocAlias16( a ) ((DWORD)(LPSTR)(a))
  776. #define FreeAlias16( a )
  777. #define AllocHugeAlias16( a, b ) ((DWORD)(LPSTR)(a))
  778. #define FreeHugeAlias16( a,  )
  779. #define MK_LOCAL32( a ) ((void far *) a)
  780. #define MK_FP32( a ) (a)
  781. #define MK_FP16( a ) (a)
  782. #define GetProc16( a, b ) (a)
  783. #define ReleaseProc16( a )
  784.  
  785. #ifndef NOKERNEL
  786. #define _16MakeProcInstance MakeProcInstance
  787. #define _16FreeProcInstance FreeProcInstance
  788. #define _16GetCodeInfo GetCodeInfo
  789. #define _16GetModuleHandle GetModuleHandle
  790. #define _16GetModuleFileName GetModuleFileName
  791. #define _16GetInstanceData GetInstanceData
  792. #define _16GetProcAddress GetProcAddress
  793. #define _16LoadLibrary LoadLibrary
  794. #define _16LoadModule LoadModule
  795. #define _16WinExec WinExec
  796. #define _16OutputDebugString OutputDebugString
  797. #ifndef NOOPENFILE
  798. #define _16OpenFile OpenFile
  799. #define _16GetTempFileName GetTempFileName
  800. #endif /* NOOPENFILE */
  801. #define _16FindResource FindResource
  802. #define _16SetResourceHandler SetResourceHandler
  803. #ifndef NOATOM
  804. #define _16AddAtom AddAtom
  805. #define _16FindAtom FindAtom
  806. #define _16GetAtomName GetAtomName
  807. #define _16GlobalAddAtom GlobalAddAtom
  808. #define _16GlobalFindAtom GlobalFindAtom
  809. #define _16GlobalGetAtomName GlobalGetAtomName
  810. #endif /* NOATOM */
  811. #define _16GetProfileInt GetProfileInt
  812. #define _16GetProfileString GetProfileString
  813. #define _16WriteProfileString WriteProfileString
  814. #define _16GetPrivateProfileInt GetPrivateProfileInt
  815. #define _16GetPrivateProfileString GetPrivateProfileString
  816. #define _16WritePrivateProfileString WritePrivateProfileString
  817. #define _16GetWindowsDirectory GetWindowsDirectory
  818. #define _16GetSystemDirectory GetSystemDirectory
  819. #define _16AnsiToOem AnsiToOem
  820. #define _16OemToAnsi OemToAnsi
  821. #define _16AnsiToOemBuff AnsiToOemBuff
  822. #define _16OemToAnsiBuff OemToAnsiBuff
  823. #define _16AnsiUpper AnsiUpper
  824. #define _16AnsiUpperBuff AnsiUpperBuff
  825. #define _16AnsiLower AnsiLower
  826. #define _16AnsiLowerBuff AnsiLowerBuff
  827. #define _16AnsiNext AnsiNext
  828. #define _16AnsiPrev AnsiPrev
  829. #ifndef NOKEYBOARDINFO
  830. #define _16GetKeyNameText GetKeyNameText
  831. #define _16ToAscii ToAscii
  832. #endif /* NOKEYBOARDINFO */
  833. #ifndef NOMEMMGR
  834. #define _16GlobalNotify GlobalNotify
  835. #endif /* NOMEMMGR */
  836. #endif /* NOKERNEL */
  837.  
  838. #ifndef NOGDI
  839. #ifndef NODRAWTEXT
  840. #define _16DrawText DrawText
  841. #endif /* NODRAWTEXT */
  842. #define _16CreateDC CreateDC
  843. #define _16CreateIC CreateIC
  844. #define _16ExtTextOut ExtTextOut
  845. #define _16Polyline Polyline
  846. #define _16Polygon Polygon
  847. #define _16PolyPolygon PolyPolygon
  848. #define _16TextOut TextOut
  849. #define _16TabbedTextOut TabbedTextOut
  850. #define _16GetCharWidth GetCharWidth
  851. #define _16LineDDA LineDDA
  852. #define _16CreatePenIndirect CreatePenIndirect
  853. #define _16CreateBrushIndirect CreateBrushIndirect
  854. #define _16CreateBitmap CreateBitmap
  855. #define _16CreateBitmapIndirect CreateBitmapIndirect
  856. #define _16SetBitmapBits SetBitmapBits
  857. #define _16GetBitmapBits GetBitmapBits
  858. #define _16CreateFont CreateFont
  859. #define _16CreateFontIndirect CreateFontIndirect
  860. #define _16CreateRectRgnIndirect CreateRectRgnIndirect
  861. #define _16CreateEllipticRgnIndirect CreateEllipticRgnIndirect
  862. #define _16CreatePolygonRgn CreatePolygonRgn
  863. #define _16CreatePolyPolygonRgn CreatePolyPolygonRgn
  864. #define _16GetObject GetObject
  865. #define _16GetClipBox GetClipBox
  866. #define _16GetRgnBox GetRgnBox
  867. #define _16GetTextExtent GetTextExtent
  868. #define _16GetTabbedTextExtent GetTabbedTextExtent
  869. #define _16GetMetaFile GetMetaFile
  870. #define _16CopyMetaFile CopyMetaFile
  871. #ifndef NOMETAFILE
  872. #define _16PlayMetaFileRecord PlayMetaFileRecord
  873. #define _16EnumMetaFile EnumMetaFile
  874. #endif
  875. #define _16Escape Escape
  876. #define _16EnumFonts EnumFonts
  877. #define _16EnumObjects EnumObjects
  878. #define _16GetTextFace GetTextFace
  879. #ifndef NOTEXTMETRIC
  880. #define _16GetTextMetrics GetTextMetrics
  881. #endif /* NOTEXTMETRIC */
  882. #define _16SetEnvironment SetEnvironment
  883. #define _16GetEnvironment GetEnvironment
  884. #define _16DPtoLP DPtoLP
  885. #define _16LPtoDP LPtoDP
  886. #define _16CreateMetaFile CreateMetaFile
  887. #define _16SetDIBits SetDIBits
  888. #define _16GetDIBits GetDIBits
  889. #define _16SetDIBitsToDevice SetDIBitsToDevice
  890. #define _16StretchDIBits StretchDIBits
  891. #define _16CreatePalette  CreatePalette 
  892. #define _16AnimatePalette AnimatePalette
  893. #define _16SetPaletteEntries SetPaletteEntries
  894. #define _16GetPaletteEntries GetPaletteEntries
  895. #define _16GetSystemPaletteEntries GetSystemPaletteEntries
  896. #endif /* NOGDI */
  897.  
  898. #ifndef NOUSER
  899. #ifndef NOWINMESSAGES
  900. #define _16RegisterWindowMessage RegisterWindowMessage
  901. #endif /* NOWINMESSAGES */
  902. #ifndef NOMSG
  903. #define _16TranslateMessage TranslateMessage
  904. #define _16DispatchMessage DispatchMessage
  905. #endif /* NOMSG */
  906. #define _16UnregisterClass UnregisterClass
  907. #define _16GetClassInfo GetClassInfo
  908. #define _16CreateWindow CreateWindow
  909. #define _16CreateWindowEx CreateWindowEx
  910. #ifndef NOCTLMGR
  911. #define _16CreateDialog CreateDialog
  912. #define _16CreateDialogIndirect CreateDialogIndirect
  913. #define _16CreateDialogParam CreateDialogParam
  914. #define _16CreateDialogIndirectParam CreateDialogIndirectParam
  915. #define _16DialogBox DialogBox
  916. #define _16DialogBoxParam DialogBoxParam
  917. #define _16DialogBoxIndirect DialogBoxIndirect
  918. #define _16DialogBoxIndirectParam DialogBoxIndirectParam
  919. #define _16GetDlgItemInt GetDlgItemInt
  920. #define _16SetDlgItemText SetDlgItemText
  921. #define _16GetDlgItemText GetDlgItemText
  922. #endif /* NOCTLMSG */
  923. #ifndef NOMSG
  924. #define _16CallMsgFilter CallMsgFilter
  925. #endif /* NOMSG */
  926. #ifndef NOCLIPBOARD
  927. #define _16RegisterClipboardFormat RegisterClipboardFormat
  928. #define _16GetClipboardFormatName GetClipboardFormatName
  929. #define _16GetPriorityClipboardFormat GetPriorityClipboardFormat
  930. #endif /* NOCLIPBOARD */
  931. #define _16GetKeyboardState GetKeyboardState
  932. #define _16SetKeyboardState SetKeyboardState
  933. #define _16LoadAccelerators LoadAccelerators
  934. #define _16SetTimer SetTimer
  935. #ifndef NOMSG
  936. #define _16TranslateAccelerator TranslateAccelerator
  937. #endif /* NOMSG */
  938. #ifndef NOMENUS
  939. #define _16LoadMenu LoadMenu
  940. #define _16LoadMenuIndirect LoadMenuIndirect
  941. #define _16ChangeMenu ChangeMenu
  942. #define _16GetMenuString GetMenuString
  943. #define _16TrackPopupMenu TrackPopupMenu
  944. #endif /* NOMENUS */
  945. #define _16GrayString GrayString
  946. #define _16EndPaint EndPaint
  947. #define _16GetUpdateRect GetUpdateRect
  948. #define _16InvalidateRect InvalidateRect
  949. #define _16ValidateRect ValidateRect
  950. #define _16ScrollWindow ScrollWindow
  951. #define _16ScrollDC ScrollDC
  952. #ifndef NOSCROLL
  953. #define _16GetScrollRange GetScrollRange
  954. #endif /* NOSCROLL */
  955. #define _16SetProp SetProp
  956. #define _16GetProp GetProp
  957. #define _16RemoveProp RemoveProp
  958. #define _16SetWindowText SetWindowText
  959. #define _16GetWindowText GetWindowText
  960. #define _16GetClientRect GetClientRect
  961. #define _16EnumProps EnumProps
  962. #define _16GetWindowRect GetWindowRect
  963. #define _16AdjustWindowRect AdjustWindowRect
  964. #define _16AdjustWindowRectEx AdjustWindowRectEx
  965. #ifndef NOMB
  966. #define _16MessageBox MessageBox
  967. #endif /* NOMB */
  968. #define _16GetCursorPos GetCursorPos
  969. #define _16ClipCursor ClipCursor
  970. #define _16GetCaretPos GetCaretPos
  971. #define _16ClientToScreen ClientToScreen
  972. #define _16ScreenToClient ScreenToClient
  973. #ifndef NOCOLOR
  974. #define _16SetSysColors SetSysColors
  975. #endif /* NOCOLOR */
  976. #define _16DrawFocusRect DrawFocusRect
  977. #define _16FillRect FillRect
  978. #define _16FrameRect FrameRect
  979. #define _16InvertRect InvertRect
  980. #define _16SetRect SetRect
  981. #define _16SetRectEmpty SetRectEmpty
  982. #define _16CopyRect CopyRect
  983. #define _16InflateRect InflateRect
  984. #define _16IntersectRect IntersectRect
  985. #define _16UnionRect UnionRect
  986. #define _16OffsetRect OffsetRect
  987. #define _16IsRectEmpty IsRectEmpty
  988. #define _16EqualRect EqualRect
  989. #define _16PtInRect PtInRect
  990. #define _16RectVisible RectVisible
  991. #define _16RectInRegion RectInRegion
  992. #define _16EnumChildWindows EnumChildWindows
  993. #define _16FindWindow FindWindow
  994. #define _16EnumWindows EnumWindows
  995. #define _16EnumTaskWindows EnumTaskWindows
  996. #define _16GetClassName GetClassName
  997. #ifndef NOWH
  998. #define _16SetWindowsHook SetWindowsHook
  999. #define _16UnhookWindowsHook UnhookWindowsHook
  1000. #endif
  1001. #define _16LoadBitmap LoadBitmap
  1002. #define _16LoadCursor LoadCursor
  1003. #define _16CreateCursor CreateCursor
  1004. #define _16LoadIcon LoadIcon
  1005. #define _16CreateIcon CreateIcon
  1006. #define _16LoadString LoadString
  1007. #define _16AddFontResource AddFontResource
  1008. #define _16RemoveFontResource RemoveFontResource
  1009.  
  1010. #ifndef NOCTLMGR
  1011. #ifndef NOMSG
  1012. #define _16IsDialogMessage IsDialogMessage
  1013. #endif /* NOMSG */
  1014. #define _16MapDialogRect MapDialogRect
  1015. #define _16DlgDirList DlgDirList
  1016. #define _16DlgDirSelect DlgDirSelect
  1017. #define _16DlgDirListComboBox DlgDirListComboBox
  1018. #define _16DlgDirSelectComboBox DlgDirSelectComboBox
  1019. #endif /* NOCTLMGR */
  1020. #ifdef USECOMM
  1021. #define _16OpenComm OpenComm
  1022. #define _16SetCommState SetCommState
  1023. #define _16GetCommState GetCommState
  1024. #define _16ReadComm ReadComm
  1025. #define _16WriteComm WriteComm
  1026. #define _16GetCommError GetCommError
  1027. #define _16BuildCommDCB BuildCommDCB
  1028. #endif /* USECOMM */
  1029. #ifndef NOMDI
  1030. #ifndef NOMSG
  1031. #define _16TranslateMDISysAccel TranslateMDISysAccel
  1032. #endif /* NOMSG */
  1033. #endif /* NOMDI */
  1034.  
  1035. #ifndef NOLFILEIO
  1036. #define _16_lread _lread
  1037. #define _16_lwrite _lwrite
  1038. #endif
  1039. #endif /* NOUSER */
  1040. #ifndef NOHELP
  1041. #define _16WinHelp WinHelp
  1042. #endif /* NOHELP */
  1043.  
  1044. #ifdef INCLUDE_COMMDLG_H
  1045. #define _16ChooseColor ChooseColor
  1046. #define _16ChooseFont ChooseFont
  1047. #define _16FindText FindText
  1048. #define _16GetFileTitle GetFileTitle
  1049. #define _16GetOpenFileName GetOpenFileName
  1050. #define _16GetSaveFileName GetSaveFileName
  1051. #define _16PrintDlg PrintDlg
  1052. #define _16ReplaceText ReplaceText
  1053. #endif
  1054. #ifdef INCLUDE_DDEML_H
  1055. #define _16DdeConnectList DdeConnectList
  1056. #define _16DdeConnect DdeConnect
  1057. #define _16DdeQueryConvInfo DdeQueryConvInfo
  1058. #define _16DdeClientTransaction DdeClientTransaction
  1059. #define _16DdeCreateDataHandle DdeCreateDataHandle
  1060. #define _16DdeAddData DdeAddData
  1061. #define _16DdeGetData DdeGetData
  1062. #define _16DdeAccessData DdeAccessData
  1063. #define _16DdeCreateStringHandle DdeCreateStringHandle
  1064. #define _16DdeQueryString DdeQueryString
  1065. #define _16DdeInitialize DdeInitialize
  1066. #endif
  1067. #ifdef INCLUDE_PENWIN_H
  1068. #endif
  1069. #endif
  1070.  
  1071. #ifdef __cplusplus
  1072. };
  1073. #endif
  1074. #endif
  1075.