home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v2.zip / DDKX86 / DBCSDD / INC_DBCS / VXVIO.INC < prev   
Text File  |  1995-04-14  |  7KB  |  226 lines

  1. ;*DDK*************************************************************************/
  2. ;
  3. ; COPYRIGHT (C) Microsoft Corporation, 1989
  4. ; COPYRIGHT    Copyright (C) 1995 IBM Corporation
  5. ;
  6. ;    The following IBM OS/2 WARP source code is provided to you solely for
  7. ;    the purpose of assisting you in your development of OS/2 WARP device
  8. ;    drivers. You may use this code in accordance with the IBM License
  9. ;    Agreement provided in the IBM Device Driver Source Kit for OS/2. This
  10. ;    Copyright statement may not be removed.;
  11. ;*****************************************************************************/
  12. ;***    VVD.INC
  13. ;
  14. ;
  15. ;    MVDM Virtual Video Exported Definitions
  16. ;
  17. ;    For include file hierarchy, see MVDM.INC
  18. ;
  19. ;    MODIFICATION HISTORY
  20. ;    07/08/92    JTP        Created.
  21. ;
  22.  
  23. VXVIO_NAME    EQU    "VXVIO$"        ;registered name of VXVIO
  24.  
  25. ;***    Mode Data tables
  26. ;
  27. DefStruc ,vxmode_s
  28.     USHORT vxm_cb
  29.     UCHAR  vxm_fbType
  30.     UCHAR  vxm_color
  31.     USHORT vxm_col
  32.     USHORT vxm_row
  33.     USHORT vxm_hres
  34.     USHORT vxm_vres
  35.     UCHAR  vxm_FormatID
  36.     UCHAR  vxm_attrib
  37. EndStruc VXMODE
  38.  
  39. DefType PVXMODE,dd
  40.  
  41. ;***    VXVIO constants for system communication
  42. ;
  43.  
  44. ifndef DSP2OLD                   ;if vxvio.sys,         ;j-ea0610
  45. VXSYSREQ_WAITEVENT    EQU    1
  46. VXSYSREQ_GETCURSOR    EQU    2
  47. VXSYSREQ_SETCURSOR    EQU    3
  48. VXSYSREQ_COPYLVB    EQU    4
  49. VXSYSREQ_WRITESTR    EQU    5
  50. VXSYSREQ_SAVESCREEN    EQU    6
  51. VXSYSREQ_RESTORESCREEN    EQU    7
  52. VXSYSREQ_SETEVENTFILTER        EQU    8
  53.  
  54. VXSYSREQ_MAX    EQU    8
  55. else                                     ;j-ea1210
  56. VXSYSREQ_WAITEVENT    EQU    1   + VVDSYSREQ_MAX
  57. VXSYSREQ_GETCURSOR    EQU    6   + VVDSYSREQ_MAX
  58. VXSYSREQ_SETCURSOR    EQU    3   + VVDSYSREQ_MAX
  59. VXSYSREQ_COPYLVB    EQU    4   + VVDSYSREQ_MAX
  60. VXSYSREQ_WRITESTR    EQU    2   + VVDSYSREQ_MAX
  61. VXSYSREQ_SAVESCREEN    EQU    5   + VVDSYSREQ_MAX
  62. VXSYSREQ_RESTORESCREEN    EQU    8   + VVDSYSREQ_MAX
  63. VXSYSREQ_SETEVENTFILTER        EQU    7   + VVDSYSREQ_MAX
  64.  
  65. VXSYSREQ_MAX    EQU    8   + VVDSYSREQ_MAX
  66.  
  67. ;VVDSYSREQ_WAITSGEVENT    EQU    18
  68. ;VVDSYSREQ_WRITESTR    EQU    19
  69. ;VVDSYSREQ_SETCURSOR    EQU    20
  70. ;VVDSYSREQ_COPYLVBX    EQU    21
  71. ;VVDSYSREQ_SAVESCREEN    EQU    22
  72. ;VVDSYSREQ_GETCURSOR    EQU    23
  73. ;VVDSYSREQ_SETEVENTFILTER    EQU    24
  74. ;VVDSYSREQ_RESTORESCREEN    EQU    25
  75. endif                                     ;j-ea1210
  76.  
  77. ; VX event IDs for VXSYSREQ_WAITEVENT
  78. ;
  79.  
  80. VXEVENT_NONE    EQU    0    ;no events
  81. VXEVENT_MODE    EQU    1    ;change in VDM's mode         
  82. VXEVENT_LVB    EQU    2    ;change in VDM's LVB          
  83. VXEVENT_CURSOR    EQU    3    ;cursor position/type change
  84. VXEVENT_REDRAW    EQU    4    ;redraw request from vvideo
  85. VXEVENT_HIDE    EQU    5    ;change in foreground session
  86. VXEVENT_FOREGROUND    EQU    6    ;change in foreground session
  87. VXEVENT_BACKGROUND    EQU    7    ;change in foreground session
  88. VXEVENT_STRING    EQU    8    ;string output
  89.  
  90. VXEVENT_MAX    EQU    8
  91.  
  92. VXEVENTMASK_MODE    EQU    000000001h  ;change in VDM's mode         
  93. VXEVENTMASK_LVB        EQU    000000002h  ;change in VDM's LVB          
  94. VXEVENTMASK_CURSOR    EQU    000000004h  ;cursor position/type change
  95. VXEVENTMASK_REDRAW    EQU    000000008h  ;redraw request from vvideo
  96. VXEVENTMASK_HIDE    EQU    000000010h  ;redraw request from vvideo
  97. VXEVENTMASK_FOREGROUND    EQU    000000020h  ;change in foreground session
  98. VXEVENTMASK_BACKGROUND    EQU    000000040h  ;change in foreground session
  99. VXEVENTMASK_STRING    EQU    000000080h  ;string output
  100. VXEVENTMASK_ANY        EQU    0ffffffffh
  101.  
  102. XEVENT_FLUSH    EQU    00002h        ;flush event immediately
  103. XEVENT_ASYNC    EQU    00008h        ;asynchronous event
  104. XEVENT_FORCE    EQU    00010h        ;force to add even if the event is masked
  105. XEVENT_OWNER    EQU    01000h        ;caller owns EventUpdate semaphore
  106.  
  107. DefStruc ,vxe_s
  108.     LONG   vxe_iEvent           ;one of the VVDEVENT_* constants
  109.     ULONG  vxe_sgID           ;screen group ID of VDM --- Input !!
  110.     ULONG  vxe_nData           ;# of entries of information returned
  111.     ULONG  vxe_iEventMask      ;event mask
  112. EndStruc VXEVENT
  113.  
  114. DefType PVXEVENT,dd
  115.  
  116. ;*** VXVIO exported function prototypes
  117. ;
  118.  
  119.  ;vvc (input for SETCURSOR and output for WaitEvent request)
  120. DefStruc ,vxc_s
  121.     ULONG  vxc_row           ;row (y position) of VDM's cursor            
  122.     ULONG  vxc_col           ;column (x position) of VDM's cursor         
  123.     ULONG  vxc_ulScanStart     ;starting scan-line for VDM's cursor         
  124.     ULONG  vxc_ulScanEnd       ;ending scan-line for VDM's cursor           
  125.     ULONG  vxc_attribute       ;cursor color( hide )/blink etc.
  126.     ULONG  vxc_frequest           ;indicate request type. posion, type or both.
  127. EndStruc VXCURSOR
  128.  
  129. DefType PVXCURSOR,dd
  130.  
  131. ; bit definition for vxc_attribute
  132.  
  133. CURS_MASKBLINK    EQU    00300h
  134. CURS_BLINKOFF    EQU    00000h
  135. CURS_BLINKLOW    EQU    00100h
  136. CURS_BLINKMED    EQU    00200h
  137. CURS_BLINKHI    EQU    00300h
  138. CURS_MASKCOLOR    EQU    000f0h     ;CURS_COLOR is always 0 for output parmeter
  139. CURS_HIDDEN    EQU    00001h
  140.  
  141. ; definition for vxc_frequest
  142.  
  143. VXC_SETPOSITION        EQU    000000001h
  144. VXC_SETCTYPE    EQU    000000002h
  145.  
  146. DefStruc ,vxws_s            ;vvws (write string event)
  147.     ULONG  vxws_row           ;start row position
  148.     ULONG  vxws_col           ;start column position
  149.     ULONG  vxws_depth           ;write depth
  150.     ULONG  vxws_psinfo           ;indicate presence of PS
  151. EndStruc VXWSTR
  152.  
  153. DefType PVXWSTR,dd
  154.  
  155. DefStruc ,vxs_s            ;vvs (output for SCROLL event)
  156.     RECTL  vxs_rcl           ;rectangle being scrolled
  157.     LONG   vxs_fill           ;fill value
  158.     LONG   vxs_nRows           ;# rows (negative means reverse scroll)
  159.     LONG   vxs_nCols           ;# columns (0,0 means rectangle blankfilled)
  160. EndStruc VXSCROLL
  161.  
  162. DefType PVXSCROLL,dd
  163.  
  164. DefStruc ,vxa_s            ;vva (output for STRING event)
  165.     ULONG  vxa_row           ;beginning row of string
  166.     ULONG  vxa_col           ;beginning column of string
  167.     ULONG  vxa_nChars           ;# characters in string
  168. EndStruc VXSTRING
  169.  
  170. DefType PVXSTRING,dd
  171.  
  172. FORMATID_EPOCHCOLOR    EQU    041h
  173. FORMATID_EPOCHMONO    EQU    081h
  174. FORMATID_MCKCOLOR    EQU    020h
  175. FORMATID_COMMON        EQU    070h
  176.  
  177. DefType VXLVB,RECTL
  178. DefType PVXLVB,dd
  179.  
  180. ;*** VXVIO - VVD entry table
  181. ;
  182.  
  183. DefType PVVDENTRY,dd
  184. DefType PXVIOENTRY,dd
  185.  
  186. DefStruc ,vxex_s            ;vxex (VXVIO service entries)
  187.     PXVIOENTRY    vxex_SetVVDType
  188.     PXVIOENTRY    vxex_AddEvent
  189.     PXVIOENTRY    vxex_FlushEvent
  190.     PXVIOENTRY    vxex_SetStatus
  191. EndStruc VXENTRYSX
  192.  
  193. DefType PVXENTRYSX,dd
  194.  
  195. DefStruc ,vxev_s            ;vxev (VVD service entries)
  196.     PVVDENTRY    vxev_GetCursor
  197.     PVVDENTRY    vxev_SetCursor
  198.     PVVDENTRY    vxev_CopyLVB
  199.     PVVDENTRY    vxev_WriteString
  200.     PVVDENTRY    vxev_SaveScreen
  201.     PVVDENTRY    vxev_RestoreScreen
  202. EndStruc VXENTRYSV
  203.  
  204. DefType PVXENTRYSV,dd
  205.  
  206. XVIO_RESET_FLAG        EQU    0
  207. XVIO_SET_FLAG    EQU    1
  208.  
  209. XVIO_STATUS_MODECHANGING    EQU    0
  210. XVIO_STATUS_XVIOUPDATING    EQU    1
  211. XVIO_STATUS_STATEINIT    EQU    2
  212.  
  213. ;***    VXVIO constants for inter-VDD communication
  214. ;
  215.  
  216. VXDEVREQ_REGISTERVVD    EQU    1   ;register VVD into VXVIO
  217.  
  218. VXDEVREQ_MAX    EQU    1
  219.  
  220. DefStruc ,vxr_s
  221.     ULONG    vxr_VVDID
  222.     VXENTRYSX    vxr_XVIOEntry
  223. EndStruc VXREGISTER
  224.  
  225. DefType PVXREGISTER,dd
  226.