6c8248bc2c66a868924f1db07fb196898745f93b
[linux-2.6.git] / include / target / target_core_tmr.h
1 #ifndef TARGET_CORE_TMR_H
2 #define TARGET_CORE_TMR_H
3
4 /* task management function values */
5 #ifdef ABORT_TASK
6 #undef ABORT_TASK
7 #endif /* ABORT_TASK */
8 #define ABORT_TASK                              1
9 #ifdef ABORT_TASK_SET
10 #undef ABORT_TASK_SET
11 #endif /* ABORT_TASK_SET */
12 #define ABORT_TASK_SET                          2
13 #ifdef CLEAR_ACA
14 #undef CLEAR_ACA
15 #endif /* CLEAR_ACA */
16 #define CLEAR_ACA                               3
17 #ifdef CLEAR_TASK_SET
18 #undef CLEAR_TASK_SET
19 #endif /* CLEAR_TASK_SET */
20 #define CLEAR_TASK_SET                          4
21 #define LUN_RESET                               5
22 #define TARGET_WARM_RESET                       6
23 #define TARGET_COLD_RESET                       7
24 #define TASK_REASSIGN                           8
25
26 /* task management response values */
27 #define TMR_FUNCTION_COMPLETE                   0
28 #define TMR_TASK_DOES_NOT_EXIST                 1
29 #define TMR_LUN_DOES_NOT_EXIST                  2
30 #define TMR_TASK_STILL_ALLEGIANT                3
31 #define TMR_TASK_FAILOVER_NOT_SUPPORTED         4
32 #define TMR_TASK_MGMT_FUNCTION_NOT_SUPPORTED    5
33 #define TMR_FUNCTION_AUTHORIZATION_FAILED       6
34 #define TMR_FUNCTION_REJECTED                   255
35
36 extern struct kmem_cache *se_tmr_req_cache;
37
38 extern struct se_tmr_req *core_tmr_alloc_req(struct se_cmd *, void *, u8);
39 extern void core_tmr_release_req(struct se_tmr_req *);
40 extern int core_tmr_lun_reset(struct se_device *, struct se_tmr_req *,
41                                 struct list_head *, struct se_cmd *);
42
43 #endif /* TARGET_CORE_TMR_H */