scsi_device_info
typedef struct scsi_device_info *scsi_device;
scsi_alloc_ccb(scsi_device_info *device)
scsi_device_info *device;
scsi_device_info *device = worker_req->device;
static scsi_device_info *
scsi_device_info *device;
device = (scsi_device_info *)malloc(sizeof(*device));
scsi_create_autosense_request(scsi_device_info *device)
scsi_device_info *device;
scsi_free_autosense_request(scsi_device_info *device)
scsi_uninit_device(scsi_device_info *device)
scsi_device_removed(scsi_device_info *device)
uchar target_lun, scsi_device_info **res_device)
scsi_put_forced_device(scsi_device_info *device)
scsi_reset_device(scsi_device_info *device)
scsi_ioctl(scsi_device_info *device, uint32 op, void *buffer, size_t length)
scsi_free_device(scsi_device_info *device)
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
scsi_device_info *device = (scsi_device_info*)dev;
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
scsi_free_emulation_buffer(scsi_device_info *device)
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
scsi_init_emulation_buffer(scsi_device_info *device, size_t buffer_size)
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
static void scsi_unblock_device_int( scsi_device_info *device, bool by_SIM )
void scsi_unblock_device( scsi_device_info *device )
void scsi_cont_send_device( scsi_device_info *device )
static void scsi_block_device_int( scsi_device_info *device, bool by_SIM )
void scsi_block_device( scsi_device_info *device )
static void scsi_insert_new_request( scsi_device_info *device,
static inline void scsi_clear_device_overflow( scsi_device_info *device )
static inline void scsi_unblock_device_noresume( scsi_device_info *device, bool by_SIM )
static inline void scsi_block_device_nolock( scsi_device_info *device, bool by_SIM )
void scsi_block_device( scsi_device_info *device );
void scsi_unblock_device( scsi_device_info *device );
void scsi_cont_send_device( scsi_device_info *device );
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
static inline void scsi_add_device_queue_first( scsi_device_info *device )
ADD_CDL_LIST_HEAD( device, scsi_device_info, device->bus->waiting_devices, waiting_ );
static inline void scsi_add_device_queue_last( scsi_device_info *device )
ADD_CDL_LIST_TAIL( device, scsi_device_info, device->bus->waiting_devices, waiting_ );
static inline void scsi_remove_device_queue( scsi_device_info *device )
static inline void scsi_set_device_overflow( scsi_device_info *device )
struct scsi_device_info *waiting_devices; // devices ready to receive requests
struct scsi_device_info *waiting_next;
struct scsi_device_info *waiting_prev;
scsi_ccb *scsi_alloc_ccb(scsi_device_info *device);
uchar target_id, uchar target_lun, scsi_device_info **res_device);
void scsi_put_forced_device(scsi_device_info *device);
void scsi_free_emulation_buffer(scsi_device_info *device);
status_t scsi_init_emulation_buffer(scsi_device_info *device, size_t buffer_size);
scsi_device_info *device = request->device;
finish_autosense(scsi_device_info *device)
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
scsi_device_info *device = request->device;
scsi_device_info *device;
scsi_device_info *device = request->device;