dcb.inc
上传用户:lnzz01
上传日期:2013-05-23
资源大小:130k
文件大小:10k
源码类别:

DNA

开发平台:

C/C++

  1. ;****************************************************************************
  2. ;                                                                           *
  3. ; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY     *
  4. ; KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE       *
  5. ; IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR     *
  6. ; PURPOSE.                                                                  *
  7. ;                                                                           *
  8. ; Copyright (C) 1993-95  Microsoft Corporation.  All Rights Reserved.       *
  9. ;                                                                           *
  10. ;****************************************************************************
  11. DCB_cd_table_depth EQU 10
  12. DCB_cd_entry STRUC
  13. DCB_cd_io_address DD ?
  14. DCB_cd_flags DD ?
  15. DCB_cd_ddb DD ?
  16. DCB_cd_next DD ?
  17. DCB_cd_expan_off DW ?
  18. DCB_cd_layer_flags DB ?
  19. DCB_cd_lgn DB ?
  20. DCB_cd_entry ENDS
  21. DCB_COMMON STRUC
  22. DCB_physical_dcb DD ?
  23. DCB_expansion_length DD ?
  24. DCB_ptr_cd DD ?
  25. DCB_next_dcb DD ?
  26. DCB_next_logical_dcb DD ?
  27. DCB_drive_lttr_equiv DB ?
  28. DCB_unit_number DB ?
  29. DCB_TSD_Flags DW ?
  30. DCB_vrp_ptr DD ?
  31. DCB_dmd_flags DD ?
  32. DCB_device_flags DD ?
  33. DCB_device_flags2 DD ?
  34. DCB_Partition_Start DD ?
  35. DCB_track_table_ptr DD ?
  36. DCB_bds_ptr DD ?
  37. DCB_Reserved1 DD ?
  38. DCB_Reserved2 DD ?
  39. DCB_apparent_blk_shift DB ?
  40. DCB_partition_type DB ?
  41. DCB_sig DW ?
  42. DCB_device_type DB ?
  43. DCB_Exclusive_VM DD ?
  44. DCB_disk_bpb_flags DB ?
  45. DCB_cAssoc DB ?
  46. DCB_Sstor_Host DB ?
  47. DCB_user_drvlet DW ?
  48. DCB_Reserved3 DW ?
  49. DCB_Reserved4 DD ?
  50. DCB_COMMON ENDS
  51. DCB_BLOCKDEV STRUC
  52. DCB_BDD_Next DD ?
  53. DCB_BDD_BD_Major_Version DB BDD_BD_Major_Ver
  54. DCB_BDD_BD_Minor_Version DB BDD_BD_Minor_Ver
  55. DCB_BDD_Device_SubType DB ?
  56. DCB_BDD_Int_13h_Number DB ?
  57. DCB_BDD_flags DD ?
  58. DCB_BDD_Name_Ptr DD ?
  59. DCB_apparent_sector_cnt DD 2 DUP (?)
  60. DCB_apparent_blk_size DD ?
  61. DCB_apparent_head_cnt DD ?
  62. DCB_apparent_cyl_cnt DD ?
  63. DCB_apparent_spt DD ?
  64. DCB_BDD_Sync_Cmd_Proc DD ?
  65. DCB_BDD_Command_Proc DD ?
  66. DCB_BDD_Hw_Int_Proc DD 0
  67. DCB_BDP_Cmd_Queue_Ascending DD ?
  68. DCB_BDP_Cmd_Queue_Descending DD ?
  69. DCB_BDP_Current_Flags DD ?
  70. DCB_BDP_Int13_Param_Ptr DD ?
  71. DCB_BDP_Current_Command DD ?
  72. DCB_BDP_Current_Position DD 2 DUP (?)
  73. DCB_BDP_Reserved DD 5 DUP (?)
  74. DCB_fastdisk_bdd DD ?
  75. DCB_BLOCKDEV ENDS
  76. DCB STRUC
  77. DCB_cmn DB SIZE DCB_COMMON DUP (?)
  78. DCB_max_xfer_len DD ?
  79. DCB_actual_sector_cnt DD 2 DUP (?)
  80. DCB_actual_blk_size DD ?
  81. DCB_actual_head_cnt DD ?
  82. DCB_actual_cyl_cnt DD ?
  83. DCB_actual_spt DD ?
  84. DCB_next_ddb_dcb DD ?
  85. DCB_dev_node DD ?
  86. DCB_bus_type DB ?
  87. DCB_bus_number DB ?
  88. DCB_queue_freeze DB ?
  89. DCB_max_sg_elements DB ?
  90. DCB_io_pend_count DB ?
  91. DCB_lock_count DB ?
  92. DCB_SCSI_VSD_FLAGS DW ?
  93. DCB_scsi_target_id DB ?
  94. DCB_scsi_lun DB ?
  95. DCB_scsi_hba DB ?
  96. DCB_max_sense_data_len DB ?
  97. DCB_srb_ext_size DW ?
  98. DCB_inquiry_flags DB 8 DUP (?)
  99. DCB_vendor_id DB 8 DUP (?)
  100. DCB_product_id DB 16 DUP (?)
  101. DCB_rev_level DB 4 DUP (?)
  102. DCB_port_name DB 8 DUP (?)
  103. DCB_current_unit DB ?
  104. DCB_blocked_iop DD ?
  105. DCB_vol_unlock_timer DD ?
  106. DCB_access_timer DB ?
  107. DCB_Vol_Flags DB ?
  108. DCB_q_algo DB ?
  109. DCB_unit_on_ctl DB ?
  110. DCB_Port_Specific DD ?
  111. DCB_spindown_timer DD ?
  112. DCB_bdd DB SIZE DCB_BLOCKDEV DUP (?)
  113. DCB ENDS
  114. LOG_DCB STRUC
  115. DCB_cmn DB SIZE DCB_COMMON DUP (?)
  116. LOG_DCB ENDS
  117. DCB_disk STRUC
  118. DCB_filler_1 DB SIZE DCB DUP (?)
  119. DCB_write_precomp DW ?
  120. DCB_disk_tsd_private DD ?
  121. DCB_disk ENDS
  122. DCB_floppy STRUC
  123. DCB_filler_3 DB SIZE DCB_disk DUP (?)
  124. DCB_3mode_Flags DW ?
  125. DCB_floppy ENDS
  126. DCB_IS_3MODE_DRIVE EQU 0001H
  127. DCB_SET_RPM_ON_ACCESS EQU 0002H
  128. DCB_disk_geometry STRUC
  129. sector_cnt DD 2 DUP (?)
  130. blk_size DD ?
  131. head_cnt DD ?
  132. cyl_cnt DD ?
  133. spt DD ?
  134. DCB_disk_geometry ENDS
  135. .errnz DCB_apparent_sector_cnt - DCB_apparent_sector_cnt[0] - sector_cnt[0]
  136. .errnz DCB_apparent_blk_size - DCB_apparent_sector_cnt[0] - blk_size
  137. .errnz DCB_apparent_head_cnt - DCB_apparent_sector_cnt[0] - head_cnt
  138. .errnz DCB_apparent_cyl_cnt - DCB_apparent_sector_cnt[0] - cyl_cnt
  139. .errnz DCB_apparent_spt - DCB_apparent_sector_cnt[0] - spt
  140. .errnz DCB_actual_sector_cnt - DCB_actual_sector_cnt[0] - sector_cnt[0]
  141. .errnz DCB_actual_blk_size - DCB_actual_sector_cnt[0] - blk_size
  142. .errnz DCB_actual_head_cnt - DCB_actual_sector_cnt[0] - head_cnt
  143. .errnz DCB_actual_cyl_cnt - DCB_actual_sector_cnt[0] - cyl_cnt
  144. .errnz DCB_actual_spt - DCB_actual_sector_cnt[0] - spt
  145. DCBF_DISK_BPB_USEFAKE EQU 00000001H
  146. CDROM_MAX_TOC EQU 804
  147. CDROM_MAX_MODE_BUF EQU 20
  148. DCB_cdrom STRUC
  149. DCB_filler_2 DB SIZE DCB DUP (?)
  150. DCB_cdrom_Partition_Start DD ?
  151. DCB_cdrom_Partition_End DD ?
  152. DCB_cd_ls_ft DB ?
  153. DCB_TOC DD CDROM_MAX_TOC / 4 + 1 DUP (?)
  154. .errnz (DCB_TOC / 4) * 4 - DCB_TOC
  155. DCB_cd_mode_sense_buf DD CDROM_MAX_MODE_BUF /4 + 1 DUP (?)
  156. DCB_cd_first_session DB ?
  157. DCB_cd_last_session DB ?
  158. DCB_play_resume_start DD ?
  159. DCB_play_resume_stop DD ?
  160. DCB_play_status DD ?
  161. DCB_cd_device_flags DD ?
  162. DCB_cd_fs_lt DB ?
  163. DCB_cd_bobbit_pt DB ?
  164. DCB_cd_fs_lo DD ?
  165. DCB_cd_last_session_start DD ?
  166. DCB_cd_current_block_size DD ?
  167. DCB_cd_vol_map DB 8 DUP (?)
  168. DCB_cd_current_command DD ?
  169. DCB_cd_queue_head DD ?
  170. DCB_cd_reserved DD ?
  171. DCB_cdrom ENDS
  172. DCB_cdaudio_playing EQU 0001H
  173. DCB_cdaudio_paused EQU 0002H
  174. DCB_cdaudio_vol_set EQU 0004H
  175. DCB_cd_supports_audio_play EQU 0001H
  176. DCB_cd_supports_data_only EQU 0000H
  177. DCB_cd_multi_session_valid EQU 0002H
  178. DCB_CD_CHANGEABLE_BLOCK EQU 0004H
  179. DCB_CD_FAKE_SCSI2 EQU 0008H
  180. DCB_CD_CDPLUS_DISC EQU 0010H
  181. DCB_CD_FAKE_SCSI1 EQU 0020H
  182. DCB_CD_USE_ATAPI_READCD EQU 0040H
  183. DCB_q_fi_fo EQU 00H
  184. DCB_q_sort EQU 01H
  185. DCB_type_disk EQU 00H
  186. DCB_type_tape EQU 01H
  187. DCB_type_printer EQU 02H
  188. DCB_type_processor EQU 03H
  189. DCB_type_worm EQU 04H
  190. DCB_type_cdrom EQU 05H
  191. DCB_type_scanner EQU 06H
  192. DCB_type_optical_memory EQU 07H
  193. DCB_type_changer EQU 08H
  194. DCB_type_comm EQU 09H
  195. DCB_type_floppy EQU 0AH
  196. ifdef  NEC_98
  197. DCB_type_optical_nec EQU 84H
  198. endif
  199. DCB_INQ_DATA_LENGTH EQU SIZE DCB_inquiry_flags+SIZE DCB_vendor_id+SIZE DCB_product_id+SIZE DCB_rev_level
  200. DCB_BUS_ESDI EQU 00H
  201. DCB_BUS_SCSI EQU 01H
  202. DCB_BUS_NEC EQU 02H
  203. DCB_BUS_SMART EQU 03H
  204. DCB_BUS_ABIOS EQU 04H
  205. DCB_VF_INHIBIT_LOCKING EQU 01H
  206. DCB_VF_INHIBIT_IO EQU 02H
  207. DCB_VF_INHIBIT_GEOM_RECOMPUTE EQU 04H
  208. DCB_VF_INHIBIT_GEOM_RECOMPUTE_BIT EQU 2
  209. DCB_VF_UNLOCK_SCHED_BIT EQU 4
  210. DCB_VF_UNLOCK_SCHED EQU (1 SHL DCB_VF_UNLOCK_SCHED_BIT)
  211. DCB_VF_NEED_PHYS_RECOMP_BIT EQU 5
  212. DCB_VF_NEED_PHYS_RECOMP EQU (1 SHL DCB_VF_NEED_PHYS_RECOMP_BIT)
  213. DCB_VF_PROT_NEC_DRIVE_BIT EQU 6
  214. DCB_VF_PROT_NEC_DRIVE EQU (1 SHL DCB_VF_PROT_NEC_DRIVE_BIT)
  215. DCB_TSD_INVALID_PARTITION EQU 1
  216. DCB_TSD_BAD_MBR EQU 1
  217. DCB_TSD_USER_LETTERS_CHECKED_BIT EQU 1
  218. DCB_TSD_USER_LETTERS_CHECKED EQU 1 SHL DCB_TSD_USER_LETTERS_CHECKED_BIT
  219. DCB_TSD_FIRST_USER_CHECK_BIT EQU 2
  220. DCB_TSD_FIRST_USER_CHECK EQU 1 SHL DCB_TSD_FIRST_USER_CHECK_BIT
  221. DCB_TSD_BID_SET_GEOM EQU 0008H
  222. DCB_TSD_USER_SET_BIT EQU 4
  223. DCB_TSD_USER_SET EQU 1 SHL DCB_TSD_USER_SET_BIT
  224. DCB_TSD_NO_USER_INT13 EQU 0020H
  225. DCB_TSD_PROTMODE_INT_13_BIT EQU 6
  226. DCB_TSD_PROTMODE_INT_13 EQU 1 SHL DCB_TSD_PROTMODE_INT_13_BIT
  227. DCB_TSD_NONEXIST_PARTITION_BIT EQU 7
  228. DCB_TSD_NONEXIST_PARTITION EQU 1 SHL DCB_TSD_NONEXIST_PARTITION_BIT
  229. DCB_TSD_MBPB_PBR EQU 0100H
  230. DCB_TSD_RBPB_INIT_BIT EQU 09H
  231. DCB_TSD_RBPB_INIT EQU (1 SHL DCB_TSD_RBPB_INIT_BIT)
  232. DCB_TSD_MBPB_INIT EQU 0400H
  233. DCB_TSD_APPARENT_PBR EQU 0800H
  234. DCB_TSD_APPARENT_ROM EQU 1000H
  235. DCB_TSD_ACTUAL_SET EQU 2000H
  236. DCB_TSD_ACTUAL_PRE_SET EQU 4000H
  237. DCB_TSD_APPARENT_PRE_SET EQU 8000H
  238. DCB_DEV_SPINDOWN_SUPPORTED_BIT EQU 31
  239. DCB_DEV_SPINDOWN_SUPPORTED EQU (1 SHL DCB_DEV_SPINDOWN_SUPPORTED_BIT)
  240. DCB_DEV_SPUN_DOWN_BIT EQU 30
  241. DCB_DEV_SPUN_DOWN EQU (1 SHL DCB_DEV_SPUN_DOWN_BIT)
  242. DCB_DEV_IO_ACTIVE_BIT EQU 29
  243. DCB_DEV_IO_ACTIVE EQU (1 SHL DCB_DEV_IO_ACTIVE_BIT)
  244. DCB_DEV_INT13_CONFIGURED_BIT EQU 28
  245. DCB_DEV_INT13_CONFIGURED EQU (1 SHL DCB_DEV_INT13_CONFIGURED_BIT)
  246. DCB_DEV_NO_ASPICAM_BIT EQU 27
  247. DCB_DEV_NO_ASPICAM EQU (1 SHL DCB_DEV_NO_ASPICAM_BIT)
  248. DCB_DEV_REMOVAL_PENDING_BIT EQU 26
  249. DCB_DEV_REMOVAL_PENDING EQU (1 SHL DCB_DEV_REMOVAL_PENDING_BIT)
  250. DCB_DEV_RMM_INT13_BIT EQU 25
  251. DCB_DEV_RMM_INT13 EQU (1 SHL DCB_DEV_RMM_INT13_BIT)
  252. DCB_DEV_TSD_PROCESSED_BIT EQU 24
  253. DCB_DEV_TSD_PROCESSED EQU (1 SHL DCB_DEV_TSD_PROCESSED_BIT)
  254. DCB_DEV_SINGLE_FLOPPY EQU 00800000H
  255. DCB_DEV_REAL_MODE EQU 00400000H
  256. DCB_DEV_QUE_DESCEND EQU 00200000H
  257. DCB_DEV_MEDIA_CHANGED EQU 00100000H
  258. DCB_DEV_INVALID_GEOM EQU 00080000H
  259. DCB_DEV_INHIBIT_SW_TIMED_SUPPORT EQU 00040000H
  260. DCB_DEV_ASYNC_MED_CHG_SUPPORT EQU 00020000H
  261. DCB_DEV_SYNC_MED_CHG_SUPPORT EQU 00010000H
  262. DCB_DEV_PHYSICAL EQU 00008000H
  263. DCB_DEV_LOGICAL EQU 00004000H
  264. DCB_DEV_LOGICAL_BIT EQU 14
  265. DCB_DEV_RMM EQU 00002000H
  266. DCB_DEV_RMM_BIT EQU 13
  267. DCB_DEV_UNCERTAIN_MEDIA EQU 00001000H
  268. DCB_DEV_ROM_CFG_REQ EQU 00000800H
  269. DCB_DEV_MUST_CONFIGURE EQU 00000400H
  270. DCB_DEV_SSTOR_VOL EQU 00000200H
  271. DCB_DEV_PAGING_DEVICE EQU 00000100H
  272. DCB_CHAR_DEVICE EQU 00000080H
  273. DCB_DEV_I13_IN_PROGRESS EQU 00000040H
  274. DCB_DEV_CACHE EQU <BDF_CACHE>
  275. DCB_DEV_SERIAL_CMD EQU <BDF_Serial_Cmd>
  276. DCB_DEV_REMOTE EQU <BDF_Remote>
  277. DCB_DEV_REMOVABLE EQU <BDF_Removable>
  278. DCB_DEV_REMOVABLE_BIT EQU 2
  279. DCB_DEV_WRITEABLE EQU <BDF_Writeable>
  280. DCB_DEV_INT13_DRIVE EQU <BDF_Int13_Drive>
  281. DCB_DEV2_THREAD_LOCK EQU 00000001H
  282. DCB_DEV2_THREAD_LOCK_BIT EQU 0
  283. DCB_DEV2_ATAPI_DEVICE EQU 00000002H
  284. DCB_DEV2_ATAPI_DEVICE_BIT EQU 1
  285. DCB_DEV2_DMF_DISK EQU 00000004H
  286. DCB_DEV2_DMF_DISK_BIT EQU 2
  287. DCB_DEV2_I13_COPY_PROT EQU 00000008H
  288. DCB_DEV2_I13_COPY_PROT_BIT EQU 3
  289. DCB_DEV2_FAIL_FORMAT EQU 00000010H
  290. DCB_DEV2_FAIL_FORMAT_BIT EQU 4
  291. DCB_DEV2_FLOPTICAL EQU 00000020H
  292. DCB_DEV2_FLOPTICAL_BIT EQU 5
  293. ifdef NEC_98
  294. DCB_DEV2_98_PARTITION EQU 80000000H
  295. DCB_DEV2_98_PARTITION_BIT EQU 31
  296. endif
  297. DCB_dmd_srb_cdb EQU 00000001H
  298. DCB_dmd_rsrv_1 EQU 00000002H
  299. DCB_dmd_logical EQU 00000004H
  300. DCB_dmd_physical EQU 00000008H
  301. DCB_dmd_small_memory EQU 00000010H
  302. DCB_dmd_rsrv_2 EQU 00000020H
  303. DCB_dmd_rsrv_3 EQU 00000040H
  304. DCB_dmd_rsrv_4 EQU 00000080H
  305. DCB_dmd_not_512 EQU 00000100H
  306. DCB_dmd_word_align EQU 00000200H
  307. DCB_dmd_dword_align EQU 00000400H
  308. DCB_dmd_phys_sgd EQU 00000800H
  309. DCB_dmd_phys_sgd_ptr EQU 00001000H
  310. DCB_dmd_do_a_b_toggling EQU 00002000H
  311. DCB_dmd_query_remov EQU 00004000H
  312. DCB_dmd_request_sns EQU 00008000H
  313. DCB_dmd_lock_unlock_media EQU 00010000H
  314. DCB_dmd_load_eject_media EQU 00020000H
  315. DCB_dmd_clear_media_chg EQU 00040000H
  316. DCB_dmd_serialize_bit EQU 19
  317. DCB_dmd_serialize EQU 1 SHL DCB_dmd_serialize_bit
  318. DCB_dmd_prot_mode EQU 00100000H
  319. DCB_dmd_no_xclusive EQU 00200000H
  320. DCB_dmd_pageability EQU 00400000H
  321. DCB_dmd_rsrv EQU DCB_dmd_rsrv_1+DCB_dmd_rsrv_2+DCB_dmd_rsrv_3+DCB_dmd_rsrv_4