home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / inc / vdmprop.inc < prev    next >
Text File  |  1999-04-30  |  7KB  |  214 lines

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