home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / softcrc / masm / masm.600 / disk3.os / include / bsesub.in$ / bsesub.bin
Encoding:
Text File  |  1991-02-28  |  21.7 KB  |  794 lines

  1. ;
  2. ; Module Name: BSESUB.INC
  3. ;
  4. ; OS/2 Base Include File
  5. ;
  6. ; Copyright (c) 1987-1990, Microsoft Corporation.  All rights reserved.
  7. ;
  8. ; *********************************************************************
  9. ;
  10. ; Subcomponents marked with "+" are partially included by default
  11. ;   #define:          To include:
  12. ;
  13. ;   INCL_KBD          KBD
  14. ;   INCL_VIO          VIO
  15. ;   INCL_MOU          MOU
  16.  
  17. IFDEF  INCL_SUB
  18. INCL_KBD        EQU     1
  19. INCL_VIO        EQU     1
  20. INCL_MOU        EQU     1
  21. ENDIF ; INCL_SUB
  22.  
  23. IF DEFINED( INCL_KBD ) AND DEFINED( INCL_VIO ) AND DEFINED( INCL_MOU )
  24. BSESUB_INCLUDED EQU     1
  25. ENDIF
  26.  
  27. IFDEF INCL_KBD
  28. HKBD        TYPEDEF        WORD
  29. PHKBD           TYPEDEF         FAR PTR HKBD
  30.  
  31. KbdRegister     PROTO FAR PASCAL \
  32.                 pszModName:PSZ, pszEntryPt:PSZ, FunMask:DWORD
  33.  
  34. KR_KBDCHARIN            EQU     0001h
  35. KR_KBDPEEK              EQU     0002h
  36. KR_KBDFLUSHBUFFER       EQU     0004h
  37. KR_KBDGETSTATUS         EQU     0008h
  38. KR_KBDSETSTATUS         EQU     0010h
  39. KR_KBDSTRINGIN          EQU     0020h
  40. KR_KBDOPEN              EQU     0040h
  41. KR_KBDCLOSE             EQU     0080h
  42. KR_KBDGETFOCUS          EQU     0100h
  43. KR_KBDFREEFOCUS         EQU     0200h
  44. KR_KBDGETCP             EQU     0400h
  45. KR_KBDSETCP             EQU     0800h
  46. KR_KBDXLATE             EQU     1000h
  47. KR_KBDSETCUSTXT         EQU     2000h
  48.  
  49. IO_WAIT                 EQU     0
  50. IO_NOWAIT               EQU     1
  51.  
  52. KbdDeRegister   PROTO FAR PASCAL
  53.  
  54. ; KBDKEYINFO structure, for KbdCharIn and KbdPeek
  55.  
  56. IFNDEF  KBDKEYINFO
  57. KBDKEYINFO      STRUCT  2 ; kbci
  58. chChar_         BYTE    0
  59. chScan_         BYTE    0
  60. fbStatus_       BYTE    0
  61. bNlsShift_      BYTE    0
  62. fsState_        WORD    0
  63. time_           DWORD   0
  64. KBDKEYINFO      ENDS
  65. PKBDKEYINFO     TYPEDEF FAR PTR KBDKEYINFO
  66. ENDIF
  67.  
  68. KbdCharIn       PROTO FAR PASCAL \
  69.                 pkbci:PKBDKEYINFO, fWaitFor:WORD, hk:HKBD
  70.  
  71. KbdPeek         PROTO FAR PASCAL \
  72.                 pkbci:PKBDKEYINFO, hk:HKBD
  73.  
  74. ; structure for KbdStringIn
  75. IFNDEF STRINGINBUF
  76. STRINGINBUF     STRUCT  2 ; kbsi
  77. cb_             WORD    0
  78. cchIn_          WORD    0
  79. STRINGINBUF     ENDS
  80. PSTRINGINBUF    TYPEDEF FAR PTR STRINGINBUF
  81. ENDIF
  82.  
  83. KbdStringIn     PROTO FAR PASCAL \
  84.                 pch:PCHAR, pchIn:PSTRINGINBUF, fsWait:WORD, hk:HKBD
  85.  
  86. KbdFlushBuffer  PROTO FAR PASCAL \
  87.                 hk:HKBD
  88.  
  89. ; KBDINFO.fsMask
  90.  
  91. KEYBOARD_ECHO_ON                EQU     0001h
  92. KEYBOARD_ECHO_OFF               EQU     0002h
  93. KEYBOARD_BINARY_MODE            EQU     0004h
  94. KEYBOARD_ASCII_MODE             EQU     0008h
  95. KEYBOARD_MODIFY_STATE           EQU     0010h
  96. KEYBOARD_MODIFY_INTERIM         EQU     0020h
  97. KEYBOARD_MODIFY_TURNAROUND      EQU     0040h
  98. KEYBOARD_2B_TURNAROUND          EQU     0080h
  99. KEYBOARD_SHIFT_REPORT           EQU     0100h
  100.  
  101. IFNDEF INCL_DOSDEVIOCTL         ; following constants defined in bsedev.h
  102.  
  103. ; KBDINFO.fsState/KBDKEYINFO.fsState/KBDTRANS.fsState
  104.  
  105. RIGHTSHIFT      EQU     0001h
  106. LEFTSHIFT       EQU     0002h
  107. CONTROL         EQU     0004h
  108. ALT             EQU     0008h
  109. SCROLLLOCK_ON   EQU     0010h
  110. NUMLOCK_ON      EQU     0020h
  111. CAPSLOCK_ON     EQU     0040h
  112. INSERT_ON       EQU     0080h
  113. LEFTCONTROL     EQU     0100h
  114. LEFTALT         EQU     0200h
  115. RIGHTCONTROL    EQU     0400h
  116. RIGHTALT        EQU     0800h
  117. SCROLLLOCK      EQU     1000h
  118. NUMLOCK         EQU     2000h
  119. CAPSLOCK        EQU     4000h
  120. SYSREQ          EQU     8000h
  121.  
  122. ENDIF ; INCL_DOSDEVIOCTL
  123.  
  124. ; KBDINFO structure, for KbdSet/GetStatus
  125. IFNDEF KBDINFO
  126. KBDINFO         STRUCT  2 ; kbst
  127. cb_             WORD    0
  128. fsMask_         WORD    0
  129. chTurnAround_   WORD    0
  130. fsInterim_      WORD    0
  131. fsState_        WORD    0
  132. KBDINFO         ENDS
  133. PKBDINFO        TYPEDEF FAR PTR KBDINFO
  134. ENDIF
  135.  
  136. KbdSetStatus    PROTO FAR PASCAL \
  137.                 pkbdinfo:PKBDINFO, hk:HKBD
  138.  
  139. KbdGetStatus    PROTO FAR PASCAL \
  140.                 pkbdinfo:PKBDINFO, hdbd:WORD
  141.  
  142. KbdSetCp        PROTO FAR PASCAL \
  143.                 usReserved:WORD, pidCP:WORD, hk:HKBD
  144.  
  145. KbdGetCp        PROTO FAR PASCAL \
  146.                 ulReserved:DWORD, pidCP:PWORD, hk:HKBD
  147.  
  148. KbdOpen         PROTO FAR PASCAL \
  149.                 phk:PHKBD
  150.  
  151. KbdClose        PROTO FAR PASCAL \
  152.                 hk:HKBD
  153.  
  154. KbdGetFocus     PROTO FAR PASCAL \
  155.                 fWaitFor:WORD, hk:HKBD
  156.  
  157. KbdFreeFocus    PROTO FAR PASCAL \
  158.                 hk:HKBD
  159.  
  160. KbdSynch        PROTO FAR PASCAL \
  161.                 fsWait:WORD
  162.  
  163. KbdSetFgnd      PROTO FAR PASCAL
  164.  
  165. ; KBDTRANS.fbStatus
  166.  
  167. SHIFT_KEY_IN            EQU     0001h
  168. CONVERSION_REQUEST      EQU     0020h
  169. FINAL_CHAR_IN           EQU     0040h
  170. INTERIM_CHAR_IN         EQU     0080h
  171.  
  172. KEYBOARD_AT_COMPATABLE  EQU     00001h
  173. KEYBOARD_ENHANCED_101   EQU     0AB41h
  174. KEYBOARD_ENHANCED_102   EQU     0AB41h
  175. KEYBOARD_ENHANCED_122   EQU     0AB85h
  176. KEYBOARD_SPACESAVER     EQU     0AB54h
  177.  
  178. ; structure for KbdGetHWID
  179. IFNDEF KBDHWID
  180. KBDHWID         STRUCT  2 ; kbhw
  181. cb_             WORD    0
  182. idKbd_          WORD    0
  183. usReserved1_    WORD    0
  184. usReserved2_    WORD    0
  185. KBDHWID         ENDS
  186. PKBDHWID        TYPEDEF FAR PTR KBDHWID
  187. ENDIF
  188.  
  189. KbdGetHWID      PROTO FAR PASCAL \
  190.                 pkbdhwid:PKBDHWID, hk:HKBD
  191.  
  192. ; structure for KbdXlate
  193. IFNDEF  KBDTRANS
  194. KBDTRANS        STRUCT  2 ; kbxl
  195. chChar_         BYTE    0
  196. chScan_         BYTE    0
  197. fbStatus_       BYTE    0
  198. bNlsShift_      BYTE    0
  199. fsState_        WORD    0
  200. time_           DWORD   0
  201. fsDD_           WORD    0
  202. fsXlate_        WORD    0
  203. fsShift_        WORD    0
  204. sZero_          WORD    0
  205. KBDTRANS        ENDS
  206. PKBDTRANS       TYPEDEF FAR PTR KBDTRANS
  207. ENDIF
  208.  
  209. KbdXlate        PROTO FAR PASCAL \
  210.                 pkbdtrans:PKBDTRANS, hk:HKBD
  211.  
  212. KbdSetCustXt    PROTO FAR PASCAL \
  213.                 pusCodePage:FAR PTR WORD, hk:HKBD
  214.  
  215. ENDIF ; INCL_KBD
  216.  
  217. IFDEF INCL_VIO
  218.  
  219. HVIO            TYPEDEF         WORD
  220. PHVIO           TYPEDEF         FAR PTR HVIO
  221.  
  222. VioRegister     PROTO FAR PASCAL \
  223.                 pszModName:PSZ, pszEntryName:PSZ, flFun1:DWORD, flFun2:DWORD
  224.  
  225. ; first parameter registration constants
  226. VR_VIOGETCURPOS         EQU     000000001h
  227. VR_VIOGETCURTYPE        EQU     000000002h
  228. VR_VIOGETMODE           EQU     000000004h
  229. VR_VIOGETBUF            EQU     000000008h
  230. VR_VIOGETPHYSBUF        EQU     000000010h
  231. VR_VIOSETCURPOS         EQU     000000020h
  232. VR_VIOSETCURTYPE        EQU     000000040h
  233. VR_VIOSETMODE           EQU     000000080h
  234. VR_VIOSHOWBUF           EQU     000000100h
  235. VR_VIOREADCHARSTR       EQU     000000200h
  236. VR_VIOREADCELLSTR       EQU     000000400h
  237. VR_VIOWRTNCHAR          EQU     000000800h
  238. VR_VIOWRTNATTR          EQU     000001000h
  239. VR_VIOWRTNCELL          EQU     000002000h
  240. VR_VIOWRTTTY            EQU     000004000h
  241. VR_VIOWRTCHARSTR        EQU     000008000h
  242.  
  243. VR_VIOWRTCHARSTRATT     EQU     000010000h
  244. VR_VIOWRTCELLSTR        EQU     000020000h
  245. VR_VIOSCROLLUP          EQU     000040000h
  246. VR_VIOSCROLLDN          EQU     000080000h
  247. VR_VIOSCROLLLF          EQU     000100000h
  248. VR_VIOSCROLLRT          EQU     000200000h
  249. VR_VIOSETANSI           EQU     000400000h
  250. VR_VIOGETANSI           EQU     000800000h
  251. VR_VIOPRTSC             EQU     001000000h
  252. VR_VIOSCRLOCK           EQU     002000000h
  253. VR_VIOSCRUNLOCK         EQU     004000000h
  254. VR_VIOSAVREDRAWWAIT     EQU     008000000h
  255. VR_VIOSAVREDRAWUNDO     EQU     010000000h
  256. VR_VIOPOPUP             EQU     020000000h
  257. VR_VIOENDPOPUP          EQU     040000000h
  258. VR_VIOPRTSCTOGGLE       EQU     080000000h
  259.  
  260. ; second parameter registration constants
  261. VR_VIOMODEWAIT          EQU     000000001h
  262. VR_VIOMODEUNDO          EQU     000000002h
  263. VR_VIOGETFONT           EQU     000000004h
  264. VR_VIOGETCONFIG         EQU     000000008h
  265. VR_VIOSETCP             EQU     000000010h
  266. VR_VIOGETCP             EQU     000000020h
  267. VR_VIOSETFONT           EQU     000000040h
  268. VR_VIOGETSTATE          EQU     000000080h
  269. VR_VIOSETSTATE          EQU     000000100h
  270.  
  271. VioDeRegister   PROTO FAR PASCAL
  272.  
  273. VioGetBuf       PROTO FAR PASCAL \
  274.                 pLVB:PDWORD, pcbLVB:PWORD, hv:HVIO
  275.  
  276. VioGetCurPos    PROTO FAR PASCAL \
  277.                 pusRow:PWORD, pusColumn:PWORD, hv:HVIO
  278.  
  279. VioSetCurPos    PROTO FAR PASCAL \
  280.                 usRow:WORD, usColumn:WORD, hv:HVIO
  281.  
  282. ; Structure for VioSet/GetCurType
  283. IFNDEF VIOCURSORINFO
  284. VIOCURSORINFO   STRUCT  2 ; vioci
  285. yStart_         WORD    0
  286. cEnd_           WORD    0
  287. cx_             WORD    0
  288. attr_           WORD    0
  289. VIOCURSORINFO   ENDS
  290. PVIOCURSORINFO  TYPEDEF FAR PTR VIOCURSORINFO
  291. ENDIF
  292.  
  293. VioGetCurType   PROTO FAR PASCAL \
  294.                 pvioCursorInfo:PVIOCURSORINFO, hv:HVIO
  295.  
  296. VioSetCurType   PROTO FAR PASCAL \
  297.                 pvioCursorInfo:PVIOCURSORINFO, hv:HVIO
  298.  
  299. ; VIOMODEINFO.color constants
  300.  
  301. COLORS_2        EQU     0001h
  302. COLORS_4        EQU     0002h
  303. COLORS_16       EQU     0004h
  304.  
  305. ; structure for VioSet/GetMode
  306. IFNDEF VIOMODEINFO
  307. VIOMODEINFO     STRUCT  2 ; viomi
  308. cb_             WORD    0
  309. fbType_         BYTE    0
  310. color_          BYTE    0
  311. col_            WORD    0
  312. row_            WORD    0
  313. hres_           WORD    0
  314. vres_           WORD    0
  315. fmt_ID_         BYTE    0
  316. attrib_         BYTE    0
  317. buf_addr_       DWORD   0
  318. buf_length_     DWORD   0
  319. full_length_    DWORD   0
  320. partial_length_ DWORD   0
  321. ext_data_addr_  PCH     0
  322. VIOMODEINFO     ENDS
  323. PVIOMODEINFO    TYPEDEF FAR PTR VIOMODEINFO
  324. ENDIF
  325.  
  326. VGMT_OTHER              EQU     01h
  327. VGMT_GRAPHICS           EQU     02h
  328. VGMT_DISABLEBURST       EQU     04h
  329.  
  330. VioGetMode      PROTO FAR PASCAL \
  331.                 pvioModeInfo:PVIOMODEINFO, hv:HVIO
  332.  
  333. VioSetMode      PROTO FAR PASCAL \
  334.                 pvioModeInfo:PVIOMODEINFO, hv:HVIO
  335.  
  336. ; structure for VioGetPhysBuf
  337. IFNDEF VIOPHYSBUF
  338. VIOPHYSBUF      STRUCT  2 ; viopb
  339. pBuf_           PBYTE   0
  340. cb_             DWORD   0
  341. asel_           WORD    1 DUP (0)
  342. VIOPHYSBUF      ENDS
  343. PVIOPHYSBUF     TYPEDEF FAR PTR VIOPHYSBUF
  344. ENDIF
  345.  
  346. VioGetPhysBuf   PROTO FAR PASCAL \
  347.                 vioPhysBuf:PVIOPHYSBUF, usReserved:WORD
  348.  
  349. VioReadCellStr  PROTO FAR PASCAL \
  350.                 pchCellStr:PBYTE, pcb:PWORD,
  351.                 usRow:WORD, usColumn:WORD, hv:HVIO
  352.  
  353. VioReadCharStr  PROTO FAR PASCAL \
  354.                 pchCellStr:PBYTE, pcb:PWORD,
  355.                 usRow:WORD, usColumn:WORD, hv:HVIO
  356.  
  357. VioWrtCellStr   PROTO FAR PASCAL \
  358.                 pchCellStr:PBYTE, cb:WORD,
  359.                 usRow:WORD, usColumn:WORD, hv:HVIO
  360.  
  361. VioWrtCharStr   PROTO FAR PASCAL \
  362.                 pchStr:FAR PTR BYTE, cb:WORD,
  363.                 usRow:WORD, usColumn:WORD, hv:HVIO
  364.  
  365. VioScrollDn     PROTO FAR PASCAL \
  366.                 usTopRow:WORD, usLeftCol:WORD,
  367.                 usBotRow:WORD, usRightCol:WORD,
  368.                 cbLines:WORD, pCell:PBYTE, hv:HVIO
  369.  
  370. VioScrollUp     PROTO FAR PASCAL \
  371.                 usTopRow:WORD, usLeftCol:WORD,
  372.                 usBotRow:WORD, usRightCol:WORD,
  373.                 cbLines:WORD, pCell:PBYTE, hv:HVIO
  374.  
  375. VioScrollLf     PROTO FAR PASCAL \
  376.                 usTopRow:WORD, usLeftCol:WORD,
  377.                 usBotRow:WORD, usRightCol:WORD,
  378.                 cbCol:WORD, pCell:PBYTE, hv:HVIO
  379.  
  380. VioScrollRt     PROTO FAR PASCAL \
  381.                 usTopRow:WORD, usLeftCol:WORD,
  382.                 usBotRow:WORD, usRightCol:WORD,
  383.                 cbCol:WORD, pCell:PBYTE, hv:HVIO
  384.  
  385. VioWrtNAttr     PROTO FAR PASCAL \
  386.                 pAttr:PBYTE, cb:WORD,
  387.                 usRow:WORD, usColumn:WORD, hv:HVIO
  388.  
  389. VioWrtNCell     PROTO FAR PASCAL \
  390.                 pCell:PBYTE, cb:WORD, usRow:WORD, usColumn:WORD, hv:HVIO
  391.  
  392. VioWrtNChar     PROTO FAR PASCAL \
  393.                 pchChar:PBYTE, cb:WORD, usRow:WORD, usColumn:WORD, hv:HVIO
  394.  
  395. VioWrtTTY       PROTO FAR PASCAL \
  396.                 pch:PBYTE, cb:WORD, hv:HVIO
  397.  
  398. VioWrtCharStrAtt PROTO FAR PASCAL \
  399.                 pch:PBYTE, cb:WORD, usRow:WORD, usColumn:WORD,
  400.                 pAttr:PBYTE, hv:HVIO
  401.  
  402. VioShowBuf      PROTO FAR PASCAL \
  403.                 offLVB:WORD, cb:WORD, hv:HVIO
  404.  
  405. ANSI_ON         EQU     1
  406. ANSI_OFF        EQU     0
  407.  
  408. VioSetAnsi      PROTO FAR PASCAL \
  409.                 fAnsi:WORD, hv:HVIO
  410.  
  411. VioGetAnsi      PROTO FAR PASCAL \
  412.                 pfAnsi:PWORD, hv:HVIO
  413.  
  414. VioPrtSc        PROTO FAR PASCAL \
  415.                 hv:HVIO
  416.  
  417. VioPrtScToggle  PROTO FAR PASCAL \
  418.                 hv:HVIO
  419.  
  420. VSRWI_SAVEANDREDRAW     EQU     0
  421. VSRWI_REDRAW            EQU     1
  422.  
  423. VSRWN_SAVE              EQU     0
  424. VSRWN_REDRAW            EQU     1
  425.  
  426. UNDOI_GETOWNER          EQU     0
  427. UNDOI_RELEASEOWNER      EQU     1
  428.  
  429. UNDOK_ERRORCODE         EQU     0
  430. UNDOK_TERMINATE         EQU     1
  431.  
  432. VioRedrawSize   PROTO FAR PASCAL \
  433.                 pcbRedraw:PDWORD
  434.  
  435. VioSavRedrawWait PROTO FAR PASCAL \
  436.                 usRedrawInd:WORD, pNotifyType:PWORD, usReserved:WORD
  437.  
  438. VioSavRedrawUndo PROTO FAR PASCAL \
  439.                 usOwnerInd:WORD, usKillInd:WORD, usReserved:WORD
  440.  
  441. VMWR_POPUP      EQU     0
  442. VMWN_POPUP      EQU     0
  443.  
  444. VioModeWait     PROTO FAR PASCAL \
  445.                 usReqType:WORD, pNotifyType:PWORD, usReserved:WORD
  446.  
  447. VioModeUndo     PROTO FAR PASCAL \
  448.                 usOwnerInd:WORD, usKillInd:WORD, usReserved:WORD
  449.  
  450. LOCKIO_NOWAIT   EQU     0
  451. LOCKIO_WAIT     EQU     1
  452.  
  453. LOCK_SUCCESS    EQU     0
  454. LOCK_FAIL       EQU     1
  455.  
  456. VioScrLock      PROTO FAR PASCAL \
  457.                 fWaitFor:WORD, pfNotLocked:PBYTE, hv:HVIO
  458.  
  459. VioScrUnLock    PROTO FAR PASCAL \
  460.                 hv:HVIO
  461.  
  462. VP_NOWAIT       EQU     0000h
  463. VP_WAIT         EQU     0001h
  464. VP_OPAQUE       EQU     0000h
  465. VP_TRANSPARENT  EQU     0002h
  466.  
  467. VioPopUp        PROTO FAR PASCAL \
  468.                 pfWaitFor:PWORD, hv:HVIO
  469.  
  470. VioEndPopUp     PROTO FAR PASCAL \
  471.                 hv:HVIO
  472.  
  473. ; structure for VioGetConfig
  474.  
  475. ; VIOCONFIGINFO.adapter constants
  476.  
  477. DISPLAY_MONOCHROME      EQU             0
  478. DISPLAY_CGA        EQU        1
  479. DISPLAY_EGA        EQU        2
  480. DISPLAY_VGA        EQU        3
  481. DISPLAY_8514A        EQU        7
  482.  
  483. ; VIOCONFIGINFO.display constants
  484. MONITOR_MONOCHROME      EQU             0
  485. MONITOR_COLOR        EQU        1
  486. MONITOR_ENHANCED        EQU             2
  487. MONITOR_8503        EQU        3
  488. MONITOR_851X_COLOR      EQU             4
  489. MONITOR_8514        EQU        9
  490.  
  491.  
  492. IFNDEF VIOCONFIGINFO
  493. VIOCONFIGINFO   STRUCT  2 ; vioin
  494. cb_             WORD    0
  495. adapter_        WORD    0
  496. display_        WORD    0
  497. cbMemory_       DWORD   0
  498. Configuration_  WORD    0
  499. VDHVersion_     WORD    0
  500. Flags_          WORD    0
  501. HWBufferSize_   DWORD   0
  502. FullSaveSize_   DWORD   0
  503. PartSaveSize_   DWORD   0
  504. EMAdaptersOFF_  WORD    0
  505. EMDisplaysOFF_  WORD    0
  506. VIOCONFIGINFO   ENDS
  507. PVIOCONFIGINFO  TYPEDEF FAR PTR VIOCONFIGINFO
  508. ENDIF
  509.  
  510. VioGetConfig    PROTO FAR PASCAL \
  511.                 usConfigId:WORD, pvioin:PVIOCONFIGINFO, hv:HVIO
  512.  
  513. ; structure for VioGet/SetFont
  514. IFNDEF VIOFONTINFO
  515. VIOFONTINFO     STRUCT  2 ; viofi
  516. cb_             WORD    0
  517. type_           WORD    0
  518. cxCell_         WORD    0
  519. cyCell_         WORD    0
  520. pbData_         PVOID   0
  521. cbData_         WORD    0
  522. VIOFONTINFO     ENDS
  523. PVIOFONTINFO    TYPEDEF FAR PTR VIOFONTINFO
  524. ENDIF
  525.  
  526. VGFI_GETCURFONT EQU     0
  527. VGFI_GETROMFONT EQU     1
  528.  
  529. VioGetFont      PROTO FAR PASCAL \
  530.                 pviofi:PVIOFONTINFO, hv:HVIO
  531.  
  532. VioSetFont      PROTO FAR PASCAL \
  533.                 pviofi:PVIOFONTINFO, hv:HVIO
  534.  
  535. VioGetCp        PROTO FAR PASCAL \
  536.                 usReserved:WORD, pIdCodePage:PWORD, hv:HVIO
  537.  
  538. VioSetCp        PROTO FAR PASCAL \
  539.                 usReserved:WORD, idCodePage:WORD, hv:HVIO
  540.  
  541.  
  542. IFNDEF VIOPALSTATE
  543. VIOPALSTATE     STRUCT  2 ; viopal
  544. cb_             WORD    0
  545. type_           WORD    0
  546. iFirst_         WORD    0
  547. acolor_         PWORD   0
  548. VIOPALSTATE     ENDS
  549. PVIOPALSTATE    TYPEDEF FAR PTR VIOPALSTATE
  550. ENDIF
  551.  
  552. IFNDEF VIOOVERSCAN
  553. VIOOVERSCAN     STRUCT  2 ; vioos
  554. cb_             WORD    0
  555. type_           WORD    0
  556. color_          WORD    0
  557. VIOOVERSCAN     ENDS
  558. PVIOOVERSCAN    TYPEDEF FAR PTR VIOOVERSCAN
  559. ENDIF
  560.  
  561. IFNDEF VIOINTENSITY
  562. VIOINTENSITY    STRUCT  2 ; vioint
  563. cb_             WORD    0
  564. type_           WORD    0
  565. fs_             WORD    0
  566. VIOINTENSITY    ENDS
  567. PVIOINTENSITY   TYPEDEF FAR PTR VIOINTENSITY
  568. ENDIF
  569.  
  570. IFNDEF VIOCOLORREG
  571. VIOCOLORREG     STRUCT  2 ; viocreg
  572. cb_             WORD    0
  573. type_           WORD    0
  574. firstcolorreg_  WORD    0
  575. numcolorregs_   WORD    0
  576. colorregaddr_   PCH     0
  577. VIOCOLORREG     ENDS
  578. PVIOCOLORREG    TYPEDEF FAR PTR VIOCOLORREG
  579. ENDIF
  580.  
  581. IFNDEF VIOSETULINELOC
  582. VIOSETULINELOC  STRUCT  2 ; viouline
  583. cb_             WORD    0
  584. type_           WORD    0
  585. scanline_       WORD    0
  586. VIOSETULINELOC  ENDS
  587. PVIOSETULINELOC TYPEDEF FAR PTR VIOSETULINELOC
  588. ENDIF
  589.  
  590. IFNDEF VIOSETTARGET
  591. VIOSETTARGET    STRUCT  2 ; viosett
  592. cb_             WORD    0
  593. type_           WORD    0
  594. defaultalgorithm_       WORD   0
  595. VIOSETTARGET    ENDS
  596. PVIOSETTARGET   TYPEDEF FAR PTR VIOSETTARGET
  597. ENDIF
  598.  
  599. VioGetState     PROTO FAR PASCAL \
  600.                 pState:PVOID, hv:HVIO
  601.  
  602. VioSetState     PROTO FAR PASCAL \
  603.                 pState:PVOID, hv:HVIO
  604.  
  605. ENDIF ; INCL_VIO
  606.  
  607. IFDEF INCL_MOU
  608.  
  609. HMOU        TYPEDEF        WORD
  610. PHMOU           TYPEDEF         FAR PTR HMOU
  611.  
  612. MouRegister     PROTO FAR PASCAL \
  613.                 pszModName:PSZ, pszEntryName:PSZ, flFuns:DWORD
  614.  
  615. MR_MOUGETNUMBUTTONS     EQU     00000001h
  616. MR_MOUGETNUMMICKEYS     EQU     00000002h
  617. MR_MOUGETDEVSTATUS      EQU     00000004h
  618. MR_MOUGETNUMQUEEL       EQU     00000008h
  619. MR_MOUREADEVENTQUE      EQU     00000010h
  620. MR_MOUGETSCALEFACT      EQU     00000020h
  621. MR_MOUGETEVENTMASK      EQU     00000040h
  622. MR_MOUSETSCALEFACT      EQU     00000080h
  623. MR_MOUSETEVENTMASK      EQU     00000100h
  624. MR_MOUOPEN              EQU     00000800h
  625. MR_MOUCLOSE             EQU     00001000h
  626. MR_MOUGETPTRSHAPE       EQU     00002000h
  627. MR_MOUSETPTRSHAPE       EQU     00004000h
  628. MR_MOUDRAWPTR           EQU     00008000h
  629. MR_MOUREMOVEPTR         EQU     00010000h
  630. MR_MOUGETPTRPOS         EQU     00020000h
  631. MR_MOUSETPTRPOS         EQU     00040000h
  632. MR_MOUINITREAL          EQU     00080000h
  633. MR_MOUSETDEVSTATUS      EQU     00100000h
  634.  
  635. MouDeRegister   PROTO FAR PASCAL
  636.  
  637. MouFlushQue     PROTO FAR PASCAL \
  638.                 hm:HMOU
  639.  
  640. MHK_BUTTON1             EQU     0001h
  641. MHK_BUTTON2             EQU     0002h
  642. MHK_BUTTON3             EQU     0004h
  643.  
  644. ; structure for MouGet/SetPtrPos
  645. IFNDEF PTRLOC
  646. PTRLOC          STRUCT  2 ; moupl
  647. row_            WORD    0
  648. col_            WORD    0
  649. PTRLOC          ENDS
  650. PPTRLOC         TYPEDEF FAR PTR PTRLOC
  651. ENDIF
  652.  
  653. MouGetPtrPos    PROTO FAR PASCAL \
  654.                 pmouLoc:PPTRLOC, hm:HMOU
  655.  
  656. MouSetPtrPos    PROTO FAR PASCAL \
  657.                 pmouLoc:PPTRLOC, hm:HMOU
  658.  
  659. ; structure for MouGet/SetPtrShape
  660. IFNDEF PTRSHAPE
  661. PTRSHAPE        STRUCT  2 ; moups
  662. cb_             WORD    0
  663. col_            WORD    0
  664. row_            WORD    0
  665. colHot_         WORD    0
  666. rowHot_         WORD    0
  667. PTRSHAPE        ENDS
  668. PPTRSHAPE       TYPEDEF FAR PTR PTRSHAPE
  669. ENDIF
  670.  
  671. MouSetPtrShape  PROTO FAR PASCAL \
  672.                 pBuf:PBYTE, pmoupsInfo:PPTRSHAPE, hm:HMOU
  673.  
  674. MouGetPtrShape  PROTO FAR PASCAL \
  675.                 pBuf:PBYTE, pmoupsInfo:PPTRSHAPE, hm:HMOU
  676.  
  677. ; MouGetDevStatus/MouSetDevStatus device status constants
  678. MOUSE_QUEUEBUSY         EQU     0001h
  679. MOUSE_BLOCKREAD         EQU     0002h
  680. MOUSE_FLUSH             EQU     0004h
  681. MOUSE_UNSUPPORTED_MODE  EQU     0008h
  682. MOUSE_DISABLED          EQU     0100h
  683. MOUSE_MICKEYS           EQU     0200h
  684.  
  685. MouGetDevStatus PROTO FAR PASCAL \
  686.                 pfsDevStatus:PWORD, hm:HMOU
  687.  
  688. MouGetNumButtons PROTO FAR PASCAL \
  689.                 pcButtons:PWORD, hm:HMOU
  690.  
  691. MouGetNumMickeys PROTO FAR PASCAL \
  692.                 pcMickeys:PWORD, hm:HMOU
  693.  
  694. ; MouReadEventQue
  695.  
  696. MOU_NOWAIT      EQU     0000h
  697. MOU_WAIT        EQU     0001h
  698.  
  699. ; Structure for MouReadEventQue
  700. IFNDEF MOUEVENTINFO
  701. MOUEVENTINFO    STRUCT  2 ; mouev
  702. fs_             WORD    0
  703. time_           DWORD   0
  704. row_            WORD    0
  705. col_            WORD    0
  706. MOUEVENTINFO    ENDS
  707. PMOUEVENTINFO   TYPEDEF FAR PTR MOUEVENTINFO
  708. ENDIF
  709.  
  710. MouReadEventQue PROTO FAR PASCAL \
  711.                 pmouevEvent:PMOUEVENTINFO, pfWaitFor:PWORD, hm:HMOU
  712.  
  713. ; structure for MouGetNumQueEl
  714. IFNDEF MOUQUEINFO
  715. MOUQUEINFO      STRUCT  2 ; mouqi
  716. cEvents_        WORD    0
  717. cmaxEvents_     WORD    0
  718. MOUQUEINFO      ENDS
  719. PMOUQUEINFO     TYPEDEF FAR PTR MOUQUEINFO
  720. ENDIF
  721.  
  722. MouGetNumQueEl  PROTO FAR PASCAL \
  723.                 qmouqi:PMOUQUEINFO, hm:HMOU
  724.  
  725. ; MouGetEventMask/MouSetEventMask events
  726.  
  727. MOUSE_MOTION                    EQU     0001h
  728. MOUSE_MOTION_WITH_BN1_DOWN      EQU     0002h
  729. MOUSE_BN1_DOWN                  EQU     0004h
  730. MOUSE_MOTION_WITH_BN2_DOWN      EQU     0008h
  731. MOUSE_BN2_DOWN                  EQU     0010h
  732. MOUSE_MOTION_WITH_BN3_DOWN      EQU     0020h
  733. MOUSE_BN3_DOWN                  EQU     0040h
  734.  
  735. MouGetEventMask PROTO FAR PASCAL \
  736.                 pfsEvents:PWORD, hm:HMOU
  737.  
  738. MouSetEventMask PROTO FAR PASCAL \
  739.                 pfsEvents:PWORD, hm:HMOU
  740.  
  741. ; Structure for MouGet/SetScaleFact
  742. IFNDEF SCALEFACT
  743. SCALEFACT       STRUCT  2 ; mousc
  744. rowScale_       WORD    0
  745. colScale_       WORD    0
  746. SCALEFACT       ENDS
  747. PSCALEFACT      TYPEDEF FAR PTR SCALEFACT
  748. ENDIF
  749.  
  750. MouGetScaleFact PROTO FAR PASCAL \
  751.                 pmouscFactors:PSCALEFACT, hm:HMOU
  752.  
  753. MouSetScaleFact PROTO FAR PASCAL \
  754.                 pmouscFactors:PSCALEFACT, hm:HMOU
  755.  
  756. MouOpen         PROTO FAR PASCAL \
  757.                 pszDvrName:PSZ, phm:PHMOU
  758.  
  759. MouClose        PROTO FAR PASCAL \
  760.                 hm:HMOU
  761.  
  762. ; structure for MouRemovePtr
  763. IFNDEF NOPTRRECT
  764. NOPTRRECT       STRUCT  2 ; mourt
  765. row_            WORD    0
  766. col_            WORD    0
  767. cRow_           WORD    0
  768. cCol_           WORD    0
  769. NOPTRRECT       ENDS
  770. PNOPTRRECT      TYPEDEF FAR PTR NOPTRRECT
  771. ENDIF
  772.  
  773. MouRemovePtr    PROTO FAR PASCAL \
  774.                 pmourtRect:PNOPTRRECT, hm:HMOU
  775.  
  776. MouDrawPtr      PROTO FAR PASCAL \
  777.                 hm:HMOU
  778.  
  779. MOU_NODRAW      EQU     0001h
  780. MOU_DRAW        EQU     0000h
  781. MOU_MICKEYS     EQU     0002h
  782. MOU_PELS        EQU     0000h
  783.  
  784. MouSetDevStatus PROTO FAR PASCAL \
  785.                 pfsDevStatus:PWORD, hm:HMOU
  786.  
  787. MouInitReal     PROTO FAR PASCAL \
  788.                 pszDvrName:PSZ
  789.  
  790. MouSynch        PROTO FAR PASCAL \
  791.                 fWaitFor:WORD
  792.  
  793. ENDIF ; INCL_MOU
  794.