home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Languages Suite
/
ProgLangD.iso
/
Fortran.51
/
DISK6
/
BSESUB.FI$
/
BSESUB.bin
Wrap
Text File
|
1989-01-27
|
31KB
|
1,087 lines
C****************************** Module Header *******************************
C*
C* Module Name: BSESUB.FI
C*
C* OS/2 Base Include File
C*
C* Copyright (c) 1988-1989 Microsoft Corporation
C*
C****************************************************************************
C
*
* Subcomponents marked with "+" are partially included by default
* $DEFINE: To include:
*
* INCL_KBD KBD
* INCL_VIO VIO
* INCL_MOU MOU
*
$IF defined(INCL_SUB)
$DEFINE INCL_KBD
$DEFINE INCL_VIO
$DEFINE INCL_MOU
$ENDIF ! INCL_SUB
$IF defined(INCL_KBD)
C Keyboard prototypes
INTERFACE TO INTEGER*2 FUNCTION KbdRegister
+ [ALIAS: 'KBDREGISTER']
+ (ModuleName, ! module name
+ EntryName, ! entry-point name
+ Mask [VALUE]) ! function mask
CHARACTER*(*) ModuleName, EntryName
INTEGER*4 Mask
END
INTERFACE TO INTEGER*2 FUNCTION KbdDeregister
+ [ALIAS: 'KBDDEREGISTER']
END
INTERFACE TO INTEGER*2 FUNCTION KbdCharIn
+ [ALIAS: 'KBDCHARIN']
+ (KbdKeyInfoPtr, ! buffer for data
+ IOWait [VALUE], ! indicate if wait
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 IOWait, KbdHandle
STRUCTURE/KBDKEYINFO/
CHARACTER*1 chChar
CHARACTER*1 chScan
INTEGER*1 fbStatus
INTEGER*1 bNlsShift ! must be zero
INTEGER*2 fsState
INTEGER*4 time
END STRUCTURE
RECORD/KBDKEYINFO/ KbdKeyInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION KbdPeek
+ [ALIAS: 'KBDPEEK']
+ (KbdKeyInfoPtr, ! buffer for data
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 KbdHandle
STRUCTURE/KBDKEYINFO/
CHARACTER*1 chChar
CHARACTER*1 chScan
INTEGER*1 fbStatus
INTEGER*1 bNlsShift ! must be zero
INTEGER*2 fsState
INTEGER*4 time
END STRUCTURE
RECORD/KBDKEYINFO/ KbdKeyInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION KbdStringIn
+ [ALIAS: 'KBDSTRINGIN']
+ (CharBuffer, ! char buffer
+ StringInBufPtr, ! len buffer
+ IOWait [VALUE], ! indicate if wait
+ KbdHandle [VALUE]) ! keyboard handle
CHARACTER*(*) CharBuffer
INTEGER*2 IOWait, KbdHandle
STRUCTURE/STRINGINBUF/
INTEGER*2 cb
INTEGER*2 cchIn
END STRUCTURE
RECORD/STRINGINBUF/ StringInBufPtr
END
INTERFACE TO INTEGER*2 FUNCTION KbdFlushBuffer
+ [ALIAS: 'KBDFLUSHBUFFER']
+ (KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 KbdHandle
END
INTERFACE TO INTEGER*2 FUNCTION KbdSetStatus
+ [ALIAS: 'KBDSETSTATUS']
+ (KbdInfoPtr, ! record for status
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 KbdHandle
STRUCTURE/KBDINFO/
INTEGER*2 cb
INTEGER*2 fsMask
INTEGER*2 chTurnAround
INTEGER*2 fsInterim
INTEGER*2 fsState
END STRUCTURE
RECORD/KBDINFO/ KbdInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION KbdGetStatus
+ [ALIAS: 'KBDGETSTATUS']
+ (KbdInfoPtr, ! record for status
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 KbdHandle
STRUCTURE/KBDINFO/
INTEGER*2 cb
INTEGER*2 fsMask
INTEGER*2 chTurnAround
INTEGER*2 fsInterim
INTEGER*2 fsState
END STRUCTURE
RECORD/KBDINFO/ KbdInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION KbdSetCp
+ [ALIAS: 'KBDSETCP']
+ (Reserved [VALUE], ! must be zero
+ CodePageID [VALUE], ! translation tbl id
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 Reserved, CodePageID, KbdHandle
END
INTERFACE TO INTEGER*2 FUNCTION KbdGetCp
+ [ALIAS: 'KBDGETCP']
+ (Reserved [VALUE], ! must be zero
+ CodePageID, ! translation tbl id
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 Reserved*4, CodePageID, KbdHandle
END
INTERFACE TO INTEGER*2 FUNCTION KbdOpen
+ [ALIAS: 'KBDOPEN']
+ (KbdHandle) ! pointer to handle
INTEGER*2 KbdHandle
END
INTERFACE TO INTEGER*2 FUNCTION KbdClose
+ [ALIAS: 'KBDCLOSE']
+ (KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 KbdHandle
END
INTERFACE TO INTEGER*2 FUNCTION KbdGetFocus
+ [ALIAS: 'KBDGETFOCUS']
+ (IOWait [VALUE], ! indicate if wait
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 IOWait, KbdHandle
END
INTERFACE TO INTEGER*2 FUNCTION KbdFreeFocus
+ [ALIAS: 'KBDFREEFOCUS']
+ (KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 KbdHandle
END
INTERFACE TO INTEGER*2 FUNCTION KbdSynch
+ [ALIAS: 'KBDSYNCH']
+ (IOWait [VALUE]) ! indicates to wait
INTEGER*2 IOWait
END
INTERFACE TO INTEGER*2 FUNCTION KbdSetFgnd
+ [ALIAS: 'KBDSETFGND']
END
INTERFACE TO INTEGER*2 FUNCTION KbdXlate
+ [ALIAS: 'KBDXLATE']
+ (KbdXlatePtr, ! translation record
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 KbdHandle
STRUCTURE/KBDXLATE_/
CHARACTER*1 chChar
CHARACTER*1 chScan
INTEGER*1 fbStatus
INTEGER*1 bNlsShift ! must be zero
INTEGER*2 fsState
INTEGER*4 time
INTEGER*2 fsDD
INTEGER*2 fsXlate
INTEGER*2 fsShift
INTEGER*2 sZero ! must be zero
END STRUCTURE
RECORD/KBDXLATE_/ KbdXlatePtr
END
INTERFACE TO INTEGER*2 FUNCTION KbdSetCustXt
+ [ALIAS: 'KBDSETCUSTXT']
+ (CodePage, ! translation table
+ KbdHandle [VALUE]) ! keyboard handle
INTEGER*2 CodePage(*), KbdHandle
END
$ENDIF ! INCL_KBD
$IF defined(INCL_VIO)
C Video I/O prototypes
INTERFACE TO INTEGER*2 FUNCTION VioRegister
+ [ALIAS: 'VIOREGISTER']
+ (ModuleName, ! module name
+ EntryName, ! entry-point name
+ FunctionMask1 [VALUE], ! function mask 1
+ FunctionMask2 [VALUE]) ! function mask 2
CHARACTER*(*) ModuleName, EntryName
INTEGER*4 FunctionMask1, FunctionMask2
END
INTERFACE TO INTEGER*2 FUNCTION VioDeregister
+ [ALIAS: 'VIODEREGISTER']
END
INTERFACE TO INTEGER*2 FUNCTION VioGetBuf
+ [ALIAS: 'VIOGETBUF']
+ (LVBPtr, ! pointer to LVB
+ Length [VALUE], ! length of LVB
+ VioHandle [VALUE]) ! video handle
INTEGER*2 LVBPtr*4, Length, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioGetCurPos
+ [ALIAS: 'VIOGETCURPOS']
+ (Row, ! row return data
+ Column, ! column return data
+ VioHandle [VALUE]) ! video handle
INTEGER*2 Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioSetCurPos
+ [ALIAS: 'VIOSETCURPOS']
+ (Row [VALUE], ! row position
+ Column [VALUE], ! column position
+ VioHandle [VALUE]) ! video handle
INTEGER*2 Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioGetCurType
+ [ALIAS: 'VIOGETCURTYPE']
+ (VioCursorInfoPtr, ! cursor info
+ VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
STRUCTURE/VIOCURSORINFO/
INTEGER*2 yStart
INTEGER*2 cEnd
INTEGER*2 cx
INTEGER*2 attr
END STRUCTURE
RECORD/VIOCURSORINFO/ VioCursorInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION VioSetCurType
+ [ALIAS: 'VIOSETCURTYPE']
+ (VioCursorInfoPtr, ! cursor info
+ VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
STRUCTURE/VIOCURSORINFO/
INTEGER*2 yStart
INTEGER*2 cEnd
INTEGER*2 cx
INTEGER*2 attr
END STRUCTURE
RECORD/VIOCURSORINFO/ VioCursorInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION VioGetMode
+ [ALIAS: 'VIOGETMODE']
+ (VioModeInfoPtr, ! mode info
+ VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
STRUCTURE/VIOMODEINFO/
INTEGER*2 cb
INTEGER*1 fbType
INTEGER*1 color
INTEGER*2 col
INTEGER*2 row
INTEGER*2 hres
INTEGER*2 vres
INTEGER*1 fmt_ID ! must be zero
INTEGER*1 attrib ! must be zero
END STRUCTURE
RECORD/VIOMODEINFO/ VioModeInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION VioSetMode
+ [ALIAS: 'VIOSETMODE']
+ (VioModeInfoPtr, ! mode info
+ VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
STRUCTURE/VIOMODEINFO/
INTEGER*2 cb
INTEGER*1 fbType
INTEGER*1 color
INTEGER*2 col
INTEGER*2 row
INTEGER*2 hres
INTEGER*2 vres
INTEGER*1 fmt_ID ! must be zero
INTEGER*1 attrib ! must be zero
END STRUCTURE
RECORD/VIOMODEINFO/ VioModeInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION VioGetPhysBuf
+ [ALIAS: 'VIOGETPHYSBUF']
+ (VioPhysBufPtr, ! data structure
+ Reserved [VALUE]) ! must be zero
INTEGER*2 Reserved
STRUCTURE/VIOPHYSBUF/
INTEGER*4 pBuf
INTEGER*4 cb
INTEGER*2 asel(1)
END STRUCTURE
RECORD/VIOPHYSBUF/ VioPhysBufPtr
END
INTERFACE TO INTEGER*2 FUNCTION VioReadCellStr
+ [ALIAS: 'VIOREADCELLSTR']
+ (CellStr, ! cell string buffer
+ Length, ! length of CellStr in bytes
+ Row [VALUE], ! starting row
+ Column [VALUE], ! starting column
+ VioHandle [VALUE]) ! video handle
CHARACTER*(*) CellStr
INTEGER*2 Length, Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioWrtCellStr
+ [ALIAS: 'VIOWRTCELLSTR']
+ (CellStr, ! cell string buffer
+ Length [VALUE], ! length of CellStr in bytes
+ Row [VALUE], ! starting row
+ Column [VALUE], ! starting column
+ VioHandle [VALUE]) ! video handle
CHARACTER*(*) CellStr
INTEGER*2 Length, Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioReadCharStr
+ [ALIAS: 'VIOREADCHARSTR']
+ (CharString, ! character buffer
+ Length, ! length of buffer
+ Row [VALUE], ! starting row
+ Column [VALUE], ! starting column
+ VioHandle [VALUE]) ! video handle
CHARACTER*(*) CharString
INTEGER*2 Length, Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioWrtCharStr
+ [ALIAS: 'VIOWRTCHARSTR']
+ (CharString, ! character buffer
+ Length [VALUE], ! length of buffer
+ Row [VALUE], ! starting row
+ Column [VALUE], ! starting column
+ VioHandle [VALUE]) ! video handle
CHARACTER*(*) CharString
INTEGER*2 Length, Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioScrollDn
+ [ALIAS: 'VIOSCROLLDN']
+ (TopRow [VALUE], ! top row
+ LeftCol [VALUE], ! left column
+ BotRow [VALUE], ! bottom row
+ RightCol [VALUE], ! right column
+ Lines [VALUE], ! num blank lines
+ Cell, ! cell to write
+ VioHandle [VALUE]) ! video handle
INTEGER*1 Cell(2)
INTEGER*2 TopRow, LeftCol, BotRow, RightCol, Lines, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioScrollUp
+ [ALIAS: 'VIOSCROLLUP']
+ (TopRow [VALUE], ! top row
+ LeftCol [VALUE], ! left column
+ BotRow [VALUE], ! bottom row
+ RightCol [VALUE], ! right column
+ Lines [VALUE], ! num blank lines
+ Cell, ! cell to write
+ VioHandle [VALUE]) ! video handle
INTEGER*1 Cell(2)
INTEGER*2 TopRow, LeftCol, BotRow, RightCol, Lines, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioScrollLf
+ [ALIAS: 'VIOSCROLLLF']
+ (TopRow [VALUE], ! top row
+ LeftCol [VALUE], ! left column
+ BotRow [VALUE], ! bottom row
+ RightCol [VALUE], ! right column
+ Columns [VALUE], ! num blank columns
+ Cell, ! cell to write
+ VioHandle [VALUE]) ! video handle
INTEGER*1 Cell(2)
INTEGER*2 TopRow, LeftCol, BotRow, RightCol, Columns, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioScrollRt
+ [ALIAS: 'VIOSCROLLRT']
+ (TopRow [VALUE], ! top row
+ LeftCol [VALUE], ! left column
+ BotRow [VALUE], ! bottom row
+ RightCol [VALUE], ! right column
+ Columns [VALUE], ! num blank columns
+ Cell, ! cell to write
+ VioHandle [VALUE]) ! video handle
INTEGER*1 Cell(2)
INTEGER*2 TopRow, LeftCol, BotRow, RightCol, Columns, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioWrtNAttr
+ [ALIAS: 'VIOWRTNATTR']
+ (Attr, ! attribute to write
+ Times [VALUE], ! repeat count
+ Row [VALUE], ! starting row
+ Column [VALUE], ! starting column
+ VioHandle [VALUE]) ! video handle
INTEGER*1 Attr
INTEGER*2 Times, Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioWrtNCell
+ [ALIAS: 'VIOWRTNCELL']
+ (Cell, ! cell to write
+ Times [VALUE], ! repeat count
+ Row [VALUE], ! starting row
+ Column [VALUE], ! starting column
+ VioHandle [VALUE]) ! video handle
INTEGER*1 Cell(2)
INTEGER*2 Times, Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioWrtNChar
+ [ALIAS: 'VIOWRTNCHAR']
+ (Char, ! character to write
+ Times [VALUE], ! repeat count
+ Row [VALUE], ! starting row
+ Column [VALUE], ! starting column
+ VioHandle [VALUE]) ! video handle
INTEGER*1 Char
INTEGER*2 Times, Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioWrtTTY
+ [ALIAS: 'VIOWRTTTY']
+ (CharString, ! string to write
+ Length [VALUE], ! length of string
+ VioHandle [VALUE]) ! video handle
CHARACTER*(*) CharString
INTEGER*2 Length, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioWrtCharStrAtt
+ [ALIAS: 'VIOWRTCHARSTRATT']
+ (CharString, ! string to write
+ Length [VALUE], ! length of string
+ Row [VALUE], ! starting row
+ Column [VALUE], ! starting column
+ Attr, ! attribute
+ VioHandle [VALUE]) ! video handle
CHARACTER*(*) CharString
INTEGER*1 Attr
INTEGER*2 Length, Row, Column, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioShowBuf
+ [ALIAS: 'VIOSHOWBUF']
+ (Offset [VALUE], ! offset into LVB
+ Length [VALUE], ! length
+ VioHandle [VALUE]) ! video handle
INTEGER*2 Offset, Length, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioSetAnsi
+ [ALIAS: 'VIOSETANSI']
+ (Indicator [VALUE], ! on/off indicator
+ VioHandle [VALUE]) ! video handle
INTEGER*2 Indicator, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioGetAnsi
+ [ALIAS: 'VIOGETANSI']
+ (Indicator, ! on/off indicator
+ VioHandle [VALUE]) ! video handle
INTEGER*2 Indicator, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioPrtsc
+ [ALIAS: 'VIOPRTSC']
+ (VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioPrtscToggle
+ [ALIAS: 'VIOPRTSCTOGGLE']
+ (VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioSavRedrawWait
+ [ALIAS: 'VIOSAVREDRAWWAIT']
+ (SaveRedrawIndic [VALUE], ! save/redraw indic.
+ NotifyType, ! notify type
+ VioHandle [VALUE]) ! video handle
INTEGER*2 SaveRedrawIndic, NotifyType, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioSavRedrawUndo
+ [ALIAS: 'VIOSAVREDRAWUNDO']
+ (OwnerIndic [VALUE], ! indicates owner
+ KillIndic [VALUE], ! indicates kill
+ VioHandle [VALUE]) ! video handle
INTEGER*2 OwnerIndic, KillIndic, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioModeWait
+ [ALIAS: 'VIOMODEWAIT']
+ (RequestType [VALUE], ! request type
+ NotifyType, ! notify type
+ Reserved [VALUE]) ! must be zero
INTEGER*2 RequestType, NotifyType, Reserved
END
INTERFACE TO INTEGER*2 FUNCTION VioModeUndo
+ [ALIAS: 'VIOMODEUNDO']
+ (OwnerIndic [VALUE], ! indicates owner
+ KillIndic [VALUE], ! indicates kill
+ Reserved [VALUE]) ! must be zero
INTEGER*2 OwnerIndic, KillIndic, Reserved
END
INTERFACE TO INTEGER*2 FUNCTION VioScrlock
+ [ALIAS: 'VIOSCRLOCK']
+ (WaitFlag [VALUE], ! block or not
+ Status, ! status of lock
+ VioHandle [VALUE]) ! video handle
INTEGER*2 WaitFlag, Status, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioScrUnlock
+ [ALIAS: 'VIOSCRUNLOCK']
+ (VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioPopUp
+ [ALIAS: 'VIOPOPUP']
+ (WaitFlags, ! indicates wait
+ VioHandle [VALUE]) ! video handle
INTEGER*2 WaitFlags, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioEndPopUp
+ [ALIAS: 'VIOENDPOPUP']
+ (VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioGetConfig
+ [ALIAS: 'VIOGETCONFIG']
+ (Reserved [VALUE], ! must be zero
+ VioConfigInfoPtr, ! configuration data
+ VioHandle [VALUE]) ! video handle
INTEGER*2 Reserved, VioHandle
STRUCTURE/VIOCONFIGINFO/
INTEGER*2 cb
INTEGER*2 adapter
INTEGER*2 display
INTEGER*4 cbMemory
END STRUCTURE
RECORD/VIOCONFIGINFO/ VioConfigInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION VioGetFont
+ [ALIAS: 'VIOGETFONT']
+ (VioFontInfoPtr, ! request block
+ VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
STRUCTURE/VIOFONTINFO/
INTEGER*2 cb
INTEGER*2 type
INTEGER*2 cxCell
INTEGER*2 cyCell
INTEGER*4 pbData
INTEGER*2 cbData
END STRUCTURE
RECORD/VIOFONTINFO/ VioFontInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION VioSetFont
+ [ALIAS: 'VIOSETFONT']
+ (VioFontInfoPtr, ! request block
+ VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
STRUCTURE/VIOFONTINFO/
INTEGER*2 cb
INTEGER*2 type
INTEGER*2 cxCell
INTEGER*2 cyCell
INTEGER*4 pbData
INTEGER*2 cbData
END STRUCTURE
RECORD/VIOFONTINFO/ VioFontInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION VioGetCp
+ [ALIAS: 'VIOGETCP']
+ (Reserved [VALUE], ! must be zero
+ CodePageID, ! code-page id
+ VioHandle [VALUE]) ! video handle
INTEGER*2 Reserved, CodePageID, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioSetCp
+ [ALIAS: 'VIOSETCP']
+ (Reserved [VALUE], ! must be zero
+ CodePageID [VALUE], ! code-page id
+ VioHandle [VALUE]) ! video handle
INTEGER*2 Reserved, CodePageID, VioHandle
END
INTERFACE TO INTEGER*2 FUNCTION VioGetState
+ [ALIAS: 'VIOGETSTATE']
+ (VioStatePtr, ! request block
+ VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
STRUCTURE/VIOSTATE/
INTEGER*2 cb
INTEGER*2 type
UNION
MAP ! if "type" = 0
INTEGER*2 iFirst
INTEGER*2 acolor(16)
END MAP
MAP ! if "type" = 1
INTEGER*2 color
END MAP
MAP ! if "type" = 2
INTEGER*2 fs
END MAP
END UNION
END STRUCTURE
RECORD/VIOSTATE/ VioStatePtr
END
INTERFACE TO INTEGER*2 FUNCTION VioSetState
+ [ALIAS: 'VIOSETSTATE']
+ (VioStatePtr, ! request block
+ VioHandle [VALUE]) ! video handle
INTEGER*2 VioHandle
STRUCTURE/VIOSTATE/
INTEGER*2 cb
INTEGER*2 type
UNION
MAP ! if "type" = 0
INTEGER*2 iFirst
INTEGER*2 acolor(16)
END MAP
MAP ! if "type" = 1
INTEGER*2 color
END MAP
MAP ! if "type" = 2
INTEGER*2 fs
END MAP
END UNION
END STRUCTURE
RECORD/VIOSTATE/ VioStatePtr
END
$ENDIF ! INCL_VIO
$IF defined(INCL_MOU)
C Mouse prototypes
INTERFACE TO INTEGER*2 FUNCTION MouRegister
+ [ALIAS: 'MOUREGISTER']
+ (ModuleName, ! module name
+ EntryName, ! entry-point name
+ Mask [VALUE]) ! function mask
CHARACTER*(*) ModuleName, EntryName
INTEGER Mask*4
END
INTERFACE TO INTEGER*2 FUNCTION MouDeregister
+ [ALIAS: 'MOUDEREGISTER']
END
INTERFACE TO INTEGER*2 FUNCTION MouFlushQue
+ [ALIAS: 'MOUFLUSHQUE']
+ (DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouGetHotKey
+ [ALIAS: 'MOUGETHOTKEY']
+ (ButtonMask, ! button mask
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 ButtonMask, DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouSetHotKey
+ [ALIAS: 'MOUSETHOTKEY']
+ (ButtonMask, ! button mask
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 ButtonMask, DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouGetPtrPos
+ [ALIAS: 'MOUGETPTRPOS']
+ (PtrLocPtr, ! info structure
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
STRUCTURE/PTRLOC/
INTEGER*2 row
INTEGER*2 col
END STRUCTURE
RECORD/PTRLOC/ PtrLocPtr
END
INTERFACE TO INTEGER*2 FUNCTION MouSetPtrPos
+ [ALIAS: 'MOUSETPTRPOS']
+ (PtrLocPtr, ! info structure
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
STRUCTURE/PTRLOC/
INTEGER*2 row
INTEGER*2 col
END STRUCTURE
RECORD/PTRLOC/ PtrLocPtr
END
INTERFACE TO INTEGER*2 FUNCTION MouGetPtrShape
+ [ALIAS:' MOUGETPTRSHAPE']
+ (PtrBuffer, ! shape buffer
+ PtrShapePtr, ! defintion structure
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 PtrBuffer(*)*1, DeviceHandle
STRUCTURE/PTRSHAPE/
INTEGER*2 cb
INTEGER*2 col
INTEGER*2 row
INTEGER*2 colHot
INTEGER*2 colRow
END STRUCTURE
RECORD/PTRSHAPE/ PtrShapePtr
END
INTERFACE TO INTEGER*2 FUNCTION MouSetPtrShape
+ [ALIAS:' MOUSETPTRSHAPE']
+ (PtrBuffer, ! shape buffer
+ PtrShapePtr, ! defintion structure
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 PtrBuffer(*)*1, DeviceHandle
STRUCTURE/PTRSHAPE/
INTEGER*2 cb
INTEGER*2 col
INTEGER*2 row
INTEGER*2 colHot
INTEGER*2 colRow
END STRUCTURE
RECORD/PTRSHAPE/ PtrShapePtr
END
INTERFACE TO INTEGER*2 FUNCTION MouGetDevStatus
+ [ALIAS: 'MOUGETDEVSTATUS']
+ (DeviceStatus, ! current stat
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceStatus, DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouGetNumButtons
+ [ALIAS: 'MOUGETNUMBUTTONS']
+ (Buttons, ! number buttons
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 Buttons, DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouGetNumMickeys
+ [ALIAS: 'MOUGETNUMMICKEYS']
+ (Mickeys, ! mickeys per cm
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 Mickeys, DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouReadEventQue
+ [ALIAS: 'MOUREADEVENTQUE']
+ (MouEventInfoPtr, ! event structure
+ NoWait, ! wait/no wait
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 NoWait, DeviceHandle
STRUCTURE/MOUEVENTINFO/
INTEGER*2 fs
INTEGER*4 time
INTEGER*2 row
INTEGER*2 col
END STRUCTURE
RECORD/MOUEVENTINFO/ MouEventInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION MouGetNumQueEl
+ [ALIAS: 'MOUGETNUMQUEEL']
+ (MouQueInfoPtr, ! queue structure
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
STRUCTURE/MOUQUEINFO/
INTEGER*2 cEvents
INTEGER*2 cmaxEvents
END STRUCTURE
RECORD/MOUQUEINFO/ MouQueInfoPtr
END
INTERFACE TO INTEGER*2 FUNCTION MouGetEventMask
+ [ALIAS: 'MOUGETEVENTMASK']
+ (EventMask, ! event mask
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 EventMask, DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouSetEventMask
+ [ALIAS: 'MOUSETEVENTMASK']
+ (EventMask, ! event mask
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 EventMask, DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouGetScaleFact
+ [ALIAS: 'MOUGETSCALEFACT']
+ (ScaleFactPtr, ! scaling structure
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
STRUCTURE/SCALEFACT/
INTEGER*2 rowScale
INTEGER*2 colScale
END STRUCTURE
RECORD/SCALEFACT/ ScaleFactPtr
END
INTERFACE TO INTEGER*2 FUNCTION MouSetScaleFact
+ [ALIAS: 'MOUSETSCALEFACT']
+ (ScaleFactPtr, ! scaling structure
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
STRUCTURE/SCALEFACT/
INTEGER*2 rowScale
INTEGER*2 colScale
END STRUCTURE
RECORD/SCALEFACT/ ScaleFactPtr
END
INTERFACE TO INTEGER*2 FUNCTION MouOpen
+ [ALIAS: 'MOUOPEN']
+ (DriverName, ! driver name
+ DeviceHandle) ! device handle
CHARACTER*(*) DriverName
INTEGER*2 DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouClose
+ [ALIAS: 'MOUCLOSE']
+ (DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouRemovePtr
+ [ALIAS: 'MOUREMOVEPTR']
+ (NoPtrRectPtr, ! pointer structure
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
STRUCTURE/NOPTRRECT/
INTEGER*2 row
INTEGER*2 col
INTEGER*2 cRow
INTEGER*2 cCol
END STRUCTURE
RECORD/NOPTRRECT/ NoPtrRectPtr
END
INTERFACE TO INTEGER*2 FUNCTION MouDrawPtr
+ [ALIAS: 'MOUDRAWPTR']
+ (DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouSetDevStatus
+ [ALIAS: 'MOUSETDEVSTATUS']
+ (DeviceStatus, ! new status flags
+ DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceStatus, DeviceHandle
END
INTERFACE TO INTEGER*2 FUNCTION MouInitReal
+ [ALIAS: 'MOUINITREAL']
+ (DriverName) ! driver name
CHARACTER*(*) DriverName
END
INTERFACE TO INTEGER*2 FUNCTION MouSynch
+ [ALIAS: 'MOUSYNCH']
+ (DeviceHandle [VALUE]) ! device handle
INTEGER*2 DeviceHandle
END
$ENDIF ! INCL_MOU