1 #ifndef TARGET_CORE_TMR_H 2 #define TARGET_CORE_TMR_H 3 4 /* fabric independent task management function values */ 5 enum tcm_tmreq_table { 6 TMR_ABORT_TASK = 1, 7 TMR_ABORT_TASK_SET = 2, 8 TMR_CLEAR_ACA = 3, 9 TMR_CLEAR_TASK_SET = 4, 10 TMR_LUN_RESET = 5, 11 TMR_TARGET_WARM_RESET = 6, 12 TMR_TARGET_COLD_RESET = 7, 13 TMR_FABRIC_TMR = 255, 14 }; 15 16 /* fabric independent task management response values */ 17 enum tcm_tmrsp_table { 18 TMR_FUNCTION_COMPLETE = 0, 19 TMR_TASK_DOES_NOT_EXIST = 1, 20 TMR_LUN_DOES_NOT_EXIST = 2, 21 TMR_TASK_STILL_ALLEGIANT = 3, 22 TMR_TASK_FAILOVER_NOT_SUPPORTED = 4, 23 TMR_TASK_MGMT_FUNCTION_NOT_SUPPORTED = 5, 24 TMR_FUNCTION_AUTHORIZATION_FAILED = 6, 25 TMR_FUNCTION_REJECTED = 255, 26 }; 27 28 extern struct kmem_cache *se_tmr_req_cache; 29 30 extern struct se_tmr_req *core_tmr_alloc_req(struct se_cmd *, void *, u8); 31 extern void core_tmr_release_req(struct se_tmr_req *); 32 extern int core_tmr_lun_reset(struct se_device *, struct se_tmr_req *, 33 struct list_head *, struct se_cmd *); 34 35 #endif /* TARGET_CORE_TMR_H */ 36