VRP

#include <vrp.h>

typedef struct _VRP { 
    ULONG  VRP_demand_flags;      // demand flags; see below
    ULONG  VRP_event_flags;       // event flags; see below
    USHORT VRP_max_sgd;           // max # of scatter/gather descriptors
    USHORT VRP_max_req_size;      // max size of request packet
    ULONG  VRP_delta_to_ior;      // delta from IOP to IOR
    ULONG  VRP_block_size;        // block size of volume
    ULONG  VRP_fsd_hvol;          // FSD's volume handle
    ULONG  VRP_fsd_entry;         // file system request routine
    ULONG  VRP_device_handle;     // address of handle for device
    ULONG  VRP_partition_offset;  // partition bias for logical volumes 
    ULONG  VRP_next_vrp;          // link to next VRP
    ULONG  VRP_logical_handle;    // pointer to logical device handle
    ULONG  VRP_reserved;          // reserved; must be zero
} VRP, *PVRP;
 
VRP_demand_flags
Demand flags to identify the device requirements the FSD must satisfy. Can be a combination of these values:
VRP_dmd_small_memory Data buffers must reside in the lower 16 Mb of memory.
VRP_dmd_word_align Data buffers must be word aligned.
VRP_dmd_dword_align Data buffers must be double word aligned.
VRP_dmd_phys_sgd Scatter/gather descriptors must contain physical addresses. If this value is not given, descriptors contain linear addresses.
VRP_dmd_phys_sgd_ptr Address to the first scatter/gather descriptor (IOR_sgd_lin_phys) must be a physical address. If this value is not given, the first address must be a linear address.
VRP_dmd_do_a_b_toggling Enable toggling between floppy drives A and B. When this value is set for a single floppy drive system, the volume tracker the toggles between the A and B drives when accessed.
VRP_dmd_removable_supp Device is removable.
VRP_dmd_lock_unlock_media Media supports software locking.
VRP_dmd_load_eject_media Media supports electronic eject.
VRP_dmd_clear_media_chg Media supports command to clear media change.
VRP_dmd_no_xcl_required Media allows absolute read/writes without an exclusive lock.
VRP_dmd_pageability Indicates that access to this volume can cause paging.

VRP_event_flags
Event flags to identify special events. The FSD may ignore these flags provided that it still prevents data corruption. In such cases, the FSD is notified of the event on the next I/O request to the volume. Can be a combination of these values:
VRP_ef_media_changed The media containing this volume indicated change since most recent I/O operation.
VRP_ef_media_uncertain The media containing this volume may have been changed since the most recent I/O operation.
VRP_ef_prompting The media containing this volume is currently being prompted for.
VRP_ef_input_share The input stream of a character device is sharable.
VRP_ef_output_share The output stream of a character device is sharable.
VRP_ef_user_canceled The user has hit CANCEL on a request for reinserting this volume.
VRP_ef_write_protected This volume is currently write protected.
VRP_ef_real_mode_mapped This volume is currently accessed through the real mode mapper.
VRP_ef_ios_locked Device containing given volume is locked.

VRP_max_sgd
Maximum number of scatter/gather descriptors that may be built. The FSD should use the smaller of this value and 17.

See Also

IOP, IOR, IRS