REQHDR.EQU
上传用户:xiaogehua
上传日期:2007-01-08
资源大小:1183k
文件大小:6k
源码类别:

操作系统开发

开发平台:

Asm

  1. ;    File              : $REQHDR.EQU$
  2. ;
  3. ;    Description       :
  4. ;
  5. ;    Original Author   : DIGITAL RESEARCH
  6. ;
  7. ;    Last Edited By    : $CALDERA$
  8. ;
  9. ;-----------------------------------------------------------------------;
  10. ;    Copyright Work of Caldera, Inc. All Rights Reserved.
  11. ;      
  12. ;    THIS WORK IS A COPYRIGHT WORK AND CONTAINS CONFIDENTIAL,
  13. ;    PROPRIETARY AND TRADE SECRET INFORMATION OF CALDERA, INC.
  14. ;    ACCESS TO THIS WORK IS RESTRICTED TO (I) CALDERA, INC. EMPLOYEES
  15. ;    WHO HAVE A NEED TO KNOW TO PERFORM TASKS WITHIN THE SCOPE OF
  16. ;    THEIR ASSIGNMENTS AND (II) ENTITIES OTHER THAN CALDERA, INC. WHO
  17. ;    HAVE ACCEPTED THE CALDERA OPENDOS SOURCE LICENSE OR OTHER CALDERA LICENSE
  18. ;    AGREEMENTS. EXCEPT UNDER THE EXPRESS TERMS OF THE CALDERA LICENSE
  19. ;    AGREEMENT NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED,
  20. ;    COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED,
  21. ;    CONDENSED, EXPANDED, COLLECTED, COMPILED, LINKED, RECAST,
  22. ;    TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN CONSENT OF
  23. ;    CALDERA, INC. ANY USE OR EXPLOITATION OF THIS WORK WITHOUT
  24. ;    AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND
  25. ;    CIVIL LIABILITY.
  26. ;-----------------------------------------------------------------------;
  27. ;
  28. ;    *** Current Edit History ***
  29. ;    *** End of Current Edit History ***
  30. ;
  31. ;    $Log$
  32. ;
  33. ;    ENDLOG
  34. CMD_INIT equ  0 ; Initialize the Device Driver
  35. CMD_MEDIA_CHECK equ  1 ; Request Media Check
  36. CMD_BUILD_BPB equ  2 ; Build Drive BPB
  37. CMD_INPUT_IOCTL equ  3 ; IOCTL input
  38. CMD_INPUT equ  4 ; Input
  39. CMD_INPUT_NOWAIT equ  5 ; Non destructive input no wait
  40. CMD_INPUT_STATUS equ  6 ; Input status
  41. CMD_INPUT_FLUSH equ  7 ; Input flush
  42. CMD_OUTPUT equ  8 ; Output
  43. CMD_OUTPUT_VERIFY equ  9 ; Output with verify
  44. CMD_OUTPUT_STATUS equ 10 ; Output status
  45. CMD_OUTPUT_FLUSH equ 11 ; Output flush
  46. CMD_OUTPUT_IOCTL equ 12 ; IOCTL output
  47. CMD_DEVICE_OPEN equ 13 ; Device OPEN
  48. CMD_DEVICE_CLOSE equ 14 ; Device CLOSE
  49. CMD_FIXED_MEDIA equ 15 ; Removeable Media Check
  50. CMD_GENERIC_IOCTL equ 19 ; Generic IOCTL
  51. CMD_GET_DEVICE equ 23 ; Get the Logical Device
  52. CMD_SET_DEVICE equ 24 ; Set the Logical Device
  53. CMD_QUERY_IOCTL equ 25 ; query ioctl support
  54. ; Generic Request Header Format
  55. RH_LEN equ es:byte ptr 0[bx]
  56. RH_UNIT equ es:byte ptr 1[bx]
  57. RH_CMD equ es:byte ptr 2[bx]
  58. RH_STATUS equ es:word ptr 3[bx]
  59.   RHS_DONE equ 0100h
  60.   RHS_BUSY equ 0200h
  61.   RHS_IC equ 0400h ; Interim Character
  62.   RHS_RM equ 0800h
  63.   RHS_ERROR equ 8000h
  64. ;******
  65. ;* No longer safe to use - some device drivers trample on them....
  66. ;*
  67. ;* RH_STRATEGY equ es:dword ptr 5[bx] ; Device Strategy Routine
  68. ;* RH_STRATOFF equ es:word ptr  5[bx] ; Strategy Offset
  69. ;* RH_STRATSEG equ es:word ptr  7[bx] ; Strategy Segment
  70. ;* RH_INTERRUPT equ es:dword ptr 9[bx] ; Device Interrupt Routine
  71. ;* RH_INTOFF equ es:word ptr  9[bx] ; Intterupt Offset
  72. ;* RH_INTSEG equ es:word ptr 11[bx] ; Interrupt Segment
  73. ;*****
  74. ; Request header for initialization
  75. RH0_NUNITS equ es:byte ptr 13[bx]
  76. RH0_RESIDENT equ es:word ptr 14[bx]
  77. RH0_BPBOFF equ es:word ptr 18[bx]
  78. RH0_BPBSEG equ es:word ptr 20[bx]
  79. RH0_DRIVE equ es:byte ptr 22[bx]
  80. RH0_LEN equ 22
  81. ; Request header for media check
  82. RH1_MEDIA equ es:byte ptr 13[bx] ; BDOS: current media byte
  83. RH1_RETURN equ es:byte ptr 14[bx] ; driver: return code (00, 01, FF)
  84. RH1_VOLID equ es:dword ptr 15[bx] ; driver: volume label address
  85. RH1_LEN equ 15
  86. ; Request header for "build BPB"
  87. RH2_MEDIA equ es:byte ptr 13[bx] ; BDOS or driver?
  88. RH2_BUFFER equ es:dword ptr 14[bx] ; BDOS: scratch buffer for driver use
  89. RH2_BPB equ es:dword ptr 18[bx] ; same as the following:
  90. RH2_BPBOFF equ es:word ptr 18[bx] ; driver: address of new BPB
  91. RH2_BPBSEG equ es:word ptr 20[bx]
  92. RH2_LEN equ 24
  93. ; Request header for input/output
  94. RH4_MEDIA equ es:byte ptr 13[bx] ; BDOS: current media byte
  95. RH4_RIC equ es:byte ptr 13[bx] ; BDOS: Return Interim Char flg
  96. RH4_BUFFER equ es:dword ptr 14[bx] ; BDOS: disk transfer address
  97. RH4_BUFOFF equ es:word ptr 14[bx] ; BDOS: Buffer Offset
  98. RH4_BUFSEG equ es:word ptr 16[bx] ; BDOS: Buffer Segment
  99. RH4_COUNT equ es:word ptr 18[bx] ; BDOS: sector count
  100. RH4_SECTOR equ es:word ptr 20[bx] ; BDOS: starting sector
  101. RH4_VOLID equ es:dword ptr 22[bx] ; driver: volume if illegal disk change
  102. RH4_BIGSECTOR   equ es:dword ptr 26[bx] 
  103. RH4_BIGSECTORLO equ es:word ptr 26[bx]
  104. RH4_BIGSECTORHI equ es:word ptr 28[bx]
  105. RH4_LEN equ 30
  106. ; Request Header for Non-Destructive Input
  107. RH5_CHAR equ es:byte ptr 13[bx] ; Character Read from Device
  108. RH5_RIC equ es:byte ptr 13[bx] ; BDOS: Return Interim Char flg
  109. RH5_LEN equ 14
  110. ; Request Header for Device Open
  111. RH13_LEN equ 13
  112. ; Request Header for Device Close
  113. RH14_LEN equ 13
  114. ; Request header for generic IOCTL
  115. RH19_CATEGORY equ es:word ptr 13[bx] ; BDOS: major/minor function number
  116. RH19_MAJOR equ es:byte ptr 13[bx] ; BDOS: Major Function Number
  117. RH19_MINOR equ es:byte ptr 14[bx] ; BDOS: Minor Function Number
  118. RH19_SI equ es:word ptr 15[bx] ; BDOS: User SI
  119. RH19_DI equ es:word ptr 17[bx] ; BDOS: User DI
  120. RH19_GENPB equ es:dword ptr 19[bx] ; BDOS: extra parameters
  121. RH19_LEN equ 23
  122. RQ19_SET equ 40h ; set device parameters
  123. RQ19_GET equ 60h ; get device parameters
  124. RQ19_WRITE equ 41h ; write tracks
  125. RQ19_READ equ 61h ; read tracks
  126. RQ19_FORMAT equ 42h ; format tracks
  127. RQ19_VERIFY equ 62h ; verify tracks
  128. RQ19_PRP_START equ 4Ch ; start of codepage prepare
  129. RQ19_PRP_END equ 4Dh ; end of codepage prepare
  130. RQ19_SELECT equ 4Ah ; select code page
  131. RQ19_QRY_SEL equ 6Ah ; query selected code page
  132. RQ19_QRY_PRP equ 6Bh ; query prepared code page(s)
  133. RQ19_DSP_SET equ 5Fh ; set display information
  134. RQ19_DSP_GET equ 7Fh ; get display information
  135. ; Request header for get/set drive
  136. RH24_CMD equ es:byte ptr 14[bx] ; BDOS: Command Code
  137. RH24_STATUS equ es:word ptr 15[bx] ; BDOS: Status
  138. RH24_RESVD equ es:dword ptr 17[bx] ; BDOS: Reserved
  139. RH24_LEN equ 21
  140. RH_SIZE equ 30 ; maximum size of request header