home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c034 / 7.ddi / INC11 / BSESUB.H$ / BSESUB.bin
Encoding:
Text File  |  1990-01-09  |  16.1 KB  |  571 lines

  1. /**************************************************************************\
  2. *
  3. * Module Name: BSESUB.H
  4. *
  5. * OS/2 Base Include File
  6. *
  7. * Copyright (c) 1987-1990, Microsoft Corporation. All rights reserved.
  8. *
  9. ****************************************************************************
  10. *
  11. *   #define:   To include:
  12. *
  13. *   INCL_KBD   KBD
  14. *   INCL_VIO   VIO
  15. *   INCL_MOU   MOU
  16. *
  17. \**************************************************************************/
  18.  
  19. #ifdef INCL_SUB
  20.  
  21. #define INCL_KBD
  22. #define INCL_VIO
  23. #define INCL_MOU
  24.  
  25. #endif /* INCL_SUB */
  26.  
  27. #ifdef INCL_KBD
  28.  
  29. typedef SHANDLE         HKBD;
  30. typedef HKBD    far *   PHKBD;
  31.  
  32. USHORT APIENTRY KbdRegister(PSZ, PSZ, ULONG);
  33.  
  34. #define KR_KBDCHARIN        0x00000001L
  35. #define KR_KBDPEEK          0x00000002L
  36. #define KR_KBDFLUSHBUFFER   0x00000004L
  37. #define KR_KBDGETSTATUS     0x00000008L
  38. #define KR_KBDSETSTATUS     0x00000010L
  39. #define KR_KBDSTRINGIN      0x00000020L
  40. #define KR_KBDOPEN          0x00000040L
  41. #define KR_KBDCLOSE         0x00000080L
  42. #define KR_KBDGETFOCUS      0x00000100L
  43. #define KR_KBDFREEFOCUS     0x00000200L
  44. #define KR_KBDGETCP         0x00000400L
  45. #define KR_KBDSETCP         0x00000800L
  46. #define KR_KBDXLATE         0x00001000L
  47. #define KR_KBDSETCUSTXT     0x00002000L
  48.  
  49. #define IO_WAIT     0
  50. #define IO_NOWAIT   1
  51.  
  52. USHORT APIENTRY KbdDeRegister(void);
  53.  
  54. /* KBDKEYINFO structure, for KbdCharIn and KbdPeek */
  55.  
  56. typedef struct _KBDKEYINFO {    /* kbci */
  57.         UCHAR    chChar;
  58.         UCHAR    chScan;
  59.         UCHAR    fbStatus;
  60.         UCHAR    bNlsShift;
  61.         USHORT   fsState;
  62.         ULONG    time;
  63.         }KBDKEYINFO;
  64. typedef KBDKEYINFO far *PKBDKEYINFO;
  65.  
  66. USHORT APIENTRY KbdCharIn(PKBDKEYINFO, USHORT, HKBD);
  67. USHORT APIENTRY KbdPeek(PKBDKEYINFO, HKBD);
  68.  
  69. /* structure for KbdStringIn() */
  70.  
  71. typedef struct _STRINGINBUF {   /* kbsi */
  72.         USHORT cb;
  73.         USHORT cchIn;
  74.         } STRINGINBUF;
  75. typedef STRINGINBUF far *PSTRINGINBUF;
  76.  
  77. USHORT APIENTRY KbdStringIn(PCH, PSTRINGINBUF, USHORT, HKBD);
  78.  
  79. USHORT APIENTRY KbdFlushBuffer(HKBD);
  80.  
  81. /* KBDINFO.fsMask */
  82.  
  83. #define KEYBOARD_ECHO_ON            0x0001
  84. #define KEYBOARD_ECHO_OFF           0x0002
  85. #define KEYBOARD_BINARY_MODE        0x0004
  86. #define KEYBOARD_ASCII_MODE         0x0008
  87. #define KEYBOARD_MODIFY_STATE       0x0010
  88. #define KEYBOARD_MODIFY_INTERIM     0x0020
  89. #define KEYBOARD_MODIFY_TURNAROUND  0x0040
  90. #define KEYBOARD_2B_TURNAROUND      0x0080
  91. #define KEYBOARD_SHIFT_REPORT       0x0100
  92.  
  93. #ifndef INCL_DOSDEVIOCTL  /* following constants defined in bsedev.h */
  94.  
  95. /* KBDINFO.fsState/KBDKEYINFO.fsState/KBDTRANS.fsState */
  96.  
  97. #define RIGHTSHIFT     0x0001
  98. #define LEFTSHIFT      0x0002
  99. #define CONTROL        0x0004
  100. #define ALT            0x0008
  101. #define SCROLLLOCK_ON  0x0010
  102. #define NUMLOCK_ON     0x0020
  103. #define CAPSLOCK_ON    0x0040
  104. #define INSERT_ON      0x0080
  105. #define LEFTCONTROL    0x0100
  106. #define LEFTALT        0x0200
  107. #define RIGHTCONTROL   0x0400
  108. #define RIGHTALT       0x0800
  109. #define SCROLLLOCK     0x1000
  110. #define NUMLOCK        0x2000
  111. #define CAPSLOCK       0x4000
  112. #define SYSREQ         0x8000
  113.  
  114. #endif  /* INCL_DOSDEVIOCTL */
  115.  
  116. /* KBDINFO structure, for KbdSet/GetStatus */
  117. typedef struct _KBDINFO {       /* kbst */
  118.         USHORT cb;
  119.         USHORT fsMask;
  120.         USHORT chTurnAround;
  121.         USHORT fsInterim;
  122.         USHORT fsState;
  123.         } KBDINFO;
  124. typedef KBDINFO far *PKBDINFO;
  125.  
  126. USHORT APIENTRY KbdSetStatus(PKBDINFO, HKBD);
  127. USHORT APIENTRY KbdGetStatus(PKBDINFO, HKBD);
  128.  
  129. USHORT APIENTRY KbdSetCp(USHORT, USHORT, HKBD);
  130. USHORT APIENTRY KbdGetCp(ULONG, PUSHORT, HKBD);
  131.  
  132. USHORT APIENTRY KbdOpen(PHKBD);
  133. USHORT APIENTRY KbdClose(HKBD);
  134.  
  135. USHORT APIENTRY KbdGetFocus(USHORT, HKBD);
  136. USHORT APIENTRY KbdFreeFocus(HKBD);
  137.  
  138. USHORT APIENTRY KbdSynch(USHORT);
  139.  
  140. USHORT APIENTRY KbdSetFgnd(VOID);
  141.  
  142. /* KBDTRANS.fbStatus */
  143.  
  144. #define SHIFT_KEY_IN        0x01
  145. #define CONVERSION_REQUEST  0x20
  146. #define FINAL_CHAR_IN       0x40
  147. #define INTERIM_CHAR_IN     0x80
  148.  
  149. /* structure for KbdXlate() */
  150. typedef struct _KBDTRANS {      /* kbxl */
  151.         UCHAR      chChar;
  152.         UCHAR      chScan;
  153.         UCHAR      fbStatus;
  154.         UCHAR      bNlsShift;
  155.         USHORT     fsState;
  156.         ULONG      time;
  157.         USHORT     fsDD;
  158.         USHORT     fsXlate;
  159.         USHORT     fsShift;
  160.         USHORT     sZero;
  161.         } KBDTRANS;
  162. typedef KBDTRANS far *PKBDTRANS;
  163.  
  164. USHORT APIENTRY KbdXlate(PKBDTRANS, HKBD);
  165. USHORT APIENTRY KbdSetCustXt(PUSHORT, HKBD);
  166.  
  167. #endif /* INCL_KBD */
  168.  
  169. #ifdef INCL_VIO
  170.  
  171. typedef SHANDLE         HVIO;
  172. typedef HVIO    far *   PHVIO;
  173.  
  174. USHORT APIENTRY VioRegister(PSZ, PSZ, ULONG, ULONG);
  175.  
  176. /* first parameter registration constants */
  177. #define VR_VIOGETCURPOS     0x00000001L
  178. #define VR_VIOGETCURTYPE    0x00000002L
  179. #define VR_VIOGETMODE       0x00000004L
  180. #define VR_VIOGETBUF        0x00000008L
  181. #define VR_VIOGETPHYSBUF    0x00000010L
  182. #define VR_VIOSETCURPOS     0x00000020L
  183. #define VR_VIOSETCURTYPE    0x00000040L
  184. #define VR_VIOSETMODE       0x00000080L
  185. #define VR_VIOSHOWBUF       0x00000100L
  186. #define VR_VIOREADCHARSTR   0x00000200L
  187. #define VR_VIOREADCELLSTR   0x00000400L
  188. #define VR_VIOWRTNCHAR      0x00000800L
  189. #define VR_VIOWRTNATTR      0x00001000L
  190. #define VR_VIOWRTNCELL      0x00002000L
  191. #define VR_VIOWRTTTY        0x00004000L
  192. #define VR_VIOWRTCHARSTR    0x00008000L
  193.  
  194. #define VR_VIOWRTCHARSTRATT 0x00010000L
  195. #define VR_VIOWRTCELLSTR    0x00020000L
  196. #define VR_VIOSCROLLUP      0x00040000L
  197. #define VR_VIOSCROLLDN      0x00080000L
  198. #define VR_VIOSCROLLLF      0x00100000L
  199. #define VR_VIOSCROLLRT      0x00200000L
  200. #define VR_VIOSETANSI       0x00400000L
  201. #define VR_VIOGETANSI       0x00800000L
  202. #define VR_VIOPRTSC         0x01000000L
  203. #define VR_VIOSCRLOCK       0x02000000L
  204. #define VR_VIOSCRUNLOCK     0x04000000L
  205. #define VR_VIOSAVREDRAWWAIT 0x08000000L
  206. #define VR_VIOSAVREDRAWUNDO 0x10000000L
  207. #define VR_VIOPOPUP         0x20000000L
  208. #define VR_VIOENDPOPUP      0x40000000L
  209. #define VR_VIOPRTSCTOGGLE   0x80000000L
  210.  
  211. /* second parameter registration constants */
  212. #define VR_VIOMODEWAIT      0x00000001L
  213. #define VR_VIOMODEUNDO      0x00000002L
  214. #define VR_VIOGETFONT       0x00000004L
  215. #define VR_VIOGETCONFIG     0x00000008L
  216. #define VR_VIOSETCP         0x00000010L
  217. #define VR_VIOGETCP         0x00000020L
  218. #define VR_VIOSETFONT       0x00000040L
  219. #define VR_VIOGETSTATE      0x00000080L
  220. #define VR_VIOSETSTATE      0x00000100L
  221.  
  222. USHORT APIENTRY VioDeRegister(void);
  223.  
  224. USHORT APIENTRY VioGetBuf(PULONG, PUSHORT, HVIO);
  225.  
  226. USHORT APIENTRY VioGetCurPos(PUSHORT, PUSHORT, HVIO);
  227. USHORT APIENTRY VioSetCurPos(USHORT, USHORT, HVIO);
  228.  
  229. /* structure for VioSet/GetCurType() */
  230. typedef struct _VIOCURSORINFO { /* vioci */
  231.         USHORT   yStart;
  232.         USHORT   cEnd;
  233.         USHORT   cx;
  234.         USHORT   attr;
  235.         } VIOCURSORINFO;
  236. typedef VIOCURSORINFO FAR *PVIOCURSORINFO;
  237.  
  238. USHORT APIENTRY VioGetCurType(PVIOCURSORINFO, HVIO);
  239. USHORT APIENTRY VioSetCurType(PVIOCURSORINFO, HVIO);
  240.  
  241. /* VIOMODEINFO.color constants */
  242.  
  243. #define COLORS_2   0x0001
  244. #define COLORS_4   0x0002
  245. #define COLORS_16  0x0004
  246.  
  247. /* structure for VioSet/GetMode() */
  248. typedef struct _VIOMODEINFO {   /* viomi */
  249.         USHORT cb;
  250.         UCHAR  fbType;
  251.         UCHAR  color;
  252.         USHORT col;
  253.         USHORT row;
  254.         USHORT hres;
  255.         USHORT vres;
  256.         } VIOMODEINFO;
  257. typedef VIOMODEINFO FAR *PVIOMODEINFO;
  258.  
  259. #define VGMT_OTHER          0x01
  260. #define VGMT_GRAPHICS       0x02
  261. #define VGMT_DISABLEBURST   0x04
  262.  
  263. USHORT APIENTRY VioGetMode(PVIOMODEINFO, HVIO);
  264. USHORT APIENTRY VioSetMode(PVIOMODEINFO, HVIO);
  265.  
  266. /* structure for VioGetPhysBuf() */
  267.  
  268. typedef struct _VIOPHYSBUF {    /* viopb */
  269.         PBYTE    pBuf;
  270.         ULONG    cb;
  271.         SEL      asel[1];
  272.         } VIOPHYSBUF;
  273. typedef VIOPHYSBUF far *PVIOPHYSBUF;
  274.  
  275. USHORT APIENTRY VioGetPhysBuf(PVIOPHYSBUF, USHORT);
  276.  
  277. USHORT APIENTRY VioReadCellStr(PCH, PUSHORT, USHORT, USHORT, HVIO);
  278. USHORT APIENTRY VioReadCharStr(PCH, PUSHORT, USHORT, USHORT, HVIO);
  279. USHORT APIENTRY VioWrtCellStr(PCH, USHORT, USHORT, USHORT, HVIO);
  280. USHORT APIENTRY VioWrtCharStr(PCH, USHORT, USHORT, USHORT, HVIO);
  281.  
  282. USHORT APIENTRY VioScrollDn(USHORT, USHORT, USHORT, USHORT,
  283.                             USHORT, PBYTE,  HVIO);
  284. USHORT APIENTRY VioScrollUp(USHORT, USHORT, USHORT, USHORT,
  285.                             USHORT, PBYTE,  HVIO);
  286. USHORT APIENTRY VioScrollLf(USHORT, USHORT, USHORT, USHORT,
  287.                             USHORT, PBYTE,  HVIO);
  288. USHORT APIENTRY VioScrollRt(USHORT, USHORT, USHORT, USHORT,
  289.                             USHORT, PBYTE,  HVIO);
  290.  
  291. USHORT APIENTRY VioWrtNAttr(PBYTE, USHORT, USHORT, USHORT, HVIO);
  292. USHORT APIENTRY VioWrtNCell(PBYTE, USHORT, USHORT, USHORT, HVIO);
  293. USHORT APIENTRY VioWrtNChar(PCH, USHORT, USHORT, USHORT, HVIO);
  294. USHORT APIENTRY VioWrtTTY(PCH, USHORT, HVIO);
  295. USHORT APIENTRY VioWrtCharStrAtt(PCH, USHORT, USHORT, USHORT, PBYTE, HVIO);
  296.  
  297. USHORT APIENTRY VioShowBuf(USHORT, USHORT, HVIO);
  298.  
  299.  
  300. #define ANSI_ON     1
  301. #define ANSI_OFF    0
  302.  
  303. USHORT APIENTRY VioSetAnsi(USHORT, HVIO);
  304. USHORT APIENTRY VioGetAnsi(PUSHORT, HVIO);
  305.  
  306. USHORT APIENTRY VioPrtSc(HVIO);
  307. USHORT APIENTRY VioPrtScToggle(HVIO);
  308.  
  309. #define VSRWI_SAVEANDREDRAW  0
  310. #define VSRWI_REDRAW         1
  311.  
  312. #define VSRWN_SAVE           0
  313. #define VSRWN_REDRAW         1
  314.  
  315. #define UNDOI_GETOWNER       0
  316. #define UNDOI_RELEASEOWNER   1
  317.  
  318. #define UNDOK_ERRORCODE      0
  319. #define UNDOK_TERMINATE      1
  320.  
  321. USHORT APIENTRY VioSavRedrawWait(USHORT, PUSHORT, USHORT);
  322. USHORT APIENTRY VioSavRedrawUndo(USHORT, USHORT, USHORT);
  323.  
  324. #define VMWR_POPUP  0
  325. #define VMWN_POPUP  0
  326.  
  327. USHORT APIENTRY VioModeWait(USHORT, PUSHORT, USHORT);
  328. USHORT APIENTRY VioModeUndo(USHORT, USHORT, USHORT);
  329.  
  330. #define LOCKIO_NOWAIT   0
  331. #define LOCKIO_WAIT     1
  332.  
  333. #define LOCK_SUCCESS    0
  334. #define LOCK_FAIL       1
  335.  
  336. USHORT APIENTRY VioScrLock(USHORT, PUCHAR, HVIO);
  337. USHORT APIENTRY VioScrUnLock(HVIO);
  338.  
  339. #define VP_NOWAIT       0x0000
  340. #define VP_WAIT         0x0001
  341. #define VP_OPAQUE       0x0000
  342. #define VP_TRANSPARENT  0x0002
  343.  
  344. USHORT APIENTRY VioPopUp(PUSHORT, HVIO);
  345. USHORT APIENTRY VioEndPopUp(HVIO);
  346.  
  347. /* VIOCONFIGINFO.adapter constants */
  348.  
  349. #define DISPLAY_MONOCHROME  0x0000
  350. #define DISPLAY_CGA         0x0001
  351. #define DISPLAY_EGA         0x0002
  352. #define DISPLAY_VGA         0x0003
  353. #define DISPLAY_8514A       0x0007
  354.  
  355. /* VIOCONFIGINFO.display constants */
  356.  
  357. #define MONITOR_MONOCHROME  0x0000
  358. #define MONITOR_COLOR       0x0001
  359. #define MONITOR_ENHANCED    0x0002
  360. #define MONITOR_8503        0x0003
  361. #define MONITOR_851X_COLOR  0x0004
  362. #define MONITOR_8514        0x0009
  363.  
  364. /* structure for VioGetConfig() */
  365.  
  366. typedef struct _VIOCONFIGINFO { /* vioin */
  367.         USHORT  cb     ;
  368.         USHORT  adapter;
  369.         USHORT  display;
  370.         ULONG   cbMemory;
  371.         } VIOCONFIGINFO;
  372. typedef VIOCONFIGINFO far *PVIOCONFIGINFO;
  373.  
  374. USHORT APIENTRY VioGetConfig(USHORT, PVIOCONFIGINFO, HVIO);
  375.  
  376. /* structure for VioGet/SetFont() */
  377. typedef struct _VIOFONTINFO {   /* viofi */
  378.         USHORT  cb;
  379.         USHORT  type;
  380.         USHORT  cxCell;
  381.         USHORT  cyCell;
  382.         PVOID   pbData;
  383.         USHORT  cbData;
  384.         } VIOFONTINFO;
  385. typedef VIOFONTINFO far *PVIOFONTINFO;
  386.  
  387. #define VGFI_GETCURFONT     0
  388. #define VGFI_GETROMFONT     1
  389.  
  390. USHORT APIENTRY VioGetFont(PVIOFONTINFO, HVIO);
  391. USHORT APIENTRY VioSetFont(PVIOFONTINFO, HVIO);
  392.  
  393. USHORT APIENTRY VioGetCp(USHORT, PUSHORT, HVIO);
  394. USHORT APIENTRY VioSetCp(USHORT, USHORT, HVIO);
  395.  
  396. typedef struct _VIOPALSTATE {   /* viopal */
  397.         USHORT  cb;
  398.         USHORT  type;
  399.         USHORT  iFirst;
  400.         USHORT  acolor[1];
  401.         }VIOPALSTATE;
  402. typedef VIOPALSTATE far *PVIOPALSTATE;
  403.  
  404. typedef struct _VIOOVERSCAN {   /* vioos */
  405.         USHORT  cb;
  406.         USHORT  type;
  407.         USHORT  color;
  408.         }VIOOVERSCAN;
  409. typedef VIOOVERSCAN far *PVIOOVERSCAN;
  410.  
  411. typedef struct _VIOINTENSITY {  /* vioint */
  412.         USHORT  cb;
  413.         USHORT  type;
  414.         USHORT  fs;
  415.         }VIOINTENSITY;
  416. typedef VIOINTENSITY far *PVIOINTENSITY;
  417.  
  418. USHORT APIENTRY VioGetState(PVOID, HVIO);
  419. USHORT APIENTRY VioSetState(PVOID, HVIO);
  420.  
  421. #endif /* INCL_VIO */
  422.  
  423. #ifdef INCL_MOU
  424.  
  425. typedef SHANDLE         HMOU;
  426. typedef HMOU    far *   PHMOU;
  427.  
  428. USHORT APIENTRY MouRegister(PSZ, PSZ, ULONG);
  429.  
  430. #define MR_MOUGETNUMBUTTONS 0x00000001L
  431. #define MR_MOUGETNUMMICKEYS 0x00000002L
  432. #define MR_MOUGETDEVSTATUS  0x00000004L
  433. #define MR_MOUGETNUMQUEEL   0x00000008L
  434. #define MR_MOUREADEVENTQUE  0x00000010L
  435. #define MR_MOUGETSCALEFACT  0x00000020L
  436. #define MR_MOUGETEVENTMASK  0x00000040L
  437. #define MR_MOUSETSCALEFACT  0x00000080L
  438. #define MR_MOUSETEVENTMASK  0x00000100L
  439. #define MR_MOUOPEN          0x00000800L
  440. #define MR_MOUCLOSE         0x00001000L
  441. #define MR_MOUGETPTRSHAPE   0x00002000L
  442. #define MR_MOUSETPTRSHAPE   0x00004000L
  443. #define MR_MOUDRAWPTR       0x00008000L
  444. #define MR_MOUREMOVEPTR     0x00010000L
  445. #define MR_MOUGETPTRPOS     0x00020000L
  446. #define MR_MOUSETPTRPOS     0x00040000L
  447. #define MR_MOUINITREAL      0x00080000L
  448. #define MR_MOUSETDEVSTATUS  0x00100000L
  449.  
  450. USHORT APIENTRY MouDeRegister(void);
  451.  
  452. USHORT APIENTRY MouFlushQue(HMOU);
  453.  
  454. #define MHK_BUTTON1         0x0001
  455. #define MHK_BUTTON2         0x0002
  456. #define MHK_BUTTON3         0x0004
  457.  
  458. /* structure for MouGet/SetPtrPos() */
  459. typedef struct _PTRLOC {    /* moupl */
  460.         USHORT row;
  461.         USHORT col;
  462.         } PTRLOC;
  463. typedef PTRLOC far *PPTRLOC;
  464.  
  465. USHORT APIENTRY MouGetPtrPos(PPTRLOC, HMOU);
  466. USHORT APIENTRY MouSetPtrPos(PPTRLOC, HMOU);
  467.  
  468. /* structure for MouGet/SetPtrShape() */
  469. typedef struct _PTRSHAPE {  /* moups */
  470.         USHORT cb;
  471.         USHORT col;
  472.         USHORT row;
  473.         USHORT colHot;
  474.         USHORT rowHot;
  475.         } PTRSHAPE;
  476. typedef PTRSHAPE far *PPTRSHAPE;
  477.  
  478. USHORT APIENTRY MouSetPtrShape(PBYTE, PPTRSHAPE, HMOU);
  479. USHORT APIENTRY MouGetPtrShape(PBYTE, PPTRSHAPE, HMOU);
  480.  
  481. /* MouGetDevStatus/MouSetDevStatus device status constants */
  482.  
  483. #define MOUSE_QUEUEBUSY         0x0001
  484. #define MOUSE_BLOCKREAD         0x0002
  485. #define MOUSE_FLUSH             0x0004
  486. #define MOUSE_UNSUPPORTED_MODE  0x0008
  487. #define MOUSE_DISABLED          0x0100
  488. #define MOUSE_MICKEYS           0x0200
  489.  
  490. USHORT APIENTRY MouGetDevStatus(PUSHORT, HMOU);
  491.  
  492. USHORT APIENTRY MouGetNumButtons(PUSHORT, HMOU);
  493. USHORT APIENTRY MouGetNumMickeys(PUSHORT, HMOU);
  494.  
  495. /* MouReadEventQue */
  496.  
  497. #define MOU_NOWAIT  0x0000
  498. #define MOU_WAIT    0x0001
  499.  
  500. /* structure for MouReadEventQue() */
  501. typedef struct _MOUEVENTINFO {  /* mouev */
  502.         USHORT fs;
  503.         ULONG  time;
  504.         USHORT row;
  505.         USHORT col;
  506.         }MOUEVENTINFO;
  507. typedef MOUEVENTINFO far *PMOUEVENTINFO;
  508.  
  509. USHORT APIENTRY MouReadEventQue(PMOUEVENTINFO, PUSHORT, HMOU);
  510.  
  511. /* structure for MouGetNumQueEl() */
  512. typedef struct _MOUQUEINFO {    /* mouqi */
  513.         USHORT cEvents;
  514.         USHORT cmaxEvents;
  515.         } MOUQUEINFO;
  516. typedef MOUQUEINFO far *PMOUQUEINFO;
  517.  
  518. USHORT APIENTRY MouGetNumQueEl(PMOUQUEINFO, HMOU);
  519.  
  520. /* MouGetEventMask/MouSetEventMask events */
  521.  
  522. #define MOUSE_MOTION                0x0001
  523. #define MOUSE_MOTION_WITH_BN1_DOWN  0x0002
  524. #define MOUSE_BN1_DOWN              0x0004
  525. #define MOUSE_MOTION_WITH_BN2_DOWN  0x0008
  526. #define MOUSE_BN2_DOWN              0x0010
  527. #define MOUSE_MOTION_WITH_BN3_DOWN  0x0020
  528. #define MOUSE_BN3_DOWN              0x0040
  529.  
  530.  
  531. USHORT APIENTRY MouGetEventMask(PUSHORT, HMOU);
  532. USHORT APIENTRY MouSetEventMask(PUSHORT, HMOU);
  533.  
  534. /* structure for MouGet/SetScaleFact() */
  535. typedef struct _SCALEFACT { /* mousc */
  536.         USHORT rowScale;
  537.         USHORT colScale;
  538.         } SCALEFACT;
  539. typedef SCALEFACT far *PSCALEFACT;
  540.  
  541. USHORT APIENTRY MouGetScaleFact(PSCALEFACT, HMOU);
  542. USHORT APIENTRY MouSetScaleFact(PSCALEFACT, HMOU);
  543.  
  544. USHORT APIENTRY MouOpen(PSZ, PHMOU);
  545. USHORT APIENTRY MouClose(HMOU);
  546.  
  547. /* structure for MouRemovePtr() */
  548. typedef struct _NOPTRRECT { /* mourt */
  549.         USHORT row;
  550.         USHORT col;
  551.         USHORT cRow;
  552.         USHORT cCol;
  553.         } NOPTRRECT;
  554. typedef NOPTRRECT far *PNOPTRRECT;
  555.  
  556. USHORT APIENTRY MouRemovePtr(PNOPTRRECT, HMOU);
  557.  
  558. USHORT APIENTRY MouDrawPtr(HMOU);
  559.  
  560. #define MOU_NODRAW   0x0001
  561. #define MOU_DRAW     0x0000
  562. #define MOU_MICKEYS  0x0002
  563. #define MOU_PELS     0x0000
  564.  
  565. USHORT APIENTRY MouSetDevStatus(PUSHORT, HMOU);
  566. USHORT APIENTRY MouInitReal(PSZ);
  567.  
  568. USHORT APIENTRY MouSynch(USHORT);
  569.  
  570. #endif /* INCL_MOU */
  571.