| .. | .. |
|---|
| 23 | 23 | char inquiry_rev[4]; |
|---|
| 24 | 24 | struct module *owner; |
|---|
| 25 | 25 | |
|---|
| 26 | | - u8 transport_flags; |
|---|
| 26 | + u8 transport_flags_default; |
|---|
| 27 | + u8 transport_flags_changeable; |
|---|
| 27 | 28 | |
|---|
| 28 | 29 | int (*attach_hba)(struct se_hba *, u32); |
|---|
| 29 | 30 | void (*detach_hba)(struct se_hba *); |
|---|
| .. | .. |
|---|
| 39 | 40 | ssize_t (*show_configfs_dev_params)(struct se_device *, char *); |
|---|
| 40 | 41 | |
|---|
| 41 | 42 | sense_reason_t (*parse_cdb)(struct se_cmd *cmd); |
|---|
| 43 | + void (*tmr_notify)(struct se_device *se_dev, enum tcm_tmreq_table, |
|---|
| 44 | + struct list_head *aborted_cmds); |
|---|
| 42 | 45 | u32 (*get_device_type)(struct se_device *); |
|---|
| 43 | 46 | sector_t (*get_blocks)(struct se_device *); |
|---|
| 44 | 47 | sector_t (*get_alignment_offset_lbas)(struct se_device *); |
|---|
| .. | .. |
|---|
| 95 | 98 | |
|---|
| 96 | 99 | extern struct configfs_attribute *sbc_attrib_attrs[]; |
|---|
| 97 | 100 | extern struct configfs_attribute *passthrough_attrib_attrs[]; |
|---|
| 101 | +extern struct configfs_attribute *passthrough_pr_attrib_attrs[]; |
|---|
| 98 | 102 | |
|---|
| 99 | 103 | /* core helpers also used by command snooping in pscsi */ |
|---|
| 100 | 104 | void *transport_kmap_data_sg(struct se_cmd *); |
|---|
| .. | .. |
|---|
| 115 | 119 | static inline bool target_dev_configured(struct se_device *se_dev) |
|---|
| 116 | 120 | { |
|---|
| 117 | 121 | return !!(se_dev->dev_flags & DF_CONFIGURED); |
|---|
| 118 | | -} |
|---|
| 119 | | - |
|---|
| 120 | | -/* Only use get_unaligned_be24() if reading p - 1 is allowed. */ |
|---|
| 121 | | -static inline uint32_t get_unaligned_be24(const uint8_t *const p) |
|---|
| 122 | | -{ |
|---|
| 123 | | - return get_unaligned_be32(p - 1) & 0xffffffU; |
|---|
| 124 | 122 | } |
|---|
| 125 | 123 | |
|---|
| 126 | 124 | #endif /* TARGET_CORE_BACKEND_H */ |
|---|