home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / VDH / VDHSTRUC.INC < prev    next >
Text File  |  1995-04-14  |  12KB  |  236 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. ;/*****************************************************************************
  13. ;*
  14. ;* SOURCE FILE NAME = VDHSTRUCT.INC
  15. ;*
  16. ;* DESCRIPTIVE NAME = Structure definitions for base video
  17. ;*
  18. ;*
  19. ;* VERSION      V2.0
  20. ;*
  21. ;* DATE         
  22. ;*
  23. ;* DESCRIPTION  Structure definitions for base video 
  24. ;*
  25. ;* FUNCTIONS    NONE
  26. ;*
  27. ;* NOTES        NONE
  28. ;*
  29. ;* STRUCTURES   NONE
  30. ;*
  31. ;* EXTERNAL REFERENCES
  32. ;*
  33. ;*              NONE
  34. ;*
  35. ;* EXTERNAL FUNCTIONS
  36. ;*
  37. ;*              NONE
  38. ;*
  39. ;* CHANGE ACTIVITY =
  40. ;*   DATE      FLAG        APAR   CHANGE DESCRIPTION
  41. ;*   --------  ----------  -----  --------------------------------------
  42. ;*   mm/dd/yy  @Vr.mpppxx  xxxxx  xxxxxxx
  43. ;*   03/25/89              132    DCR 132 changes
  44. ;*   04/11/91              1348   NAKADA, Enable DBCS support in Vio-Window, DCR 1348
  45. ;*
  46. ;*****************************************************************************/
  47.  
  48. VDHBUF  STRUC                           ; VDH BufferUpdate stack frame
  49.  
  50. ;/*
  51. ;** this is the saved BP from the caller                                ;           
  52. ;*/
  53.                 dw      ?               ; BP of BVS
  54.  
  55. ;/*
  56. ;** these are local variables used by Buffer updated functions          ;           
  57. ;*/
  58.  
  59. PVB_Sel         dw      ?               ; Selector to the PVB or 0      ;           
  60. LVB_Sel         dw      ?               ; Selector to the LVB or 0      ;          
  61.  
  62. IFDEF D1348                             ;/prepare the 2nd LVB for DBCS flag
  63. j_dbcslvbsel    dw      0               ; DBCS flag LVB selector
  64.                                         ; save LVB size
  65. j_lvbsize       dw      0               ; LVB size (LVB and PS)
  66.                                         ; if 64K, set 0FFFFh
  67. j_funcindx      dw      0               ; function index for DBCS BufferUpdate
  68.                                         ;/DBCS BufferUpdate (bisecting DBCS
  69.                                         ; character status)
  70. j_dbcsstatus    dw      0               ; bisecting DBCS character status
  71. flgDBCS         dw      ?               ; flag to indicate some DBCS exists
  72. shadow_Flags    dw      ?               ; to see it's from wrttty
  73. lpNLSExt        dd      ?               ; pointer to NLS extended env.
  74. wSaveCpAttr1    dw      ?
  75. wSaveAttr2Attr3 dw      ?
  76. ENDIF ;D1348
  77.  
  78. mincol          dw      ?               ; left most column of the LVB   ;          
  79. minrow          dw      ?               ; top most row of the LVB       ;          
  80. maxcol          dw      ?               ; rigth most column of the LVB  ;          
  81. maxrow          dw      ?               ; bottom most row of the LVB    ;          
  82.  
  83. cellsize        dw      ?               ; number of bytes per cell in LVB ;          
  84. lvb_width       dw      ?               ; number of cells wide the LVB is ;          
  85.  
  86. ScrollFlags     dw      ?               ; flags for Scroll functions    ;          
  87. FillCellLow     dw      ?               ; low word of the default cell  ;          
  88. FillCellHigh    dw      ?               ; high word of the default cell ;          
  89.  
  90. RowsToFill      dw      ?               ; number of rows left blank by scroll ;          
  91.  
  92. LVBFillCount    dw      ?               ; number of bytes per fill row in LVB ;          
  93. LVBFillSkip     dw      ?               ; number of bytes to next line in LVB ;          
  94. LVBFillOff      dw      ?               ; beginning offset of fill rect in LVB ;          
  95.  
  96. PVBFillCount    dw      ?               ; number of bytes per fill row in PVB ;          
  97. PVBFillSkip     dw      ?               ; number of bytes to next line in PVB ;          
  98. PVBFillOff      dw      ?               ; beginning offset of fill rect in PVB ;          
  99.  
  100. RowsToMove      dw      ?               ; number of rows in rectangle to move ;          
  101.  
  102. LVBMoveCount    dw      ?               ; number of bytes per move row in LVB ;          
  103. LVBMoveSkip     dw      ?               ; number of bytes to next row in LVB ;          
  104. LVBMoveSrcOff   dw      ?               ; beginning of source move rect in LVB ;          
  105. LVBMoveDestOff  dw      ?               ; beginning of dest move rect in LVB ;          
  106.  
  107. PVBMoveCount    dw      ?               ; number of bytes per move row in LVB ;          
  108. PVBMoveSkip     dw      ?               ; number of bytes to next row in LVB ;          
  109. PVBMoveSrcOff   dw      ?               ; beginning of source move rect in LVB ;          
  110. PVBMoveDestOff  dw      ?               ; beginning of dest move rect in LVB ;          
  111.  
  112. leftfill        dw      ?               ; left most column of fill rectangle ;          
  113. topfill         dw      ?               ; top most row of fill rectangle   ;          
  114. rightfill       dw      ?               ; right most column of fill rectangle ;          
  115. bottomfill      dw      ?               ; bottom most row of fill rectangle ;          
  116.  
  117. leftscroll      dw      ?               ; left most column of source rectangle ;          
  118. topscroll       dw      ?               ; top most row of source rectangle ;          
  119. rightscroll     dw      ?               ; right most column of source rectangle ;          
  120. bottomscroll    dw      ?               ; bottom most row of source rectangle ;          
  121.  
  122. leftdest        dw      ?               ; left most column of destination rect ;          
  123. topdest         dw      ?               ; top most row of destination rect ;          
  124. rightdest       dw      ?               ; right most column of destination rect ;          
  125. bottomdest      dw      ?               ; bottom most row of destination rect ;          
  126.  
  127. ;/*
  128. ;** this was on the stack before we got here
  129. ;*/
  130.                 dw      ?               ; IP of BVS                     ;          
  131.                 dw      ?               ; CS of BVS                     ;          
  132. FuncNumLo       dw      ?               ; BufferUpdate function number  ;          
  133. FuncNumHi       dw      ?               ; 
  134. ParmBuf         dd      ?               ; Selector:offset of paramter buffer ;          
  135. EnvBufParm      dd      ?               ; Selector:offset of environment buffer ;          
  136.  
  137. VDHBUF  ENDS
  138.  
  139. ;/*
  140. ;**   The Read and Write routines use a different set or local variables  ;          
  141. ;**   than the Scroll functions do.  The following are aliases for elements ;          
  142. ;**   of the local variable frame used by the Read and Write routines.    ;          
  143. ;*/
  144.  
  145. lvb_height      equ     ScrollFlags     ; number of rows in LVB         ;          
  146. FirstRow        equ     RowsToFill      ; number of cells or bytes in first row ;          
  147. RowLength       equ     LVBFillSkip     ; number of cells or bytes in later rows ;          
  148. LVBCount        equ     LVBFillCount    ; number of cells or bytes to move, LVB ;          
  149. LVBOff          equ     LVBFillOff      ; offset for read or write in LVB ;          
  150. PVBSkip         equ     PVBFillSkip     ; number of bytes to next row in PVB ;          
  151. PVBCount        equ     PVBFillCount    ; number of cells or bytes to move, PVB ;          
  152. PVBOff          equ     PVBFillOff      ; offset for read or write in LVB ;          
  153.  
  154. ;/*
  155. ;**   The following are equates used for the archaic CGA routines.        ;          
  156. ;**   This is only to avoid build problems until the routines get updated.;          
  157. ;*/
  158.  
  159. BottomRow       equ     ScrollFlags                                       ;          
  160. LeftCol         equ     RowsToFill                                        ;          
  161. LineLength      equ     LVBFillSkip                                       ;          
  162. Retrace         equ     LVBFillCount                                      ;          
  163. RightCol        equ     LVBFillOff                                        ;          
  164. ScrollCount     equ     PVBFillSkip                                       ;          
  165. SkipLength      equ     PVBFillCount                                      ;          
  166. TopRow          equ     PVBFillOff                                        ;          
  167.  
  168. IFDEF D1348
  169. defaultDBCS     equ     00000001b       ; default code page is of DBCS
  170. AvioDBCS        equ     00000010b       ; a code page for Avio lcid 1 to 3 is
  171.                                         ; of DBCS
  172. anyDBCS         equ     defaultDBCS+AvioDBCS
  173. ENDIF ;D1348
  174.  
  175.  
  176. VDHPARM STRUC                           ; VDH BufferUpdate parameter structure
  177.  
  178. ParmLength      dw      ?               ; Length parameter block buffer
  179. Flags           dw      ?               ; Source/target buffer (LVB, PVB)
  180. AppDataAddr     dd      ?               ; Address of application data buffer
  181. AppCellAddr     dd      ?               ; Address of char, attr, or cell
  182. FuncIndex       dw      ?               ; Sub-function number
  183. Row             dw      ?               ; Starting row
  184. Col             dw      ?               ; Starting column
  185. Row2            dw      ?               ; Secondary row or ending row
  186. Col2            dw      ?               ; Secondary column or ending column
  187. RepeatFactor    dw      ?               ; # of chars, cells, rows, or cols
  188. LogicalBufSel   dw      ?               ; LVB selector
  189. TouchXLeft      dw      ?               ; left most col touched by the write)   ;          
  190. TouchYTop       dw      ?               ; top most col touched by the write)    ;          
  191. TouchXRight     dw      ?               ; right most col touched by the write)  ;          
  192. TouchYBottom    dw      ?               ; bottom most col touched by the write) ;          
  193. LVBRowOff       dw      ?               ; row offset of the LVB relative to PVB ;          
  194. LVBColOff       dw      ?               ; col offset of the LVB relative to PVB ;          
  195. LVBWidth        dw      ?               ; width of the LVB in cells             ;          
  196. LVBHeight       dw      ?               ; height of the LVB in cells            ;          
  197. LVBFormatID     db      ?               ; format id of the LVB                  ;          
  198. LVBAttrCount    db      ?               ; number of attributes in the LVB       ;          
  199.  
  200. VDHPARM ENDS
  201.  
  202.  
  203. VDHENV  STRUC                           ; VDH environment buffer structure
  204.  
  205. ModeDataOff     dw      ?               ; Offset to mode data in env. buffer
  206.  
  207. VDHENV  ENDS
  208.  
  209.  
  210. MODEDAT STRUC                           ; VDH mode data structure
  211.  
  212. ModeLength      dw      ?               ; Length of parameter buffer
  213. ModeType        db      ?               ; Mode type bits
  214. Color           db      ?               ; Color value
  215. TextCols        dw      ?               ; # of text columns in current mode
  216. TextRows        dw      ?               ; # of text rows in current mode
  217. HorizRes        dw      ?               ; Horizontal pel resolution
  218. VertRes         dw      ?               ; Vertical pel resolution
  219. AttrFormat      db      ?               ; Attribute format
  220. NAttributes     db      ?               ; # of attribute in character cell
  221. BufferAddrLo    dw      ?               ; Physical address of PVB
  222. BufferAddrHi    dw      ?               ; 
  223. BufferLenLo     dw      ?               ; Length of PVB in current mode
  224. BufferLenHi     dw      ?               ; 
  225. FullBufSizeLo   dw      ?               ; Size of LVB for PVB save
  226. FullBufSizeHi   dw      ?               ; 
  227. PartBufSize     dd      ?               ;          
  228. ExtData         dd      ?               ;          
  229. ScrlRectLeft    dw      ?               ;          
  230. ScrlRectTop     dw      ?               ;          
  231. ScrlRectRight   dw      ?               ;          
  232. ScrlRectBottom  dw      ?               ;          
  233.  
  234. MODEDAT ENDS
  235.  
  236.