aboutsummaryrefslogtreecommitdiff
path: root/include/target/target_core_tmr.h
blob: 6c8248bc2c66a868924f1db07fb196898745f93b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef TARGET_CORE_TMR_H
#define TARGET_CORE_TMR_H

/* task management function values */
#ifdef ABORT_TASK
#undef ABORT_TASK
#endif /* ABORT_TASK */
#define ABORT_TASK				1
#ifdef ABORT_TASK_SET
#undef ABORT_TASK_SET
#endif /* ABORT_TASK_SET */
#define ABORT_TASK_SET				2
#ifdef CLEAR_ACA
#undef CLEAR_ACA
#endif /* CLEAR_ACA */
#define CLEAR_ACA				3
#ifdef CLEAR_TASK_SET
#undef CLEAR_TASK_SET
#endif /* CLEAR_TASK_SET */
#define CLEAR_TASK_SET				4
#define LUN_RESET				5
#define TARGET_WARM_RESET			6
#define TARGET_COLD_RESET			7
#define TASK_REASSIGN				8

/* task management response values */
#define TMR_FUNCTION_COMPLETE			0
#define TMR_TASK_DOES_NOT_EXIST			1
#define TMR_LUN_DOES_NOT_EXIST			2
#define TMR_TASK_STILL_ALLEGIANT		3
#define TMR_TASK_FAILOVER_NOT_SUPPORTED		4
#define TMR_TASK_MGMT_FUNCTION_NOT_SUPPORTED	5
#define TMR_FUNCTION_AUTHORIZATION_FAILED	6
#define TMR_FUNCTION_REJECTED			255

extern struct kmem_cache *se_tmr_req_cache;

extern struct se_tmr_req *core_tmr_alloc_req(struct se_cmd *, void *, u8);
extern void core_tmr_release_req(struct se_tmr_req *);
extern int core_tmr_lun_reset(struct se_device *, struct se_tmr_req *,
				struct list_head *, struct se_cmd *);

#endif /* TARGET_CORE_TMR_H */