home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v2.zip / DDKX86 / DBCSDD / INC / VDMPROP.INC < prev    next >
Text File  |  1995-04-14  |  7KB  |  221 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. ;***    vdmprop.inc - Common VDM properties definitions
  13. ;
  14. ;
  15. ;
  16. ;
  17. ;
  18. ;    Title:
  19. ;        VDM Property definitions common to VDDs and applications
  20. ;
  21. ;    Modification History:
  22. ;        08-Nov-1989 bens    Initial version.
  23. ;
  24. ;    -    001    2/22/91      Mark Rogalski,   IBM
  25. ;    CP20 DCR 1329  Add DOS=UMB  and DEVICEHIGH support
  26. ;
  27. ;    -    002    3/22/91      Mark Rogalski,   IBM
  28. ;    CP20 DCR 1360  Add DOS=HIGH support
  29. ;
  30. ;***********************************************************************;BN011
  31. ; 19Jun91 - G.L.Fulk                            ;BN011
  32. ; Add support for a DOS ONLY "FILES=" statement in CONFIG.SYS.        ;BN011
  33. ;***********************************************************************;BN011
  34. ;* 6.10 09/23/91 CP20 B726841  Jeff Muir   Removed IOPL property
  35. ;***********************************************************************;53233
  36. ; 24Jul92 - G.L.Fulk                            ;53233
  37. ; Add DOS_AUTOEXEC and DOS_INSTALL properties.                ;53233
  38. ;***********************************************************************;53233
  39. ;
  40.  
  41.  
  42. ;***    Property Limits
  43. ;
  44. ;
  45.  
  46. MAX_PROPERTY_NAME_LENGTH    EQU    40  ;including NULL terminator
  47. MAX_AUTOEXEC_SIZE    EQU    128  ;max string size           ;53233
  48.  
  49.  
  50. ;***    VPTYPE: VDM Property Types
  51. ;
  52. ;
  53. VDMP_BOOL    EQU    0   ;boolean
  54. VDMP_INT    EQU    1   ;integer - ULONG size, but only USHORT is valid
  55. VDMP_ENUM    EQU    2   ;enumeration
  56. VDMP_STRING    EQU    3   ;asciiz string
  57. VDMP_MLSTR    EQU    4   ;multi-line string, separated by linefeed (00ah)
  58.  
  59. DefType VPTYPE,USHORT            ;property type
  60.  
  61.  
  62.  
  63. ;***    VPORD: VDM Property Ordinals
  64. ;
  65. ;
  66. VDMP_ORD_OTHER    EQU    0   ;custom VDD property
  67. VDMP_ORD_KERNEL        EQU    1   ;asciiz path of DOS kernel
  68. VDMP_ORD_SHELL    EQU    2   ;asciiz path of DOS shell
  69. VDMP_ORD_RMSIZE        EQU    3   ;integer size of DOS box (128K..640K)
  70. VDMP_ORD_FCB    EQU    4   ;integer total FCBs
  71. VDMP_ORD_FCB2    EQU    5   ;integer FCBs immune to close LRUing
  72. VDMP_ORD_BREAK    EQU    6   ;boolean BREAK flag
  73. VDMP_ORD_DOSDD    EQU    7   ;mlstr DOS device drivers
  74. VDMP_ORD_VMBOOT        EQU    8   ;mlstr virtual machine boot drive(s)
  75. ;VDMP_ORD_IOPL3        EQU    9   ; boolean IOPL3 flag          // 6.10
  76. VDMP_ORD_VERSION    EQU    10  ;mlstr fake version entries
  77. VDMP_ORD_DOS_UMB    EQU    11  ;boolean flag - DOS owns UBMs    ;BN001
  78. VDMP_ORD_DOS_HIGH    EQU    12  ;boolean flag - DOS loaded high    ;BN002
  79. VDMP_ORD_LASTDRIVE    EQU    13  ;asciiz lastdrive            ;BN003
  80. VDMP_ORD_FILES    EQU    14  ;integer total FILES        ;BN011
  81. VDMP_ORD_AUTOEXEC    EQU    15  ;asciiz Autoexec filespec          ;53233
  82. VDMP_ORD_INSTALL    EQU    16  ;mlstr INSTALL= settings          ;53233
  83.  
  84.  
  85. DefType VPORD,USHORT            ;property ordinal
  86.  
  87.  
  88.  
  89. ;***    VDHRegisterProperty Flags
  90. ;
  91. ;
  92. VDMP_CREATE    EQU    000000001h  ;create-time only property
  93. VDMP_ADVANCED    EQU    000000002h  ;advanced property (not shown by default)
  94.  
  95.  
  96.  
  97. ;***    VDHRegisterProperty PFNVDHRP ordinals
  98. ;
  99. ;
  100. VDHPROP_VALIDATE    EQU    000000000h ;validate parameter
  101. VDHPROP_SET    EQU    000000001h ;set parameter
  102.  
  103.  
  104.  
  105. ;***    VPBOUND - limits for VDMP_INT properties
  106. ;
  107. ;   Notes:  (1) max > min must hold
  108. ;        (2) (max-min) must be a multiple of step
  109. ;        (3) step = 1 implies that all values between min and max are valid
  110. ;
  111. DefStruc ,VPBOUND_s            ;vpb
  112.     USHORT  min       ;minimum allowed value
  113.     USHORT  max       ;maximum allowed value
  114.     USHORT  step   ;increment between values
  115. EndStruc VPBOUND
  116. DefType PVPBOUND,dd            ;pvpb
  117.  
  118.  
  119.  
  120. ;***    VPINFO - VDD Property Info structure
  121. ;
  122. ;    This is filled in by a call to Dos32QueryDOSProperty
  123. ;
  124. ;
  125. ;    VPTYPE    vi_vptype  - Property type (see VPTYPE).
  126. ;    VPORD    vi_vpord   - Property ordinal (see VPORD).
  127. ;    ULONG    vi_ulFlags - Property flags:
  128. ;            VDMP_CREATE
  129. ;              TRUE if the property can only be specified at
  130. ;              VDM creation.  Changing the property after
  131. ;              the VDM is created has no effect.
  132. ;              FALSE if the property can be specified at VDM
  133. ;              creation AND can be changed for a running
  134. ;              VDM.
  135. ;    ULONG    vi_ulHelpID - ID of help topic
  136. ;    char    vi_pszHelp[] - asciiz help file name.
  137. ;            A single NULL byte is present if no help is
  138. ;            available.
  139. ;
  140. ;    ???    vi_pvValid - This contains information that allows the property
  141. ;            value to be validated.  Its format depends upon
  142. ;            the property type:
  143. ;              VDMP_BOOL
  144. ;            This field is not present.
  145. ;              VDMP_INT
  146. ;            This field is a VPBOUND structure.
  147. ;              VDMP_ENUM
  148. ;            This field is a set of ASCIIZ strings,
  149. ;            terminated by a zero byte, which is the allowed
  150. ;            set of responses.
  151. ;              VDMP_STRING
  152. ;              VDMP_MLSTR
  153. ;            This field is a ULONG representing the maximum
  154. ;            allowed string length, including the terminating
  155. ;            NULL byte.
  156. ;
  157. ;    ???    vi_pvValue - The default value of the property.  In all cases
  158. ;            it is assumed that this value is valid according
  159. ;            to the constraints specified by pvValid.
  160. ;            The format depends upon the property type:
  161. ;              VDMP_BOOL
  162. ;            This field is a 4-byte BOOL.
  163. ;              VDMP_INT
  164. ;            This field is a ULONG.  The high half of the
  165. ;            value is always zero, so this type can only
  166. ;            take on the values of a USHORT.
  167. ;              VDMP_ENUM
  168. ;            This field is an ASCIIZ string.
  169. ;              VDMP_STRING
  170. ;              VDMP_MLSTR
  171. ;            This field is an ASCIIZ string.
  172. ;
  173.  
  174. DefStruc ,VPINFO_s            ;vpinfo
  175.     VPTYPE  vi_vptype      ;property type
  176.     VPORD   vi_vpord      ;property ordinal
  177.     ULONG   vi_ulFlags      ;flags
  178.     ULONG   vi_ulHelpID      ;help topic id
  179.     ;      vi_pszHelp,,    ; help file
  180.     ;      vi_pvValid    ; validation information
  181.     ;      vi_pvValue    ; default value
  182. EndStruc VPINFO
  183. DefType PVPINFO,dd
  184.  
  185.  
  186.  
  187. ;***    PROPERTYBUFFER - buffer containing 0 or more property values
  188. ;
  189. ;    This buffer format is used when passing property values to
  190. ;    DosStartSession.
  191. ;
  192. ;    Byte
  193. ;    Offset    Type    Contents
  194. ;    ------    ------- ------------------------------------------
  195. ;       0    ULONG    Buffer length, including this ULONG.
  196. ;       4    VPTYPE    Type of property (see VPTYPE in vdmprop.inc)
  197. ;       6    ASCIIZ    Null-terminated property name
  198. ;       ?    ?    Property value.  Format depends on VPTYPE:
  199. ;              VDMP_BOOL
  200. ;                4-byte boolean value.  0 => false, !0 => true.
  201. ;              VDMP_INT
  202. ;                ULONG.  The high half of the value is always
  203. ;                  zero, so this type can only take on the
  204. ;                  values of a USHORT.
  205. ;              VDMP_ENUM
  206. ;              VDMP_STRING
  207. ;              VDMP_MLSTR
  208. ;                Null-terminated string.
  209. ;       ?    VPTYPE    Type of second property
  210. ;       ?+2    ASCIIZ    Name of second property
  211. ;       ?    ?    Value of second property
  212. ;       ...
  213. ;
  214.  
  215. DefStruc ,_PROPERTYBUFFER            ;propbuf
  216.     ULONG   cb
  217.     CHAR    achPropBuf
  218. EndStruc PROPERTYBUFFER
  219. DefType PPROPERTYBUFFER,dd            ;ppropbuf
  220.  
  221.