| .. | .. | 
|---|
| 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 */ | 
|---|