FreeBSD kernel CAM code
ctl_util.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ctl_scsi_zero_io(io)   ctl_zero_io(io)
 

Functions

__BEGIN_DECLS void ctl_scsi_tur (union ctl_io *io, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_inquiry (union ctl_io *io, uint8_t *data_ptr, int32_t data_len, uint8_t byte2, uint8_t page_code, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_request_sense (union ctl_io *io, uint8_t *data_ptr, int32_t data_len, uint8_t byte2, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_report_luns (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, uint8_t select_report, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_read_write_buffer (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, int read_buffer, uint8_t mode, uint8_t buffer_id, uint32_t buffer_offset, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_read_write (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, int read_op, uint8_t byte2, int minimum_cdb_size, uint64_t lba, uint32_t num_blocks, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_write_same (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, uint8_t byte2, uint64_t lba, uint32_t num_blocks, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_read_capacity (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, uint32_t addr, int reladr, int pmi, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_read_capacity_16 (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, uint64_t addr, int reladr, int pmi, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_mode_sense (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, int dbd, int llbaa, uint8_t page_code, uint8_t pc, uint8_t subpage, int minimum_cdb_size, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_start_stop (union ctl_io *io, int start, int load_eject, int immediate, int power_conditions, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_sync_cache (union ctl_io *io, int immed, int reladr, int minimum_cdb_size, uint64_t starting_lba, uint32_t block_count, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_persistent_res_in (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, int action, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_persistent_res_out (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, int action, int type, uint64_t key, uint64_t sa_key, ctl_tag_type tag_type, uint8_t control)
 
void ctl_scsi_maintenance_in (union ctl_io *io, uint8_t *data_ptr, uint32_t data_len, uint8_t action, ctl_tag_type tag_type, uint8_t control)
 
const char * ctl_scsi_task_string (struct ctl_taskio *taskio)
 
void ctl_io_sbuf (union ctl_io *io, struct sbuf *sb)
 
void ctl_io_error_sbuf (union ctl_io *io, struct scsi_inquiry_data *inq_data, struct sbuf *sb)
 
char * ctl_io_string (union ctl_io *io, char *str, int str_len)
 
char * ctl_io_error_string (union ctl_io *io, struct scsi_inquiry_data *inq_data, char *str, int str_len)
 
void ctl_io_print (union ctl_io *io)
 
void ctl_io_error_print (union ctl_io *io, struct scsi_inquiry_data *inq_data)
 
void ctl_data_print (union ctl_io *io)
 

Macro Definition Documentation

◆ ctl_scsi_zero_io

#define ctl_scsi_zero_io (   io)    ctl_zero_io(io)

Definition at line 103 of file ctl_util.h.

Function Documentation

◆ ctl_data_print()

void ctl_data_print ( union ctl_io io)

◆ ctl_io_error_print()

void ctl_io_error_print ( union ctl_io io,
struct scsi_inquiry_data inq_data 
)

Definition at line 845 of file ctl_util.c.

References ctl_io_error_string().

Referenced by ctl_process_done(), and ctlfe_dump_queue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ctl_io_error_sbuf()

void ctl_io_error_sbuf ( union ctl_io io,
struct scsi_inquiry_data inq_data,
struct sbuf *  sb 
)

◆ ctl_io_error_string()

char * ctl_io_error_string ( union ctl_io io,
struct scsi_inquiry_data inq_data,
char *  str,
int  str_len 
)

Definition at line 823 of file ctl_util.c.

References ctl_io_error_sbuf().

Referenced by ctl_io_error_print().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ctl_io_print()

void ctl_io_print ( union ctl_io io)

Definition at line 837 of file ctl_util.c.

References ctl_io_string().

Referenced by ctl_queue(), and ctl_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ctl_io_sbuf()

void ctl_io_sbuf ( union ctl_io io,
struct sbuf *  sb 
)

◆ ctl_io_string()

char * ctl_io_string ( union ctl_io io,
char *  str,
int  str_len 
)

Definition at line 812 of file ctl_util.c.

References ctl_io_sbuf().

Referenced by ctl_io_print().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ctl_scsi_inquiry()

◆ ctl_scsi_maintenance_in()

◆ ctl_scsi_mode_sense()

◆ ctl_scsi_persistent_res_in()

◆ ctl_scsi_persistent_res_out()

◆ ctl_scsi_read_capacity()

◆ ctl_scsi_read_capacity_16()

◆ ctl_scsi_read_write()

◆ ctl_scsi_read_write_buffer()

◆ ctl_scsi_report_luns()

◆ ctl_scsi_request_sense()

◆ ctl_scsi_start_stop()

◆ ctl_scsi_sync_cache()

◆ ctl_scsi_task_string()

const char * ctl_scsi_task_string ( struct ctl_taskio taskio)

Definition at line 717 of file ctl_util.c.

References ctl_task_table, ctl_taskio::task_action, ctl_task_desc::task_action, and ctl_io::taskio.

Referenced by ctl_io_sbuf().

Here is the caller graph for this function:

◆ ctl_scsi_tur()

◆ ctl_scsi_write_same()

void ctl_scsi_write_same ( union ctl_io io,
uint8_t *  data_ptr,
uint32_t  data_len,
uint8_t  byte2,
uint64_t  lba,
uint32_t  num_blocks,
ctl_tag_type  tag_type,
uint8_t  control 
)