home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / thnk11.zip / THUNKER.H < prev    next >
Text File  |  1995-03-24  |  17KB  |  406 lines

  1. /* This header written by Robert E. Canup II to allow 32 bit C to access KBD
  2. *   MOU and VIO 16-bit functions. It is to be used with the THUNKER.LIB and
  3. *   THUNKER.DLL files. It contains the information documented in Microsoft's
  4. *   "OS/2 Programmers Reference" vols 3&4, as well as information in the IBM
  5. *   book "OS/2 Programmers Guide"  by Ed Iacobucci. Header written 4/30/94
  6. *   While great care has been taken to get both this header and the
  7. *   accompanying .DLL file into a correct state, no guarantees can be given
  8. *   as to its total functionality. This code is released into the public
  9. *   domain. UNDER NO CIRCUMSTANCES SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES
  10. *   OCCURRING FROM THE USE OF THIS SOFTWARE. Note to lawyers: forget it guys;
  11. *   there are no deep pockets to put your greedy little fingers into. */
  12. /* Rev 1.1 3/24/95 This revision designed to work with THUNKER.LIB, 
  13. THUNKGCC.LIB and THUNKICC.LIB as well as their respective .DLL's.*/
  14.  
  15. #define IO_WAIT 0
  16. #define IO_NOWAIT 1
  17. #define KEYBOARD_ECHO_ON                0x0002
  18. #define KEYBOARD_ECHO_OFF               0x0001
  19. #define KEYBOARD_BINARY_MODE            0x0004
  20. #define KEYBOARD_ASCII_MODE             0x0008
  21. #define KEYBOARD_MODIFY_STATE           0x0010
  22. #define KEYBOARD_MODIFY_INTERIM         0x0020
  23. #define KEYBOARD_MODIFY_TURNAROUND      0x0040
  24. #define KEYBOARD_2B_TURNAROUND          0x0080
  25. #define KEYBOARD_SHIFT_REPORT           0x0100
  26. #define ANSI_ON                         0x0001
  27. #define ANSI_OFF                        0x0000
  28. #define KR_KBDCHARIN                    0x0001
  29. #define KR_KBDPEEK                      0x0002
  30. #define KR_KBDFLUSHBUFFER               0x0004
  31. #define KR_KBDGETSTATUS                 0x0008
  32. #define KR_KBDSETSTATUS                 0x0010
  33. #define KR_KBDSTRINGIN                  0x0020
  34. #define KR_KBDOPEN                      0x0040
  35. #define KR_KBDCLOSE                     0x0080
  36. #define KR_KBDGETFOCUS                  0x0100
  37. #define KR_KBDFREEFOCUS                 0x0200
  38. #define KR_KBDGETCP                     0x0400
  39. #define KR_KBDSETCP                     0x0800
  40. #define KR_KBDXLATE                     0x1000
  41. #define KR_KBDSETCUSTXT                 0x2000
  42. #define MOUSE_QUEUEBUSY                 0x0001
  43. #define MOUSE_BLOCKREAD                 0x0002
  44. #define MOUSE_FLUSH                     0x0004
  45. #define MOUSE_UNSUPPORTED_MODE          0x0008
  46. #define MOUSE_DISABLED                  0x0100
  47. #define MOUSE_MICKEYS                   0x0200
  48. #define MOUSE_MOTION                    0x0001
  49. #define MOUSE_MOTION_WITH_BN1_DOWN      0x0002
  50. #define MOUSE_BN1_DOWN                  0x0004
  51. #define MOUSE_MOTION_WITH_BN2_D0WN      0x0008
  52. #define MOUSE_BN2_DOWN                  0x0010
  53. #define MOUSE_MOTION_WITH_BN3_DOWN      0x0020
  54. #define MOUSE_BN3_DOWN                  0x0040
  55. #define MR_MOUGETNUMBUTTONS             0x0001
  56. #define MR_MOUGETNUMMICKEYS             0x0002
  57. #define MR_MOUGETDEVSTATUS              0x0004
  58. #define MR_MOUGETNUMQUEEL               0x0008
  59. #define MR_MOUREADEVENTQUE              0x0010
  60. #define MR_MOUGETSCALEFACT              0x0020
  61. #define MR_MOUGETEVENTMASK              0x0040
  62. #define MR_MOUOPEN                      0x0080
  63. #define MR_MOUCLOSE                     0x0100
  64. #define MR_MOUGETPTRSHAPE               0x0200
  65. #define MR_MOUSETPTRSHAPE               0x0400
  66. #define MR_MOUDRAWPTR                   0x0800
  67. #define MR_MOUREMOVEPTR                 0x1000
  68. #define MR_MOUGETPTRPOS                 0x2000
  69. #define MR_MOUSETPTRPOS                 0x4000
  70. #define MR_MOUINITREAL                  0x8000
  71. #define MR_MOUSETDEVSTATUS              0x00010000
  72. #define VR_VIOGETCURPOS                 0x00000001
  73. #define VR_VIOGETCURTYPE                0x00000002
  74. #define VR_VIOGETMODE                   0x00000004
  75. #define VR_VIOGETBUF                    0x00000008
  76. #define VR_VIOGETPHYSBUF                0x00000010
  77. #define VR_VIOSETCURPOS                 0x00000020
  78. #define VR_VIOSETCURTYPE                0x00000040
  79. #define VR_VIOSETMODE                   0x00000080
  80. #define VR_VIOSHOWBUF                   0x00000100
  81. #define VR_VIOREADCHARSTR               0x00000200
  82. #define VR_VIOREADCELLSTR               0x00000400
  83. #define VR_VIOWRTNCHAR                  0x00000800
  84. #define VR_VIOWRTNATTR                  0x00001000
  85. #define VR_VIOWRTNCELL                  0x00002000
  86. #define VR_VIOWRTTTY                    0x00004000
  87. #define VR_VIOWRTCHARSTR                0x00008000
  88. #define VR_VIOWRTCHARSTRATT             0x00010000
  89. #define VR_VIOWRTCELLSTR                0x00020000
  90. #define VR_VIOSCROLLUP                  0x00040000
  91. #define VR_VIOSCROLLDN                  0x00080000
  92. #define VR_VIOSCROLLLF                  0x00100000
  93. #define VR_VIOSCROLLRT                  0x00200000
  94. #define VR_VIOSETANSI                   0x00400000
  95. #define VR_VIOGETANSI                   0x00800000
  96. #define VR_VIOPRTSC                     0x01000000
  97. #define VR_VIOSCRLOCK                   0x02000000
  98. #define VR_VIOSCRUNLOCK                 0x04000000
  99. #define VR_VIOSAVREDRAWWAIT             0x08000000
  100. #define VR_VIOSAVREDRAWUNDO             0x10000000
  101. #define VR_VIOPOPUP                     0x20000000
  102. #define VR_VIOENDPOPUP                  0x40000000
  103. #define VR_VIOPPRTSCTOGGLE              0x80000000
  104. #define VR_VIOMODEWAIT                  0x00000001
  105. #define VR_VIOMODEUNDO                  0x00000002
  106. #define VR_VIOGETFONT                   0x00000004
  107. #define VR_VIOGETCONFIG                 0x00000008
  108. #define VR_VIOSETCP                     0x00000010
  109. #define VR_VIOGETCP                     0x00000020
  110. #define VR_VIOSETFONT                   0x00000040
  111. #define VR_VIOGETSTATE                  0x00000080
  112. #define VR_VIOSETSTATE                  0x00000100
  113.  
  114.  
  115.  
  116. typedef struct _VIOCURSORINFO{
  117.         USHORT  yStart;
  118.         USHORT  cEnd;
  119.         USHORT  cx;
  120.         USHORT  attr;
  121. } VIOCURSORINFO;
  122.  
  123. typedef struct _KBDKEYINFO{
  124.         UCHAR   chChar;
  125.         UCHAR   chScan;
  126.         UCHAR   fbStatus;
  127.         UCHAR   bNleShift;
  128.         USHORT  fsState;
  129.         ULONG   time;
  130. } KBDKEYINFO;
  131.  
  132. typedef struct _KBDINFO {
  133.         USHORT  cb;
  134.         USHORT  fsMask;
  135.         USHORT  chTurnAround;
  136.         USHORT  fsInterim;
  137.         USHORT  fsState;
  138. } KBDINFO;
  139.  
  140. typedef struct _STRINGINBUF {
  141.         USHORT  cb;
  142.         USHORT  cchIn;
  143. } STRINGINBUF ;
  144.  
  145. typedef struct _KBDTRANS {
  146.         UCHAR    chChar ;
  147.         UCHAR    chScan ;
  148.         UCHAR    fbStatus ;
  149.         UCHAR    nNleShift ;
  150.         USHORT   fsState ;
  151.         ULONG    time ;
  152.         USHORT   fsDD ;
  153.         USHORT   fsXlate ;
  154.         USHORT    fsShift ;
  155.         USHORT    sZero ;
  156. } KBDTRANS ;
  157.  
  158. typedef struct _MOUQUEINFO {
  159.         USHORT    cEvents ;
  160.         USHORT    cmaxEvents ;
  161. } MOUQUEINFO ;
  162.  
  163. typedef struct _PTRLOC {
  164.         USHORT    row ;
  165.         USHORT    col ;
  166. } PTRLOC ;
  167.  
  168. typedef struct _PTRSHAPE {
  169.         USHORT    cb ;
  170.         USHORT    col ;
  171.         USHORT    row ;
  172.         USHORT    colHot ;
  173.         USHORT    rowHot ;
  174. } PTRSHAPE ;
  175.  
  176. typedef struct _SCALEFACT {
  177.         USHORT    rowScale ;
  178.         USHORT    colScale ;
  179. } SCALEFACT ;
  180.  
  181. typedef struct _MOUEVENTINFO {
  182.         USHORT  fs;
  183.         ULONG   time;
  184.         USHORT  row;
  185.         USHORT  col;
  186. } MOUEVENTINFO;
  187.  
  188. typedef struct _NOPTRRECT {
  189.         USHORT    row ;
  190.         USHORT    col ;
  191.         USHORT    cRow ;
  192.         USHORT    cCol ;
  193. } NOPTRRECT ;
  194.  
  195.  
  196. typedef struct _VIOCONFIGINFO {
  197.         USHORT    cb ;
  198.         USHORT    adapter ;
  199.         USHORT    display ;
  200.         ULONG      cbMemory ;
  201. } VIOCONFIGINFO ;
  202.  
  203. typedef struct _VIOFONTINFO {
  204.         USHORT    cb ;
  205.         USHORT    type ;
  206.         USHORT    cxCell ;
  207.         USHORT    cyCell ;
  208.         PVOID      pbData ;
  209.         USHORT    cbData ;
  210. } VIOFONTINFO ;
  211.  
  212. typedef struct _VIOMODEINFO {
  213.         USHORT    cb ;
  214.         UCHAR     fbType ;
  215.         UCHAR     color ;
  216.         USHORT    col ;
  217.         USHORT    row ;
  218.         USHORT    hres ;
  219.         USHORT    vres ;
  220.         UCHAR     fmt_ID ;
  221.         UCHAR     attrib ;
  222.         ULONG     buf_addr ;
  223.         ULONG     buf_length ;
  224.         ULONG     partial_length ;
  225.         PCH        ext_data_addr ;
  226. } VIOMODEINFO ;
  227.  
  228. typedef struct _VIOPHYSBUF {
  229.         PBYTE      pBuf ;
  230.         ULONG      cb ;
  231.         ULONG      asel ;
  232. } VIOPHYSBUF ;
  233.  
  234. typedef struct _VIOPALSTATE {
  235.         USHORT    cb ;
  236.         USHORT    type ;
  237.         USHORT    iFirst ;
  238.         USHORT    scolor[1] ;
  239. } VIOPALSTATE ;
  240.  
  241. typedef struct _VIOOVERSCAN {
  242.         USHORT    cb ;
  243.         USHORT    type ;
  244.         USHORT    color ;
  245. } VIOOVERSCAN ;
  246.  
  247. typedef struct _VIOINTENSITY {
  248.         USHORT    cb ;
  249.         USHORT    type ;
  250.         USHORT    FS ;
  251. } VIOINTENSITY ;
  252.  
  253. typedef struct _VIOSETULINELOC {
  254.         USHORT    cb ;
  255.         USHORT    type ;
  256.         USHORT    scanline ;
  257. } VIOSETULINELOC ;
  258.  
  259. typedef struct _VIOSETTARGET {
  260.         USHORT    cb ;
  261.         USHORT    type ;
  262.         USHORT    defaultalgorithm ;
  263. } VIOSETTARGET ;
  264.  
  265. typedef struct _VIOCOLORREG {
  266.         USHORT    cb ;
  267.         USHORT    type ;
  268.         USHORT    firstcolorreg;
  269.         USHORT    numcolorreg ;
  270.         PCH        colorregaddr ;
  271. } VIOCOLORREG ;
  272.  
  273. typedef struct _KBDHWID {
  274.         USHORT    cb ;
  275.         USHORT    idKbd ;
  276.         USHORT    usReserved1 ;
  277.         USHORT    usReserved2 ;
  278.  } KBDHWID ;
  279.  
  280.  
  281.  
  282. typedef VIOPHYSBUF *PVIOPHYSBUF ;
  283. typedef VIOMODEINFO *PVIOMODEINFO ;
  284. typedef VIOFONTINFO *PVIOFONTINFO ;
  285. typedef VIOCURSORINFO *PVIOCURSORINFO ;
  286. typedef ULONG HVIO ;
  287. typedef KBDKEYINFO *PKBDKEYINFO ;
  288. typedef ULONG HKBD ;
  289. typedef HKBD *PHKBD ;
  290. typedef STRINGINBUF *PSTRINGINBUF ;
  291. typedef KBDTRANS *PKBDTRANS ;
  292. typedef ULONG HMOU ;
  293. typedef MOUQUEINFO *PMOUQUEINFO ;
  294. typedef PTRLOC *PPTRLOC ;
  295. typedef PTRSHAPE *PPTRSHAPE ;
  296. typedef SCALEFACT *PSCALEFACT ;
  297. typedef HMOU *PHMOU ;
  298. typedef MOUEVENTINFO *PMOUEVENTINFO ;
  299. typedef KBDTRANS *PKBDXLATE ;
  300. typedef KBDINFO *PKBDINFO ;
  301. typedef NOPTRRECT *PNOPTRRECT ;
  302. typedef ULONG HVPS ;
  303. typedef HVPS *PHVPS ;
  304. typedef VIOCONFIGINFO *PVIOCONFIGINFO ;
  305. typedef KBDHWID *PKBDHWID ;
  306.  
  307.  
  308. APIRET APIENTRY DosQFileMode(PSZ pszFileName, PULONG usAttribute, ULONG ulReserved) ;
  309. APIRET APIENTRY DosSetFileMode(PSZ pszFileName, ULONG usAttribute, ULONG ulReserved) ;
  310. APIRET APIENTRY KbdCharIn(PKBDKEYINFO pkbci, ULONG fWait, HKBD hkbd) ;
  311. APIRET APIENTRY KbdClose(HKBD hkbd) ;
  312. APIRET APIENTRY KbdDeRegister(void) ;
  313. APIRET APIENTRY KbdFlushBuffer(HKBD hkbd) ;
  314. APIRET APIENTRY KbdFreeFocus(HKBD hkbd) ;
  315. APIRET APIENTRY KbdGetCp(ULONG ulReserved, PULONG pidCodePage, HKBD hkbd) ;
  316. APIRET APIENTRY KbdGetFocus(ULONG fWait, HKBD hkbd) ;
  317. APIRET APIENTRY KbdGetHWID(PKBDHWID pkbdhwid, HKBD hkbd) ;
  318. APIRET APIENTRY KbdGetStatus( PKBDINFO pkbstKbdInfo, HKBD hkbd) ;
  319. APIRET APIENTRY KbdOpen(PHKBD phkbd) ;
  320. APIRET APIENTRY KbdPeek(PKBDKEYINFO pkbciKeyInfo, HKBD hkbd) ;
  321. APIRET APIENTRY KbdRegister(PSZ pszModuleName, PSZ pszEntryName, ULONG fFunctions) ;
  322. APIRET APIENTRY KbdSetCp(ULONG ulReserved, ULONG idCodePage, HKBD hkbd) ;
  323. APIRET APIENTRY KbdSetCustXt(PULONG pulTransTbl, HKBD hkbd) ;
  324. APIRET APIENTRY KbdSetFgnd(void) ;
  325. APIRET APIENTRY KbdSetStatus(PKBDINFO pkbstKbdInfo, HKBD hkbd) ;
  326. APIRET APIENTRY KbdStringIn(PCH pchBuffer, PSTRINGINBUF psibLength, ULONG fWait, HKBD hkbd) ;
  327. APIRET APIENTRY KbdSynch(ULONG fwait) ;
  328. APIRET APIENTRY KbdXlate(PKBDXLATE pkbxlKeyStroke, HKBD hkbd) ;
  329. APIRET APIENTRY MouClose(HMOU hmou) ;
  330. APIRET APIENTRY MouDeRegister(void) ;
  331. APIRET APIENTRY MouDrawPtr(HMOU hmou) ;
  332. APIRET APIENTRY MouFlushQue(HMOU hmou) ;
  333. APIRET APIENTRY MouGetDevStatus(PULONG pfsDevStatus, HMOU hmou) ;
  334. APIRET APIENTRY MouGetEventMask(PULONG pfuEvents, HMOU hmou) ;
  335. APIRET APIENTRY MouGetNumButtons(PULONG pulButtons, HMOU hmou) ;
  336. APIRET APIENTRY MouGetNumMickeys(PULONG pulMickeys, HMOU hmou) ;
  337. APIRET APIENTRY MouGetNumQueEl(PMOUQUEINFO pmouqi, HMOU hmou) ;
  338. APIRET APIENTRY MouGetPtrPos(PPTRLOC pmouplPosition, HMOU hmou) ;
  339. APIRET APIENTRY MouGetPtrShape(PBYTE pbBuffer, PPTRSHAPE pmoupsinfo, HMOU hmou) ;
  340. APIRET APIENTRY MouGetScaleFact(PSCALEFACT pmouseFactors, HMOU hmou) ;
  341. APIRET APIENTRY MouInitReal(PSZ pszDriverName) ;
  342. APIRET APIENTRY MouOpen(PSZ pszDriverName, PHMOU phmou) ;
  343. APIRET APIENTRY MouReadEventQue(PMOUEVENTINFO pmouevEvent, PULONG pfWait, HMOU hmou) ;
  344. APIRET APIENTRY MouRegister(PSZ pszModuleName, PSZ pszEntryName, ULONG flFunctions) ;
  345. APIRET APIENTRY MouRemovePtr(PNOPTRRECT pmourtRect, HMOU hmou) ;
  346. APIRET APIENTRY MouSetDeviceStatus(PULONG pfuDevStatus, HMOU hmou) ;
  347. APIRET APIENTRY MouSetEventMask(PULONG pfuEvents, HMOU hmou) ;
  348. APIRET APIENTRY MouSetPtrPos(PPTRLOC pmouplPosition, HMOU hmou) ;
  349. APIRET APIENTRY MouSetPtrShape(PBYTE pbBuffer, PPTRSHAPE pmouplInfo, HMOU hmou) ;
  350. APIRET APIENTRY MouSetScaleFact(PSCALEFACT pmouscFactors, HMOU hmou) ;
  351. APIRET APIENTRY MouSynch(ULONG fWait) ;
  352. APIRET APIENTRY VioAssociate(HDC hdc, HVPS) ;
  353. APIRET APIENTRY VioCreateLogFont(PFATTRS pfat, LONG lcid, PSTR8 pstr8Name, HVPS hvps) ;
  354. APIRET APIENTRY VioCreatePS(PHVPS phvps, LONG cRows, LONG cColumns, LONG fFormat, LONG cAttrBytes, HVPS hvps) ;
  355. APIRET APIENTRY VioDeleteSetId(LONG lcid, HVPS hvps) ;
  356. APIRET APIENTRY VioDeRegister(void) ;
  357. APIRET APIENTRY VioDestroyPS(HVPS hvps) ;
  358. APIRET APIENTRY VioEndPopUp(HVIO hvio) ;
  359. APIRET APIENTRY VioGetAnsi(PULONG pfAnsi, HVIO hvio) ;
  360. APIRET APIENTRY VioGetBuf(PULONG pulLVB, PULONG pcbLVB, HVIO hvio) ;
  361. APIRET APIENTRY VioGetConfig(ULONG ulReserved, PVIOCONFIGINFO pvioin, HVIO hvio) ;
  362. APIRET APIENTRY VioGetCp(ULONG ulReserved, PULONG pidCodePage, HVIO hvio) ;
  363. APIRET APIENTRY VioGetCurPos(PULONG pulRow, PULONG pulColumn, HVIO hvio) ;
  364. APIRET APIENTRY VioGetCurType(PVIOCURSORINFO pvicciCursor, HVIO hvio) ;
  365. APIRET APIENTRY VioGetDeviceCellSize( PLONG pcRows, PLONG pcColumns, HVPS hvps) ;
  366. APIRET APIENTRY VioGetFont(PVIOFONTINFO pviofi, HVIO hvio) ;
  367. APIRET APIENTRY VioGetMode(PVIOMODEINFO pviomi, HVIO hvio) ;
  368. APIRET APIENTRY VioGetOrg(PLONG plRow, PLONG plColumn, HVPS hvps) ;
  369. APIRET APIENTRY VioGetPhysBuf(PVIOPHYSBUF pviopb, ULONG ulReserved) ;
  370. APIRET APIENTRY VioGetState(PVOID pvoidState, HVIO hvio) ;
  371. APIRET APIENTRY VioModeUndo(ULONG fRelinquish, ULONG fTerminate, HVIO hvio) ;
  372. APIRET APIENTRY VioModeWait(ULONG fEvent, PULONG pfNotify, HVIO hvio) ;
  373. APIRET APIENTRY VioPopUp(PULONG pfWait, HVIO hvio) ;
  374. APIRET APIENTRY VioPrtSc(HVIO hvio) ;
  375. APIRET APIENTRY VioPrtScToggle(HVIO hvio) ;
  376. APIRET APIENTRY VioQueryFonts(PLONG pcbMetrics, PFONTMETRICS pfm, LONG cbMetrics, PLONG pcFonts, PSZ pszFacename, ULONG flOptions, HVPS hvps) ;
  377. APIRET APIENTRY VioQuerySetIds(PLONG palcids, PSTR8 pachNames, PLONG palTypes, LONG cSets, HVPS hvps) ;
  378. APIRET APIENTRY VioReadCellStr(PCH pchCellString, PULONG pcb, ULONG ulRow, ULONG ulColumn, HVIO hvio) ;
  379. APIRET APIENTRY VioReadCharStr(PCH pchString, PULONG pcb, ULONG ulRow, ULONG ulColumn, HVIO hvio) ;
  380. APIRET APIENTRY VioRegister(PSZ pszModuleName, PSZ pszEntryName, ULONG flFunction1, ULONG flFunction2) ;
  381. APIRET APIENTRY VioSavRedrawUndo(ULONG fRelinquish, ULONG fTerminate, HVIO hvio) ;
  382. APIRET APIENTRY VioSavRedrawWait(ULONG fEvent, PULONG pfNotify, ULONG ulReserved) ;
  383. APIRET APIENTRY VioScrLock(ULONG fWait, PBYTE pfNotLocked, HVIO hvio) ;
  384. APIRET APIENTRY VioScrollDn(ULONG TopRow, ULONG LeftCol, ULONG BotRow, ULONG RtCol, ULONG cbLines, PBYTE pbCell,ULONG hvio) ;
  385. APIRET APIENTRY VioScrollLf(ULONG TopRow, ULONG LeftCol, ULONG BotRow, ULONG RtCol, ULONG cbLines, PBYTE pbCell,ULONG hvio) ;
  386. APIRET APIENTRY VioScrollRt(ULONG TopRow, ULONG LeftCol, ULONG BotRow, ULONG RtCol, ULONG cbLines, PBYTE pbCell,ULONG hvio) ;
  387. APIRET APIENTRY VioScrollUp(ULONG TopRow, ULONG LeftCol, ULONG BotRow, ULONG RtCol, ULONG cbLines, PBYTE pbCell,ULONG hvio) ;
  388. APIRET APIENTRY VioScrUnLock(HVIO hvio) ;
  389. APIRET APIENTRY VioSetAnsi(ULONG fAnsi, HVIO hvio) ;
  390. APIRET APIENTRY VioSetCp(ULONG ulReserved, ULONG idCodePage, HVIO hvio) ;
  391. APIRET APIENTRY VioSetCurPos(ULONG ulrow, ULONG ulcol, HVIO hvio) ;
  392. APIRET APIENTRY VioSetCurType(PVIOCURSORINFO pvicci, HVIO hvio) ;
  393. APIRET APIENTRY VioSetDeviceCellSize(LONG cRows, LONG cColumns, HVPS hvps) ;
  394. APIRET APIENTRY VioSetFont(PVIOFONTINFO pviofi, HVIO hvio) ;
  395. APIRET APIENTRY VioSetMode(PVIOMODEINFO pvioMi, HVIO hvio) ;
  396. APIRET APIENTRY VioSetOrg(LONG sRow, LONG sColumn, HVPS hvps) ;
  397. APIRET APIENTRY VioSetState(PVOID pvoidState, HVIO hvio) ;
  398. APIRET APIENTRY VioShowBuf(ULONG offLVB, ULONG cbOutput, HVIO hvio) ;
  399. APIRET APIENTRY VioShowPS(LONG cRows, LONG cColumns, LONG off, HVPS hvps) ;
  400. APIRET APIENTRY VioWrtCellStr(PCH pchCellString, ULONG cbCellString, ULONG Row, ULONG Col, HVIO hvio);
  401. APIRET APIENTRY VioWrtCharStr(PCH pchString, ULONG cbString, ULONG Row, ULONG Col, HVIO hvio);
  402. APIRET APIENTRY VioWrtCharStrAtt(PCH pchString, ULONG cbString, ULONG Row, ULONG Col, PBYTE pbAttr, HVIO hvio);
  403. APIRET APIENTRY VioWrtNAttr(PBYTE pbAttr, ULONG cb, ULONG Row, ULONG Col, HVIO hvio);
  404. APIRET APIENTRY VioWrtNCell(PBYTE pbCell, ULONG cb, ULONG Row, ULONG Col, HVIO hvio);
  405. APIRET APIENTRY VioWrtNChar(PBYTE pbChar, ULONG cb, ULONG Row, ULONG Col, HVIO hvio);
  406. APIRET APIENTRY VioWrtTTY(PCH pchString, ULONG cbString, HVIO hvio) ;