VXD Quick Reference Rev C
© Perisoft 2003 www.perisoft.net

Numeric values are hex.

 

DDB
  0 1 2 3 4 5 6 7 8 9 A B C D E F
0
 
Phys Addr Next DDB Next DVT DDB Dcb
10
 
Bus
es
Flg "BD" DVT DevNode AcpiBlock

 

Flg

Mask

Name
01 DDB_IOS_FL_PENDING_REMOVAL
02 DDB_IOS_FL_PAGE_ALLOCED
04 DDB_IOS_FL_FIRST_ENUM_DONE
DDB_IOS_FL_PLEASE_DESTROY

 

DCB
  0 1 2 3 4 5 6 7 8 9 A B C D E F
0
  
Physical DCB Expansion Len Calldown Next DCB
10
  
Next Logical DCB Drv
Ltr
Uni
t#
TSD flags VRP Demand Flags
20
  
Device Flags Device Flags 2 Partition Start Track Table Ptr
30
  
Dos BDS   IDE Ptr Blk Shft Par Typ "BC"
40
 
Dev Type Exclusive Access Handle BPB flgs Log Dvs Sure
Stor
User Drv Letters   acpi Spin Dn Pwr Stat IDE Len
50
 
Max Transfer Sectors Block Length
60
 
Heads Cylinders Sectors Per Track Next DDB DCB
70
 
DevNode Bus Type Bus # Q Frz Max SGL Io Pnd Lok Cnt VSD Flags ID LUN HBA Max Sns
80
 
SRB Ext Inquiry Make
90
 
... Model
A0
 
... Rom Port Name Cur Unit ...
B0
 
Blocked IOP Volume Unlock Timer Acc Tmr Vol Flgs Q Alg Unit # Port Specific ...
C0
 
Spin Down Timer Next Maj Ver Min Ver Sub Typ INT 13 Flags ...
D0
 
Name Ptr Apparent Sectors Apparent Block Len ...
E0
 
Apparent Heads Apparent Cylinders Apparent SPT Sync Proc ...
F0
 
Cmd Proc ISR Proc Queue Ascend Queue Descend ...
100
 
Current Flags INT13 Parm Ptr Current Position  
110
 
 
120
 
  FastDisk BDD  

 

TSD Flags

Mask Name
1

DCB_TSD_INVALID_PARTITION

2

DCB_TSD_USER_LETTERS_CHECKED

4

DCB_TSD_FIRST_USER_CHECK

8

DCB_TSD_BID_SET_GEOM

10

DCB_TSD_USER_SET

20

DCB_TSD_NO_USER_INT13

40

DCB_TSD_PROTMODE_INT_13

80

DCB_TSD_NONEXIST_PARTITION

100

DCB_TSD_MBPB_PBR

200

DCB_TSD_RBPB_INIT

400

DCB_TSD_MBPB_INIT

800

DCB_TSD_APPARENT_PBR

1000

DCB_TSD_APPARENT_ROM

2000

DCB_TSD_ACTUAL_SET

4000

DCB_TSD_ACTUAL_PRE_SET

8000

DCB_TSD_APPRENT_PRE_SET

 

Demand Flags

Mask Name
1

DCB_dmd_srb_cdb

2

DCB_dmd_rsrv_1

4

DCB_dmd_logical

8

DCB_dmd_physical

10

DCB_dmd_small_memory

20

DCB_dmd_rsrv_2

40

DCB_dmd_rsrv_3

80

DCB_dmd_rsrv_4

100

DCB_dmd_not_512

200

Dcb_dmd_word_align

400

DCB_dmd_dword_align

800

DCB_dmd_phys_sgd

1000

DCB_dmd_phys_sgd_ptr

2000

DCB_dmd_do_a_b_toggling

4000

DCB_dmd_query_remov

8000

DCB_dmd_request_sns

1 0000

DCB_dmd_lock_unlock_media

2 0000

DCB_dmd_load_eject_media

4 0000

DCB_dmd_clear_media_chg

8 0000

DCB_dmd_serialize

10 0000

DCB_dmd_prot_mode

20 0000

DCB_dmd_no_xclusive

40 0000

DCB_dmd_pageability

80 0000

DCB_dmd_preload

 

Device Flags
Mask Name
1

DCB_DEV_INT13_DRIVE

2

CDB_DEV_WRITEABLE

4

DCB_DEV_REMOVABLE

8

DCB_DEV_REMOTE

10

DCB_DEV_SERIAL_CMD

20

DCB_DEV_CACHE

40

DCB_DEV_I13_IN_PROGRESS

80

DCB_CHAR_DEVICE

100

DCB_DEV_PAGING_DEVICE

200

DCB_DEV_SSTOR_VOL

400

DCB_DEV_MUST_CONFIGURE

800

DCB_DEV_ROM_CFG_REQ

1000

DCB_DEV_UNCERTAIN_MEDIA

2000

DCB_DEV_RMM

4000

DCB_DEV_LOGICAL

8000

DCB_DEV_PHYSICAL

1 0000

DCB_DEV_SYNC_MED_CHG_SUPPORT

2 0000

DCB_DEV_ASYNC_MED_CHG_SUPPORT

4 0000

DCB_DEV_INHIBIT_SW_TIMED_SUPPORT

8 0000

DCB_DEV_INVALID_GEOM

10 0000

DCB_DEV_MEDIA_CHANGED

20 0000

DCB_DEV_QUE_DESCEND

40 0000

DCB_DEV_REAL_MODE

80 0000

DCB_DEV_SINGLE_FLOPPY

100 0000

DCB_DEV_TSD_PROCESSED

200 0000

DCB_DEV_RMM_INT13

400 0000

DCB_DEV_REMOVAL_PENDING

800 0000

DCB_DEV_NO_ASPICAM

1000 0000

DCB_DEV_INT13_CONFIGURED

2000 0000

DCB_DEV_IO_ACTIVE

4000 0000

DCB_DEV_SPUN_DOWN

8000 0000

DCB_DEV_SPINDOWN_SUPPORTED

 

Device Flags 2
Mask Name
1 DCB_DEV2_THREAD_LOCK
2 DCB_DEV2_ATAPI_DEVICE
4 DCB_DEV2_DMF_DISK
8 DCB_DEV2_I13_COPY_PORT
10 DCB_DEV2_FAIL_FORMAT
20 DCB_DEV2_FLOPTICAL
40 DCB_DEV2_IDE_FLOPTICAL
4000 0000 DCB_DEV2_DISKX_VOL
8000 0000 DCB_DEV2_98_PARTITION

 

Device Type

Value Name
0 DCB_type_disk
1 DCB_type_tape
2 DCB_type_printer
3 DCB_type_processor
4 DCB_type_worm
5 DCB_type_cdrom
6 DCB_type_scanner
7 DCB_type_optical_memory
8 DCB_type_changer
9 DCB_type_comm
a DCB_type_floppy
84 DCB_type_optical_nec

 

Bus Type

Value Name
0 DCB_BUS_ESDI
1 DCB_BUS_SCSI
2 DCB_BUS_NEC
3 DCB_BUS_SMART
4 DCB_BUS_ABIOS

 

Volume Flags

Mask Name
1 DCB_VF_INHIBIT_LOCKING
2 DCB_VF_INHIBIT_IO
4 DCB_VF_INHIBIT_GEOM_RECOMPUTE
8  
10 DCB_VF_UNLOCK_SCHED
20 DCB_VF_NEED_PHYS_RECOMP
40 DCB_VF_PROT_NEC_DRIVE

 

IOP / IOR
  0 1 2 3 4 5 6 7 8 9 A B C D E F
0
  
Phys Addr Physical DCB Original DCB Timer
10
 
Calldown Callback VolTrack Private Thread Handle
20
 
SRB Reserved Callback[0]
30
 
RefData[0] Callback[1] RefData[1] Callback[2]
40
 
RefData[2] Callback[3] RefData[3] Callback[4]
50
 
RefData[4] Callback[5] RefData[5] Fmt Head Fmt Rate Fmt Track
60
 
Format Sectors Next IOR IOR Function IOR Status IOR Flags
70
 
Completion Callback Start Address Transfer Count
80
 
Transfer Buffer /
Logical SGLs
Private Client Private IOS Private Port
90
 
IOCTL Drive IOCTL Function IOCTL Control Parm IOCTL Buffer Ptr IOCTL Client Parms
A0
 
IOCTL Return Callback Ref Data Volume Handle (VRP) Physical SGL's
B0
 
Phys Sgls Vol
c:=2
IOS Private Reserved  

 

Calldown
  0 1 2 3 4 5 6 7 8 9 A B C D E F
0
  
Routine Demand Flags Driver Description Block Next
10
 
Expan Ofs Flg¹ LGN DVT DevNode AcpiBlock
  ¹ free for layer use

 

IOR Function
Value Name
0

IOR_READ

1

IOR_WRITE

2

IOR_VERIFY

3

IOR_CANCEL

4

IOR_WRITEV

5

IOR_MEDIA_CHECK

6

IOR_MEDIA_CHECK_RESET

7

IOR_LOAD_MEDIA

8

IOR_EJECT_MEDIA

9

IOR_LOCK_MEDIA

A

IOR_UNLOCK_MEDIA

B

IOR_REQUEST_SENSE

C

IOR_COMPUTE_GEOM

D

IOR_GEN_IOCTL

E

IOR_FORMAT

F

IOR_SCSI_PASS_THROUGH

10

IOR_CLEAR_QUEUE

11

IOR_DOS_RESET

12

IOR_SCSI_REQUEST

22

IOR_SET_WRITE_STATUS

23

IOR_RESTART_QUEUE

24

IOR_ABORT_QUEUE

25

IOR_SPIN_DOWN

26

IOR_SPIN_UP

27

IOR_FLUSH_DRIVE

28

IOR_FLUSH_DRIVE_AND_DISCARD

29

IOR_FSD_EXT

2A

IOR_FLOPTICAL_MODE_SENSE

2B

IOR_IDE_PASS_THROUGH

2C

IOR_FLOPTICAL_INQUIRY

2D

IOR_ENUMERATE_DEVICES

2E

IOR_ASYNCHRONOUS_DRIVE_SPINUP

 

IOR Status
Value Name
0 IORS_SUCCESS
1 IORS_SUCCESS_WITH_RETRY
2 IORS_SUCCESS_WITH_ECC
10 IORS_ERROR_DESIGNTR
10 IORS_INVALID_SECTOR
11 IORS_CANCELED
12 IORS_CMD_IN_PROGRESS
13 IORS_INVALID_CMD_PTR
14 IORS_MEDIA_ERROR
15 IORS_DEVICE_ERROR
16 IORS_INVALID_COMMAND
17 IORS_NO_DEVICE
18 IORS_NO_MEDIA
19 IORS_UNCERTAIN_MEDIA
1a IORS_UNREC_ERROR
1b IORS_HW_FAILURE
1c IORS_UNFORMATTED_MEDIA
1d IORS_MEMORY_ERROR
1e IORS_TIME_OUT
1f IORS_WRITE_PROTECT
20 IORS_NOT_READY
21 IORS_BUSY
22 IORS_VOL_NOT_LOCKED
23 IORS_VOL_LOCKED
24 IORS_VOL_NOT_REMOVABLE
25 IORS_VOL_IN_USE
26 IORS_LOCK_COUNT_EXCEEDED
27 IORS_VALID_EJECT_FAILED
28 IORS_ILLEGAL_ACCESS_MODE
29 IORS_LOCK_VIOLATION
2a IORS_WRONG_MEDIA
2b IORS_OUT_OF_SPACE
2c IORS_BIG_IO_BREAKUP_FAILED

 

IOR Flags

Mask

Name
1 IORF_HIGH_PRIORITY
2 IORF_SCATTER_GATHER
4 IORF_DON'T_CACHE
8 IORF_BYPASS_VOLTRK
10 IORF_16BIT_IOCTL
20 IORF_SWAPPER_IO
40 IORF_DOUBLE_BUFFER
80 IORF_SYNC_CMD_DONE
100 IORF_SYNC_COMMAND
200 IORF_CHAR_COMMAND
400 IORF_VERSION_002
800 IORF_BYPASS_QUEUE
1000 IORF_BLOCKDEV_EMULATE
2000 IORF_POSTPONED_VOL_OPS
4000 IORF_INHIBIT_GEOM_RECOMPUTE
8000 IORF_SRB_VALID
1 0000 IORF_BYPASS_A_B
2 0000 IORF_QUIET_VOLTRK
4 0000 IORF_AUDIO_DATA_READ
8 0000 IORF_LOGICAL_START_SECTOR
10 0000 IORF_PARTITION_BIAS_ADDED
20 0000 IORF_DATA_IN
40 0000 IORF_DATA_OUT
80 0000 IORF_VOL_RETRY
100 0000 IORF_NO_COMPRESS
200 0000 IORF_DIRECT_IO
400 0000 IORF_PHYS_SGDS
800 0000 IORF_IO_TOO_BIG
1000 0000 IORF_WIN32
2000 0000 IORF_CHAR_DEVICE
4000 0000 IORF_PHYS_CMD
8000 0000 IORF_IDE_RESERVED