home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sp15demo.zip / libsrc.zip / LIBSRC / BSESUB.PAS < prev    next >
Pascal/Delphi Source File  |  1995-09-26  |  28KB  |  736 lines

  1. UNIT BseSub;
  2.  
  3.  
  4. {**************************************************************************
  5. *                                                                         *
  6. * Module Name: BSEDEV.PAS                                                 *
  7. *                                                                         *
  8. * OS/2 Structures and constants for KBD,VIO and MOU 16 Bit API's          *
  9. *                                                                         *
  10. * Important Note: When using this function you need the KBDVIO32.DLL !    *
  11. *                                                                         *
  12. ***************************************************************************}
  13.  
  14.  
  15. INTERFACE
  16.  
  17. USES Os2Def;
  18.  
  19. TYPE
  20.     PHKBD=^HKBD;
  21.     HKBD=LONGWORD;
  22.  
  23. CONST
  24.  
  25.     KR_KBDCHARIN               =$00000001;
  26.     KR_KBDPEEK                 =$00000002;
  27.     KR_KBDFLUSHBUFFER          =$00000004;
  28.     KR_KBDGETSTATUS            =$00000008;
  29.     KR_KBDSETSTATUS            =$00000010;
  30.     KR_KBDSTRINGIN             =$00000020;
  31.     KR_KBDOPEN                 =$00000040;
  32.     KR_KBDCLOSE                =$00000080;
  33.     KR_KBDGETFOCUS             =$00000100;
  34.     KR_KBDFREEFOCUS            =$00000200;
  35.     KR_KBDGETCP                =$00000400;
  36.     KR_KBDSETCP                =$00000800;
  37.     KR_KBDXLATE                =$00001000;
  38.     KR_KBDSETCUSTXT            =$00002000;
  39.  
  40.     IO_WAIT                    =0;
  41.     IO_NOWAIT                  =1;
  42.  
  43.    {KBDKEYINFO structure, for KbdCharIn and KbdPeek }
  44. TYPE
  45.     PKBDKEYINFO=^KBDKEYINFO;
  46.     KBDKEYINFO=RECORD {pack 2}
  47.                    chChar:CHAR;
  48.                    chScan:BYTE;
  49.                    fbStatus:BYTE;
  50.                    bNlsShift:BYTE;
  51.                    fsState:WORD;
  52.                    time:ULONG;
  53.                END;
  54.  
  55.  
  56.    { structure for KbdStringIn }
  57. TYPE
  58.     PSTRINGINBUF=^STRINGINBUF;
  59.     STRINGINBUF=RECORD
  60.                      cb:WORD;
  61.                      cchIn:WORD;
  62.                 END;
  63.  
  64. CONST
  65.    { KBDINFO.fsMask }
  66.    KEYBOARD_ECHO_ON                =$0001;
  67.    KEYBOARD_ECHO_OFF               =$0002;
  68.    KEYBOARD_BINARY_MODE            =$0004;
  69.    KEYBOARD_ASCII_MODE             =$0008;
  70.    KEYBOARD_MODIFY_STATE           =$0010;
  71.    KEYBOARD_MODIFY_INTERIM         =$0020;
  72.    KEYBOARD_MODIFY_TURNAROUND      =$0040;
  73.    KEYBOARD_2B_TURNAROUND          =$0080;
  74.    KEYBOARD_SHIFT_REPORT           =$0100;
  75.  
  76.    { KBDINFO.fsState/KBDKEYINFO.fsState/KBDTRANS.fsState }
  77.    KBDSTF_RIGHTSHIFT               =$0001;
  78.    KBDSTF_LEFTSHIFT                =$0002;
  79.    KBDSTF_CONTROL                  =$0004;
  80.    KBDSTF_ALT                      =$0008;
  81.    KBDSTF_SCROLLLOCK_ON            =$0010;
  82.    KBDSTF_NUMLOCK_ON               =$0020;
  83.    KBDSTF_CAPSLOCK_ON              =$0040;
  84.    KBDSTF_INSERT_ON                =$0080;
  85.    KBDSTF_LEFTCONTROL              =$0100;
  86.    KBDSTF_LEFTALT                  =$0200;
  87.    KBDSTF_RIGHTCONTROL             =$0400;
  88.    KBDSTF_RIGHTALT                 =$0800;
  89.    KBDSTF_SCROLLLOCK               =$1000;
  90.    KBDSTF_NUMLOCK                  =$2000;
  91.    KBDSTF_CAPSLOCK                 =$4000;
  92.    KBDSTF_SYSREQ                   =$8000;
  93.  
  94.    { KBDINFO structure, for KbdSet/GetStatus }
  95. TYPE
  96.    KBDINFO=RECORD
  97.                  cb:WORD;
  98.                  fsMask:WORD;
  99.                  chTurnAround:WORD;
  100.                  fsInterim:WORD;
  101.                  fsState:WORD;
  102.            END;
  103.  
  104.  
  105.    { structure for KbdGetHWID }
  106. TYPE
  107.     PKBDHWID=^KBDHWID;
  108.     KBDHWID=RECORD
  109.                   cb:WORD;
  110.                   idKbd:WORD;
  111.                   usReserved1:WORD;
  112.                   usReserved2:WORD;
  113.             END;
  114.  
  115. CONST
  116.    { KBDTRANS.fbStatus }
  117.    KBDTRF_SHIFT_KEY_IN             =$01;
  118.    KBDTRF_CONVERSION_REQUEST       =$20;
  119.    KBDTRF_FINAL_CHAR_IN            =$40;
  120.    KBDTRF_INTERIM_CHAR_IN          =$80;
  121.  
  122.    { structure for KbdXlate }
  123. TYPE
  124.    PKBDTRANS=^KBDTRANS;
  125.    KBDTRANS=RECORD {pack 2}
  126.                  chChar:CHAR;
  127.                  chScan:BYTE;
  128.                  fbStatus:BYTE;
  129.                  bNlsShift:BYTE;
  130.                  fsState:WORD;
  131.                  time:ULONG;
  132.                  fsDD:WORD;
  133.                  fsXlate:WORD;
  134.                  fsShift:WORD;
  135.                  sZero:WORD;
  136.            END;
  137.  
  138. TYPE
  139.     PHVIO=^HVIO;
  140.     HVIO=LONGWORD;
  141.  
  142.    { first parameter registration constants }
  143. CONST
  144.    VR_VIOGETCURPOS            =$00000001;
  145.    VR_VIOGETCURTYPE           =$00000002;
  146.    VR_VIOGETMODE              =$00000004;
  147.    VR_VIOGETBUF               =$00000008;
  148.    VR_VIOGETPHYSBUF           =$00000010;
  149.    VR_VIOSETCURPOS            =$00000020;
  150.    VR_VIOSETCURTYPE           =$00000040;
  151.    VR_VIOSETMODE              =$00000080;
  152.    VR_VIOSHOWBUF              =$00000100;
  153.    VR_VIOREADCHARSTR          =$00000200;
  154.    VR_VIOREADCELLSTR          =$00000400;
  155.    VR_VIOWRTNCHAR             =$00000800;
  156.    VR_VIOWRTNATTR             =$00001000;
  157.    VR_VIOWRTNCELL             =$00002000;
  158.    VR_VIOWRTTTY               =$00004000;
  159.    VR_VIOWRTCHARSTR           =$00008000;
  160.  
  161.    VR_VIOWRTCHARSTRATT        =$00010000;
  162.    VR_VIOWRTCELLSTR           =$00020000;
  163.    VR_VIOSCROLLUP             =$00040000;
  164.    VR_VIOSCROLLDN             =$00080000;
  165.    VR_VIOSCROLLLF             =$00100000;
  166.    VR_VIOSCROLLRT             =$00200000;
  167.    VR_VIOSETANSI              =$00400000;
  168.    VR_VIOGETANSI              =$00800000;
  169.    VR_VIOPRTSC                =$01000000;
  170.    VR_VIOSCRLOCK              =$02000000;
  171.    VR_VIOSCRUNLOCK            =$04000000;
  172.    VR_VIOSAVREDRAWWAIT        =$08000000;
  173.    VR_VIOSAVREDRAWUNDO        =$10000000;
  174.    VR_VIOPOPUP                =$20000000;
  175.    VR_VIOENDPOPUP             =$40000000;
  176.    VR_VIOPRTSCTOGGLE          =$80000000;
  177.  
  178.    { second parameter registration constants  }
  179.    VR_VIOMODEWAIT             =$00000001;
  180.    VR_VIOMODEUNDO             =$00000002;
  181.    VR_VIOGETFONT              =$00000004;
  182.    VR_VIOGETCONFIG            =$00000008;
  183.    VR_VIOSETCP                =$00000010;
  184.    VR_VIOGETCP                =$00000020;
  185.    VR_VIOSETFONT              =$00000040;
  186.    VR_VIOGETSTATE             =$00000080;
  187.    VR_VIOSETSTATE             =$00000100;
  188.  
  189.  
  190.    { structure for VioSet/GetCurType }
  191. TYPE
  192.    PVIOCURSORINFO=^VIOCURSORINFO;
  193.    VIOCURSORINFO=RECORD
  194.                       yStart:WORD;
  195.                       cEnd:WORD;
  196.                       cx:WORD;
  197.                       attr:WORD;
  198.                  END;
  199.  
  200.    { VIOMODEINFO.color constants }
  201. CONST
  202.     COLORS_2        =$0001;
  203.     COLORS_4        =$0002;
  204.     COLORS_16       =$0004;
  205.  
  206. TYPE
  207.    { structure for VioSet/GetMode }
  208.    PVIOMODEINFO=^VIOMODEINFO;
  209.    VIOMODEINFO=RECORD {pack 1}
  210.                      cb:USHORT;
  211.                      fbType:BYTE;
  212.                      color:BYTE;
  213.                      col:WORD;
  214.                      row:WORD;
  215.                      hres:WORD;
  216.                      vres:WORD;
  217.                      fmt_ID:BYTE;
  218.                      attrib:BYTE;
  219.                      buf_addr:ULONG;
  220.                      buf_length:ULONG;
  221.                      full_length:ULONG;
  222.                      partial_length:ULONG;
  223.                      ext_data_addr:POINTER;
  224.                END;
  225.  
  226. CONST
  227.     VGMT_OTHER                 =$01;
  228.     VGMT_GRAPHICS              =$02;
  229.     VGMT_DISABLEBURST          =$04;
  230.  
  231.  
  232.    { structure for VioGetPhysBuf }
  233. TYPE
  234.    PVIOPHYSBUF=^VIOPHYSBUF;
  235.    VIOPHYSBUF=RECORD
  236.                     pBuf:POINTER;
  237.                     cb:ULONG;
  238.                     asel:SEL;
  239.               END;
  240.  
  241. CONST
  242.     VCC_SBCSCHAR              =0;
  243.     VCC_DBCSFULLCHAR          =1;
  244.     VCC_DBCS1STHALF           =2;
  245.     VCC_DBCS2NDHALF           =3;
  246.  
  247. CONST
  248.     ANSI_ON                   =1;
  249.     ANSI_OFF                  =0;
  250.  
  251. CONST
  252.     VSRWI_SAVEANDREDRAW        =0;
  253.     VSRWI_REDRAW               =1;
  254.  
  255.     VSRWN_SAVE                 =0;
  256.     VSRWN_REDRAW               =1;
  257.  
  258.     UNDOI_GETOWNER             =0;
  259.     UNDOI_RELEASEOWNER         =1;
  260.  
  261.     UNDOK_ERRORCODE            =0;
  262.     UNDOK_TERMINATE            =1;
  263.  
  264.    
  265.  
  266. CONST
  267.     VMWR_POPUP                 =0;
  268.     VMWN_POPUP                 =0;
  269.  
  270. CONST
  271.     LOCKIO_NOWAIT              =0;
  272.     LOCKIO_WAIT                =1;
  273.  
  274.     LOCK_SUCCESS               =0;
  275.     LOCK_FAIL                  =1;
  276.  
  277. CONST
  278.     VP_NOWAIT                  =$0000;
  279.     VP_WAIT                    =$0001;
  280.     VP_OPAQUE                  =$0000;
  281.     VP_TRANSPARENT             =$0002;
  282.  
  283.    { VIOCONFIGINFO.adapter constants }
  284. CONST
  285.     DISPLAY_MONOCHROME      =$0000;
  286.     DISPLAY_CGA             =$0001;
  287.     DISPLAY_EGA             =$0002;
  288.     DISPLAY_VGA             =$0003;
  289.     DISPLAY_8514A           =$0007;
  290.     DISPLAY_IMAGEADAPTER    =$0008;
  291.     DISPLAY_XGA             =$0009;
  292.  
  293.    { VIOCONFIGINFO.display constants }
  294.  
  295.     MONITOR_MONOCHROME      =$0000;
  296.     MONITOR_COLOR           =$0001;
  297.     MONITOR_ENHANCED        =$0002;
  298.     MONITOR_8503            =$0003;
  299.     MONITOR_851X_COLOR      =$0004;
  300.     MONITOR_8514            =$0009;
  301.     MONITOR_FLATPANEL       =$000A;
  302.     MONITOR_8507_8604       =$000B;
  303.     MONITOR_8515            =$000C;
  304.     MONITOR_9515            =$000F;
  305.     MONITOR_9517            =$0011;
  306.     MONITOR_9518            =$0012;
  307.  
  308.    { structure for VioGetConfig() }
  309. TYPE
  310.    PVIOCONFIGINFO=^VIOCONFIGINFO;
  311.    VIOCONFIGINFO=RECORD {pack 2}
  312.                       cb:WORD;
  313.                       adapter:WORD;
  314.                       display:WORD;
  315.                       cbMemory:ULONG;
  316.                       Configuration:WORD;
  317.                       VDHVersion:WORD;
  318.                       Flags:WORD;
  319.                       HWBufferSize:ULONG;
  320.                       FullSaveSize:ULONG;
  321.                       PartSaveSize:ULONG;
  322.                       EMAdaptersOFF:WORD;
  323.                       EMDisplaysOFF:WORD;
  324.                END;
  325.  
  326. CONST
  327.     VIO_CONFIG_CURRENT         =0;
  328.     VIO_CONFIG_PRIMARY         =1;
  329.     VIO_CONFIG_SECONDARY       =2;
  330.  
  331.  
  332.    { structure for VioGet/SetFont }
  333. TYPE
  334.    PVIOFONTINFO=^VIOFONTINFO;
  335.    VIOFONTINFO=RECORD
  336.                    cb:WORD;
  337.                    atype:WORD;
  338.                    cxCell:WORD;
  339.                    cyCell:WORD;
  340.                    pbData:POINTER;
  341.                    cbData:WORD;
  342.                END;
  343.  
  344. CONST
  345.     VGFI_GETCURFONT            =0;
  346.     VGFI_GETROMFONT            =1;
  347.  
  348.  
  349. TYPE
  350.    PVIOPALSTATE=^VIOPALSTATE;
  351.    VIOPALSTATE=RECORD
  352.                     cb:WORD;
  353.                     atype:WORD;
  354.                     iFirst:WORD;
  355.                     acolor:WORD;
  356.                END;
  357.  
  358.    PVIOOVERSCAN=^VIOOVERSCAN;
  359.    VIOOVERSCAN=RECORD
  360.                    cb:WORD;
  361.                    atype:WORD;
  362.                    color:WORD;
  363.                END;
  364.  
  365.    PVIOINTENSITY=^VIOINTENSITY;
  366.    VIOINTENSITY=RECORD
  367.                      cb:WORD;
  368.                      atype:WORD;
  369.                      fs:WORD;
  370.                 END;
  371.  
  372.    PVIOCOLORREG=^VIOCOLORREG;
  373.    VIOCOLORREG=RECORD
  374.                      cb:WORD;
  375.                      atype:WORD;
  376.                      firstcolorreg:WORD;
  377.                      numcolorregs:WORD;
  378.                      colorregaddr:POINTER;
  379.                END;
  380.  
  381.    PVIOSETULINELOC=^VIOSETULINELOC;
  382.    VIOSETULINELOC=RECORD
  383.                      cb:WORD;
  384.                      atype:WORD;
  385.                      scanline:WORD;
  386.                   END;
  387.  
  388.    PVIOSETTARGET=^VIOSETTARGET;
  389.    VIOSETTARGET=RECORD
  390.                       cb:WORD;
  391.                       atype:WORD;
  392.                       defaultalgorithm:WORD;
  393.                 END;
  394.  
  395. TYPE
  396.     PHMOU=^HMOU;
  397.     HMOU=LONGWORD;
  398.  
  399. CONST
  400.     MR_MOUGETNUMBUTTONS        =$00000001;
  401.     MR_MOUGETNUMMICKEYS        =$00000002;
  402.     MR_MOUGETDEVSTATUS         =$00000004;
  403.     MR_MOUGETNUMQUEEL          =$00000008;
  404.     MR_MOUREADEVENTQUE         =$00000010;
  405.     MR_MOUGETSCALEFACT         =$00000020;
  406.     MR_MOUGETEVENTMASK         =$00000040;
  407.     MR_MOUSETSCALEFACT         =$00000080;
  408.     MR_MOUSETEVENTMASK         =$00000100;
  409.     MR_MOUOPEN                 =$00000800;
  410.     MR_MOUCLOSE                =$00001000;
  411.     MR_MOUGETPTRSHAPE          =$00002000;
  412.     MR_MOUSETPTRSHAPE          =$00004000;
  413.     MR_MOUDRAWPTR              =$00008000;
  414.     MR_MOUREMOVEPTR            =$00010000;
  415.     MR_MOUGETPTRPOS            =$00020000;
  416.     MR_MOUSETPTRPOS            =$00040000;
  417.     MR_MOUINITREAL             =$00080000;
  418.     MR_MOUSETDEVSTATUS         =$00100000;
  419.  
  420.  
  421. CONST
  422.     MHK_BUTTON1                =$0001;
  423.     MHK_BUTTON2                =$0002;
  424.     MHK_BUTTON3                =$0004;
  425.  
  426.    { structure for MouGet/SetPtrPos }
  427. TYPE
  428.    PPTRLOC=^PTRLOC;
  429.    PTRLOC=RECORD
  430.               row:WORD;
  431.               col:WORD;
  432.           END;
  433.  
  434.    { structure for MouGet/SetPtrShape }
  435. TYPE
  436.    PPTRSHAPE=^PTRSHAPE;
  437.    PTRSHAPE=RECORD
  438.                  cb:WORD;
  439.                  col:WORD;
  440.                  row:WORD;
  441.                  colHot:WORD;
  442.                  rowHot:WORD;
  443.             END;
  444.  
  445.    { MouGetDevStatus/MouSetDevStatus device status constants }
  446. CONST
  447.     MOUSE_QUEUEBUSY        =$0001;
  448.     MOUSE_BLOCKREAD        =$0002;
  449.     MOUSE_FLUSH            =$0004;
  450.     MOUSE_UNSUPPORTED_MODE =$0008;
  451.     MOUSE_DISABLED         =$0100;
  452.     MOUSE_MICKEYS          =$0200;
  453.  
  454.    { MouReadEventQue }
  455. CONST
  456.     MOU_NOWAIT      =$0000;
  457.     MOU_WAIT        =$0001;
  458.  
  459.    { structure for MouReadEventQue }
  460. TYPE
  461.    PMOUEVENTINFO=^MOUEVENTINFO;
  462.    MOUEVENTINFO=RECORD {pack 2}
  463.                      fs:WORD;
  464.                      time:ULONG;
  465.                      row:WORD;
  466.                      col:WORD;
  467.                 END;
  468.  
  469.    { structure for MouGetNumQueEl }
  470. TYPE
  471.    PMOUQUEINFO=^MOUQUEINFO;
  472.    MOUQUEINFO=RECORD
  473.                   cEvents:WORD;
  474.                   cmaxEvents:WORD;
  475.               END;
  476.  
  477. CONST
  478.    { MouGetEventMask/MouSetEventMask events }
  479.  
  480.     MOUSE_MOTION                 =$0001;
  481.     MOUSE_MOTION_WITH_BN1_DOWN   =$0002;
  482.     MOUSE_BN1_DOWN               =$0004;
  483.     MOUSE_MOTION_WITH_BN2_DOWN   =$0008;
  484.     MOUSE_BN2_DOWN               =$0010;
  485.     MOUSE_MOTION_WITH_BN3_DOWN   =$0020;
  486.     MOUSE_BN3_DOWN               =$0040;
  487.  
  488.    { structure for MouGet/SetScaleFact }
  489. TYPE
  490.    PSCALEFACT=^SCALEFACT;
  491.    SCALEFACT=RECORD
  492.                    rowScale:WORD;
  493.                    colScale:WORD;
  494.              END;
  495.  
  496. TYPE
  497.    { structure for MouRemovePtr }
  498.    PNOPTRRECT=^NOPTRRECT;
  499.    NOPTRRECT=RECORD
  500.                   row:WORD;
  501.                   col:WORD;
  502.                   cRow:WORD;
  503.                   cCol:WORD;
  504.              END;
  505.  
  506. CONST
  507.     MOU_NODRAW                 =$0001;
  508.     MOU_DRAW                   =$0000;
  509.     MOU_MICKEYS                =$0002;
  510.     MOU_PELS                   =$0000;
  511.  
  512. TYPE
  513.    PTHRESHOLD=^THRESHOLD;
  514.    THRESHOLD=RECORD
  515.                   aLength:WORD;
  516.                   Level1:WORD;
  517.                   Lev1Mult:WORD;
  518.                   Level2:WORD;
  519.                   lev2Mult:WORD;
  520.              END;
  521.  
  522.  
  523.  
  524. IMPORTS
  525.        FUNCTION KbdRegister(pszModName,pszEntryPt:PSZ;FunMask:ULONG):WORD;
  526.                          APIENTRY;             KBDVIO32 index 5;
  527.        FUNCTION KbdDeRegister:WORD;
  528.                          APIENTRY;             KBDVIO32 index 6;
  529.        FUNCTION KbdCharIn(VAR pkbci:KBDKEYINFO;fWait:ULONG;ahkbd:HKBD):WORD;
  530.                          APIENTRY;             KBDVIO32 index 7;
  531.        FUNCTION KbdPeek(VAR pkbci:KBDKEYINFO;ahkbd:HKBD):WORD;
  532.                          APIENTRY;             KBDVIO32 index 8;
  533.        FUNCTION KbdStringIn(VAR apch;VAR pchIn:STRINGINBUF;fsWait:ULONG;
  534.                          ahkbd:HKBD):WORD;
  535.                          APIENTRY;             KBDVIO32 index 9;
  536.        FUNCTION KbdFlushBuffer(ahkbd:HKBD):WORD;
  537.                          APIENTRY;             KBDVIO32 index 10;
  538.        FUNCTION KbdSetStatus(VAR apkbdinfo:KBDINFO;ahkbd:HKBD):WORD;
  539.                          APIENTRY;             KBDVIO32 index 11;
  540.        FUNCTION KbdGetStatus(VAR apkbdinfo:KBDINFO;ahkbd:HKBD):WORD;
  541.                          APIENTRY;             KBDVIO32 index 12;
  542.        FUNCTION KbdSetCp (usReserved,pidCP:ULONG;ahkbd:HKBD):WORD;
  543.                          APIENTRY;             KBDVIO32 index 13;
  544.        FUNCTION KbdGetCp (ulReserved:ULONG;VAR pidCP:WORD;ahkbd:HKBD):WORD;
  545.                          APIENTRY;             KBDVIO32 index 14;
  546.        FUNCTION KbdOpen (VAR aphkbd:HKBD):WORD;
  547.                          APIENTRY;             KBDVIO32 index 15;
  548.        FUNCTION KbdClose (ahkbd:HKBD):WORD;
  549.                          APIENTRY;             KBDVIO32 index 16;
  550.        FUNCTION KbdGetFocus (fWait:ULONG;ahkbd:HKBD):WORD;
  551.                          APIENTRY;             KBDVIO32 index 17;
  552.        FUNCTION KbdFreeFocus (ahkbd:HKBD):WORD;
  553.                          APIENTRY;             KBDVIO32 index 18;
  554.        FUNCTION KbdSynch (fsWait:ULONG):WORD;
  555.                          APIENTRY;             KBDVIO32 index 19;
  556.        FUNCTION KbdSetFgnd:WORD;
  557.                          APIENTRY;             KBDVIO32 index 20;
  558.        FUNCTION KbdGetHWID(VAR apkbdhwid:KBDHWID;ahkbd:HKBD):WORD;
  559.                          APIENTRY;             KBDVIO32 index 21;
  560.        FUNCTION KbdSetHWID(VAR apkbdhwid:KBDHWID;ahkbd:HKBD):WORD;
  561.                          APIENTRY;             KBDVIO32 index 22;
  562.        FUNCTION KbdXlate (VAR apkbdtrans:KBDTRANS;ahkbd:HKBD):WORD;
  563.                          APIENTRY;             KBDVIO32 index 23;
  564.        FUNCTION KbdSetCustXt(VAR usCodePage:WORD;ahkbd:HKBD):WORD;
  565.                          APIENTRY;             KBDVIO32 index 24;
  566.        FUNCTION VioRegister(pszModName,pszEntryName:PSZ;flFun1,
  567.                         flFun2:ULONG):WORD;
  568.                          APIENTRY;             KBDVIO32 index 25;
  569.        {FUNCTION VioGlobalReg(pszModName,pszEntryName:PSZ;
  570.                               flFun1,flFun2:ULONG;usReturn:WORD):WORD;
  571.                          APIENTRY;             KBDVIO32 index 26;
  572.         unresolved external in KbdVio32.C ??? }
  573.        FUNCTION VioDeRegister:WORD;
  574.                          APIENTRY;             KBDVIO32 index 27;
  575.        FUNCTION VioGetBuf (VAR pLVB:POINTER;VAR pcbLVB:WORD;ahvio:HVIO):WORD;
  576.                          APIENTRY;             KBDVIO32 index 28;
  577.        FUNCTION VioGetCurPos(VAR pusRow,pusColumn:WORD;ahvio:HVIO):WORD;
  578.                          APIENTRY;             KBDVIO32 index 29;
  579.        FUNCTION VioSetCurPos (usRow,usColumn:ULONG;ahvio:HVIO):WORD;
  580.                          APIENTRY;             KBDVIO32 index 30;
  581.        FUNCTION VioGetCurType (VAR apvioCursorInfo:VIOCURSORINFO;
  582.                            ahvio:HVIO):WORD;
  583.                          APIENTRY;             KBDVIO32 index 31;
  584.        FUNCTION VioSetCurType (VAR apvioCursorInfo:VIOCURSORINFO;
  585.                            ahvio:HVIO):WORD;
  586.                          APIENTRY;             KBDVIO32 index 32;
  587.        FUNCTION VioGetMode (VAR apvioModeInfo:VIOMODEINFO;ahvio:HVIO):WORD;
  588.                          APIENTRY;             KBDVIO32 index 33;
  589.        FUNCTION VioSetMode (VAR apvioModeInfo:VIOMODEINFO;ahvio:HVIO):WORD;
  590.                          APIENTRY;             KBDVIO32 index 34;
  591.        FUNCTION VioGetPhysBuf (VAR apvioPhysBuf:VIOPHYSBUF;
  592.                            usReserved:ULONG):WORD;
  593.                          APIENTRY;             KBDVIO32 index 35;
  594.        FUNCTION VioReadCellStr (VAR pchCellStr;VAR pcb:USHORT;usRow,
  595.                             usColumn:ULONG;ahvio:HVIO):WORD;
  596.                          APIENTRY;             KBDVIO32 index 36;
  597.        FUNCTION VioReadCharStr(VAR pchCellStr;VAR pcb:USHORT;usRow,
  598.                            usColumn:ULONG;ahvio:HVIO):WORD;
  599.                          APIENTRY;             KBDVIO32 index 37;
  600.        FUNCTION VioWrtCellStr(VAR pchCellStr;cb,usRow,usColumn:ULONG;
  601.                           ahvio:HVIO):WORD;
  602.                          APIENTRY;             KBDVIO32 index 38;
  603.        FUNCTION VioWrtCharStr(VAR pchStr;cb,usRow,usColumn:ULONG;
  604.                           ahvio:HVIO):WORD;
  605.                          APIENTRY;             KBDVIO32 index 39;
  606.        FUNCTION VioScrollDn(usTopRow,usLeftCol,usBotRow,usRightCol,
  607.                         cbLines:ULONG;VAR pCell;ahvio:HVIO):WORD;
  608.                          APIENTRY;             KBDVIO32 index 40;
  609.        FUNCTION VioScrollUp(usTopRow,usLeftCol,usBotRow,usRightCol,
  610.                         cbLines:ULONG;VAR pCell;ahvio:HVIO):WORD;
  611.                          APIENTRY;             KBDVIO32 index 41;
  612.        FUNCTION VioScrollLf(usTopRow,usLeftCol,usBotRow,usRightCol,
  613.                         cbCol:ULONG;VAR pCell;ahvio:HVIO):WORD;
  614.                          APIENTRY;             KBDVIO32 index 42;
  615.        FUNCTION VioScrollRt(usTopRow,usLeftCol,usBotRow,usRightCol,
  616.                         cbCol:ULONG;VAR pCell;ahvio:HVIO):WORD;
  617.                          APIENTRY;             KBDVIO32 index 43;
  618.        FUNCTION VioWrtNAttr(VAR pAttr;cb,usRow,usColumn:ULONG;ahvio:HVIO):WORD;
  619.                          APIENTRY;             KBDVIO32 index 44;
  620.        FUNCTION VioWrtNCell(VAR pCell;cb,usRow,usColumn:ULONG;ahvio:HVIO):WORD;
  621.                          APIENTRY;             KBDVIO32 index 45;
  622.        FUNCTION VioWrtNChar(VAR pchChar;cb,usRow,usColumn:ULONG;ahvio:HVIO):WORD;
  623.                          APIENTRY;             KBDVIO32 index 46;
  624.        FUNCTION VioWrtTTY(VAR apch;cb:ULONG;ahvio:HVIO):WORD;
  625.                          APIENTRY;             KBDVIO32 index 47;
  626.        FUNCTION VioWrtCharStrAtt(VAR apch;cb,usRow,usColumn:ULONG;
  627.                              VAR pAttr;ahvio:HVIO):WORD;
  628.                          APIENTRY;             KBDVIO32 index 48;
  629.        FUNCTION VioCheckCharType(VAR pType:WORD;usRow,usColumn:ULONG;
  630.                              ahvio:HVIO):WORD;
  631.                          APIENTRY;             KBDVIO32 index 49;
  632.        FUNCTION VioShowBuf(offLVB,cb:ULONG;ahvio:HVIO):WORD;
  633.                          APIENTRY;             KBDVIO32 index 50;
  634.        FUNCTION VioSetAnsi(fAnsi:ULONG;ahvio:HVIO):WORD;
  635.                          APIENTRY;             KBDVIO32 index 51;
  636.        FUNCTION VioGetAnsi(VAR pfAnsi:WORD;ahvio:HVIO):WORD;
  637.                          APIENTRY;             KBDVIO32 index 52;
  638.        FUNCTION VioPrtSc(ahvio:HVIO):WORD;
  639.                          APIENTRY;             KBDVIO32 index 53;
  640.        FUNCTION VioPrtScToggle(ahvio:HVIO):WORD;
  641.                          APIENTRY;             KBDVIO32 index 54;
  642.        {FUNCTION VioRedrawSize(VAR pcbRedraw:ULONG):WORD;
  643.                          APIENTRY;             KBDVIO32 index 55;
  644.         unresolved external in KbdVio32.C ???}
  645.        FUNCTION VioSavRedrawWait(usRedrawInd:ULONG;VAR pNotifyType:WORD;
  646.                              usReserved:ULONG):WORD;
  647.                          APIENTRY;             KBDVIO32 index 56;
  648.        FUNCTION VioSavRedrawUndo(usOwnerInd,usKillInd,usReserved:ULONG):WORD;
  649.                          APIENTRY;             KBDVIO32 index 57;
  650.        FUNCTION VioModeWait(usReqType:ULONG;VAR pNotifyType:WORD;
  651.                         usReserved:ULONG):WORD;
  652.                          APIENTRY;             KBDVIO32 index 58;
  653.        FUNCTION VioModeUndo(usOwnerInd,usKillInd,usReserved:ULONG):WORD;
  654.                          APIENTRY;             KBDVIO32 index 59;
  655.        FUNCTION VioScrLock(fWait:ULONG;VAR pfNotLocked:BYTE;ahvio:HVIO):WORD;
  656.                          APIENTRY;             KBDVIO32 index 60;
  657.        FUNCTION VioScrUnLock(ahvio:HVIO):WORD;
  658.                          APIENTRY;             KBDVIO32 index 61;
  659.        FUNCTION VioPopUp (VAR pfWait:WORD;ahvio:HVIO):WORD;
  660.                          APIENTRY;             KBDVIO32 index 62;
  661.        FUNCTION VioEndPopUp(ahvio:HVIO):WORD;
  662.                          APIENTRY;             KBDVIO32 index 63;
  663.        FUNCTION VioGetConfig(usConfigId:LONGWORD;VAR pvioin:VIOCONFIGINFO;
  664.                              ahvio:HVIO):WORD;
  665.                          APIENTRY;             KBDVIO32 index 64;
  666.        FUNCTION VioGetFont(VAR pviofi:VIOFONTINFO;ahvio:HVIO):WORD;
  667.                          APIENTRY;             KBDVIO32 index 65;
  668.        FUNCTION VioSetFont(VAR pviofi:VIOFONTINFO;ahvio:HVIO):WORD;
  669.                          APIENTRY;             KBDVIO32 index 66;
  670.        FUNCTION VioGetCp(usReserved:ULONG;VAR pIdCodePage:WORD;ahvio:HVIO):WORD;
  671.                          APIENTRY;             KBDVIO32 index 67;
  672.        FUNCTION VioSetCp(usReserved,idCodePage:ULONG;ahvio:HVIO):WORD;
  673.                          APIENTRY;             KBDVIO32 index 68;
  674.        FUNCTION VioGetState(VAR pState;ahvio:HVIO):WORD;
  675.                          APIENTRY;             KBDVIO32 index 69;
  676.        FUNCTION VioSetState(VAR pState;ahvio:HVIO):WORD;
  677.                          APIENTRY;             KBDVIO32 index 70;
  678.        FUNCTION MouRegister(pszModName,pszEntryName:PSZ;flFuns:ULONG):WORD;
  679.                          APIENTRY;             KBDVIO32 index 71;
  680.        FUNCTION MouDeRegister:WORD;
  681.                          APIENTRY;             KBDVIO32 index 72;
  682.        FUNCTION MouFlushQue(ahmou:HMOU):WORD;
  683.                          APIENTRY;             KBDVIO32 index 73;
  684.        FUNCTION MouGetPtrPos(VAR pmouLoc:PTRLOC;ahmou:HMOU):WORD;
  685.                          APIENTRY;             KBDVIO32 index 74;
  686.        FUNCTION MouSetPtrPos(VAR pmouLoc:PTRLOC;ahmou:HMOU):WORD;
  687.                          APIENTRY;             KBDVIO32 index 75;
  688.        FUNCTION MouSetPtrShape(VAR pBuf;VAR pmoupsInfo:PTRSHAPE;ahmou:HMOU):WORD;
  689.                          APIENTRY;             KBDVIO32 index 76;
  690.        FUNCTION MouGetPtrShape(VAR pBuf;VAR pmoupsInfo:PTRSHAPE;ahmou:HMOU):WORD;
  691.                          APIENTRY;             KBDVIO32 index 77;
  692.        FUNCTION MouGetDevStatus(VAR pfsDevStatus:WORD;ahmou:HMOU):WORD;
  693.                          APIENTRY;             KBDVIO32 index 78;
  694.        FUNCTION MouGetNumButtons(VAR pcButtons:WORD;ahmou:HMOU):WORD;
  695.                          APIENTRY;             KBDVIO32 index 79;
  696.        FUNCTION MouGetNumMickeys(VAR pcMickeys:WORD;ahmou:HMOU):WORD;
  697.                          APIENTRY;             KBDVIO32 index 80;
  698.        FUNCTION MouReadEventQue(VAR pmouevEvent:MOUEVENTINFO;VAR pfWait:WORD;
  699.                             ahmou:HMOU):WORD;
  700.                          APIENTRY;             KBDVIO32 index 81;
  701.        FUNCTION MouGetNumQueEl(VAR qmouqi:MOUQUEINFO;ahmou:HMOU):WORD;
  702.                          APIENTRY;             KBDVIO32 index 82;
  703.        FUNCTION MouGetEventMask(VAR pfsEvents:WORD;ahmou:HMOU):WORD;
  704.                          APIENTRY;             KBDVIO32 index 83;
  705.        FUNCTION MouSetEventMask(VAR pfsEvents:WORD;ahmou:HMOU):WORD;
  706.                          APIENTRY;             KBDVIO32 index 84;
  707.        FUNCTION MouGetScaleFact(VAR pmouscFactors:SCALEFACT;ahmou:HMOU):WORD;
  708.                          APIENTRY;             KBDVIO32 index 85;
  709.        FUNCTION MouSetScaleFact(VAR pmouscFactors:SCALEFACT;ahmou:HMOU):WORD;
  710.                          APIENTRY;             KBDVIO32 index 86;
  711.        FUNCTION MouOpen(pszDvrName:PSZ;VAR aphmou:HMOU):WORD;
  712.                          APIENTRY;             KBDVIO32 index 87;
  713.        FUNCTION MouClose(ahmou:HMOU):WORD;
  714.                          APIENTRY;             KBDVIO32 index 88;
  715.        FUNCTION MouRemovePtr(VAR pmourtRect:NOPTRRECT;ahmou:HMOU):WORD;
  716.                          APIENTRY;             KBDVIO32 index 89;
  717.        FUNCTION MouDrawPtr(ahmou:HMOU):WORD;
  718.                          APIENTRY;             KBDVIO32 index 90;
  719.        FUNCTION MouSetDevStatus(VAR pfsDevStatus:WORD;ahmou:HMOU):WORD;
  720.                          APIENTRY;             KBDVIO32 index 91;
  721.        FUNCTION MouInitReal(apsz:PSZ):WORD;
  722.                          APIENTRY;             KBDVIO32 index 92;
  723.        FUNCTION MouSynch(pszDvrName:ULONG):WORD;
  724.                          APIENTRY;             KBDVIO32 index 93;
  725.        FUNCTION MouGetThreshold(VAR apthreshold:THRESHOLD;ahmou:HMOU):WORD;
  726.                          APIENTRY;             KBDVIO32 index 94;
  727.        FUNCTION MouSetThreshold(VAR apthreshold:THRESHOLD;ahmou:HMOU):WORD;
  728.                          APIENTRY;             KBDVIO32 index 95;
  729. END;
  730.  
  731.  
  732. IMPLEMENTATION
  733.  
  734. BEGIN
  735. END.
  736.