home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / DEV / MOUSE / SGCB.INC < prev    next >
Text File  |  1995-04-14  |  11KB  |  223 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. ;*                                                                         
  15. ;* SOURCE FILE NAME = SGCB.INC                                                                            
  16. ;*                                                                                                                  
  17. ;* DESCRIPTIVE NAME = Mouse Device Driver session control block                        
  18. ;*                    data structure.                                                                               
  19. ;*
  20. ;*                                                                         
  21. ;* VERSION      V2.0                                                       
  22. ;*                                                                         
  23. ;* DATE         07/08/91
  24. ;*                                                                         
  25. ;* DESCRIPTION  The SGCB structure and related equates must reside                               
  26. ;*              in a seperate files because this files is also used                                                           
  27. ;*              by POINTDD.SYS.
  28. ;*              
  29. ;* FUNCTIONS
  30. ;*              
  31. ;*                                                                         
  32. ;*             
  33. ;*
  34. ;*             
  35. ;*             
  36. ;*             
  37. ;*             
  38. ;* STRUCTURES   NONE                                                       
  39. ;*                                                                         
  40. ;* EXTERNAL REFERENCES                                                     
  41. ;*                                                                         
  42. ;*              NONE                                                       
  43. ;*                                                                         
  44. ;* EXTERNAL FUNCTIONS                                                      
  45. ;*                                                                         
  46. ;*              NONE                                                       
  47. ;*                                                                         
  48. ;* CHANGE ACTIVITY =                                                       
  49. ;*   DATE      FLAG        APAR   CHANGE DESCRIPTION                       
  50. ;*   --------  ----------  -----  --------------------------------------   
  51. ;*   mm/dd/yy  @Vr.mpppxx  xxxxx  xxxxxxx                                  
  52. ;**************************************************************************
  53.                                                                     
  54.  
  55. ScrGp_Data     STRUC
  56.  
  57. ;*
  58. ;* SG CB data sub-table (40 Bytes)
  59. ;*
  60.  
  61.    RowScale_Fact    DW  ?  ; Row movement scaling factor
  62.    ColScale_Fact    DW  ?  ; Column movement scaling factor
  63.    Row_Remain       DW  ?  ; Row coord move remainder
  64.    Col_Remain       DW  ?  ; Col coord move remainder
  65.    D_Status         DW  ?  ; Device status flags
  66.                            ;  High Byte:
  67.                            ;   0000xxxx Reserved 0.
  68.                            ;   xxxx1xxx Threshold calcs disabled.
  69.                            ;   xxxxx1xx Single queue mode active.
  70.                            ;   xxxxxx1x Report motion data in mickeys
  71.                            ;               not display coordinates.
  72.                            ;   xxxxxxx1 Intrpt time drawing disabled.
  73.                            ;  Low Byte:
  74.                            ;   0000xxxx Reserved 0
  75.                            ;   xxxx1xxx Unsupported display mode.
  76.                            ;   xxxxx1xx Event queue flush in progress.
  77.                            ;   xxxxxx1x Process blocked on event data.
  78.                            ;   xxxxxxx1 Event queue busy.
  79.    E_Mask           DW  ?  ; Event mask - tells what events to report
  80.                            ;  High byte:
  81.                            ;   Reserved 0
  82.                            ;  Low Byte:
  83.                            ;   0xxxxxxx Reserved 0
  84.                            ;   x1xxxxxx button 3 events w/o motion
  85.                            ;   xx1xxxxx button 3 events w/motion
  86.                            ;   xxx1xxxx button 2 events w/o motion
  87.                            ;   xxxx1xxx button 2 events w/motion
  88.                            ;   xxxxx1xx button 1 events w/o motion
  89.                            ;   xxxxxx1x button 1 events w/motion
  90.                            ;   xxxxxxx1 motion only events
  91.    Hdle_Cntr        DW  ?  ; # of open device handles
  92.    E_Queue          DW  ?  ; offset to start of event queue
  93.    Eq_Head          DW  ?  ; Event queue head offset pointer
  94.    Eq_Tail          DW  ?  ; Event queue tail offset pointer
  95.    Eq_PID           DW  ?  ; PID blocked on event queue
  96.    Eq_Size          DB  ?  ; # of elements in queue
  97.    Chain_Size       DB  ?  ; # of monitors in chain
  98.    Chain_Hdle       DW  ?  ; Monitor chain handle
  99.    Screen_Entp      DD  0  ; Pointer draw device driver entry point address
  100.    Screen_Tble      DD  0  ; @ to screen drivers data table
  101.    Screen_Func      DW  ?  ; Pointer draw requested function code
  102.    Screen_DOff      DW  ?  ; Pointer draw data segment offset
  103.    Screen_DSeg      DW  ?  ; Pointer draw data segment selector
  104.  
  105. ;*
  106. ;* Mon chain output buf (14 Bytes)
  107. ;*
  108.  
  109.    MB_Len           DW  ?  ; Monitor output Buffer Length (bytes)
  110.    MFlags           DW  ?  ; Monitor flags
  111.    EMask            DW  ?  ; Mouse event
  112.    EMTime           DD  ?  ; Event's Milli-Second Time Stamp
  113.    Row_Pos          DW  ?  ; Current pointer row coord
  114.    Col_Pos          DW  ?  ; Current pointer col coord
  115.  
  116. ;*
  117. ;* Base display Mode data. The length is the total mode data length.
  118. ;* The mode data is not contiguous.  The extended mode data is stored
  119. ;* later in this control block.                  (12 Bytes)
  120. ;*
  121.  
  122.    MLength          DW  ?  ; Display Mode length (bytes) (extended length also)
  123.    Mtype            DB  ?  ; Mono text/color text/color graphics
  124.    Color            DB  ?  ; # of color bits (graphics type only)
  125.    TCol_Res         DW  ?  ; Column resolution (text)
  126.    TRow_Res         DW  ?  ; Row resolution (text)
  127.    GCol_Res         DW  ?  ; Column resolution (graphics)
  128.    GRow_Res         DW  ?  ; Row resolution (graphics)
  129.  
  130. ;*
  131. ;* Display mode cell sizes.  Ptr draw calculates these values during a
  132. ;* CheckModeReal and CheckModeProt function call.   (4 bytes)
  133. ;*
  134.  
  135.    Col_Cell_Size    DW  ?  ; Graphics col res/ text col res
  136.    Row_Cell_Size    DW  ?  ; Graphics row res/ text row res
  137.  
  138. ;*
  139. ;* Mouse/Pointer draw fields (38 Bytes)
  140. ;*
  141.  
  142.    Ptr_Flags        DW  0  ; Pointer image activity flags
  143.                            ;  High Byte:
  144.                            ;   Reserved 0
  145.                            ;  Low Byte:
  146.                            ;   00000xxx  Reserved 0
  147.                            ;   xxxxx1xx  Disable drawing
  148.                            ;   xxxxxx1x  Drawing requires retrace check
  149.                            ;   xxxxxxx1  Ptr image is visible
  150.    Ptr_Height       DW  ?  ; Height of ptr image (resolution units)
  151.    Ptr_Width        DW  ?  ; Width of ptr image (resolution units)
  152.    Ptr_Row_Pos      DW  ?  ; Current pointer row coord position
  153.    Ptr_Col_Pos      DW  ?  ; Current pointer col coord position
  154.    Ptr_Rowhot       DW  ?  ; Row index ptr shape reference pixel
  155.    Ptr_Colhot       DW  ?  ; Col index ptr shape reference pixel
  156.    Ptr_BuffLow      DW  ?  ; Physical address to ptr image buffer
  157.    Ptr_BuffHigh     DW  ?  ;    "       "   High word
  158.    Ptr_BuffLen      DW  ?  ; Pointer image total buffers len (bytes)
  159.    Ptr_Imagelen     DW  ?  ; Pointer image buffer length (bytes)
  160.    Ptr_Imageoff     DW  ?  ; Pointer image offset (bytes)
  161.    Ptr_Linelen      DW  ?  ; Pointer image line length
  162.    Ptr_Skiplen      DW  ?  ; Pointer image skip length
  163.    Tot_Linelen      DW  ?  ; Pointer total line length
  164.    Ptr_Savstart     DW  ?  ; Pointer save start pointer
  165.    Ptr_Savend       DW  ?  ; Pointer save end pointer
  166.    Ptr_Savstartodd  DW  ?  ; Pointer save start odd pointer
  167.    Ptr_Savendodd    DW  ?  ; Pointer save end odd pointer
  168.  
  169. ;*
  170. ;* Collision Area fields (10 Bytes)
  171. ;*
  172.  
  173.    Area_Flags       DW  ?  ; collision area definition flags
  174.                            ;  High Byte:
  175.                            ;   Reserved 0
  176.                            ;  Low Byte:
  177.                            ;   0000000x  Reserved 0
  178.                            ;   xxxxxxx1  Collision area defined
  179.                            ;   xxxxxxx0  No collision area defined
  180.    Area_Top         DW  ?  ; starting row coord position
  181.    Area_Left        DW  ?  ; starting col coord position
  182.    Area_Bot         DW  ?  ; ending row coord position
  183.    Area_Right       DW  ?  ; ending col coord position
  184.  
  185. ;*
  186. ;* Cell remainders (4 bytes)
  187. ;*
  188.  
  189.    Col_Cell_Remain  DW  ?  ;  Column cell remainder
  190.    Row_Cell_Remain  DW  ?  ;  Row cell remainder
  191.  
  192. ;*
  193. ;* Extended mode data pointer (4 bytes)
  194. ;*
  195.  
  196.    ExtModePtr       DD  ?  ;  Pointer to any extended mode data
  197.  
  198. ;*
  199. ;* Display configuration data. (6 bytes)
  200. ;*
  201.  
  202.    Cur_Config       DW  ?  ;  Current display configuration #
  203.    CfgOffset        DW  ?  ;  Offset to display configuration data
  204.    CfgSelector      DW  ?  ;  Selector to display configuration data
  205.  
  206. ;*
  207. ;* Threshold levels and multipliers  (8 bytes)
  208. ;*
  209.  
  210.    Level1           dw  ?  ;  level 1 movement value in mickeys/interrupt
  211.    Lvl1Mplr         dw  ?  ;  level 1 multiplier
  212.    Level2           dw  ?  ;  level 2 movement value in mickeys/interrupt
  213.    Lvl2Mplr         dw  ?  ;  level 2 multiplier
  214.  
  215. ScrGp_Data     ENDS
  216.  
  217. ;*
  218. ;* These equates relate to the session control block explicitly
  219. ;*
  220.  
  221. SRec_Size        EQU       140      ; && SG CB size (Bytes)                 (DD)
  222. BaseModeLen      EQU        12      ; Base mode data length
  223.