Root/
1 | #ifndef TARGET_CORE_PR_H |
2 | #define TARGET_CORE_PR_H |
3 | /* |
4 | * PERSISTENT_RESERVE_OUT service action codes |
5 | * |
6 | * spc4r17 section 6.14.2 Table 171 |
7 | */ |
8 | #define PRO_REGISTER 0x00 |
9 | #define PRO_RESERVE 0x01 |
10 | #define PRO_RELEASE 0x02 |
11 | #define PRO_CLEAR 0x03 |
12 | #define PRO_PREEMPT 0x04 |
13 | #define PRO_PREEMPT_AND_ABORT 0x05 |
14 | #define PRO_REGISTER_AND_IGNORE_EXISTING_KEY 0x06 |
15 | #define PRO_REGISTER_AND_MOVE 0x07 |
16 | /* |
17 | * PERSISTENT_RESERVE_IN service action codes |
18 | * |
19 | * spc4r17 section 6.13.1 Table 159 |
20 | */ |
21 | #define PRI_READ_KEYS 0x00 |
22 | #define PRI_READ_RESERVATION 0x01 |
23 | #define PRI_REPORT_CAPABILITIES 0x02 |
24 | #define PRI_READ_FULL_STATUS 0x03 |
25 | /* |
26 | * PERSISTENT_RESERVE_ SCOPE field |
27 | * |
28 | * spc4r17 section 6.13.3.3 Table 163 |
29 | */ |
30 | #define PR_SCOPE_LU_SCOPE 0x00 |
31 | /* |
32 | * PERSISTENT_RESERVE_* TYPE field |
33 | * |
34 | * spc4r17 section 6.13.3.4 Table 164 |
35 | */ |
36 | #define PR_TYPE_WRITE_EXCLUSIVE 0x01 |
37 | #define PR_TYPE_EXCLUSIVE_ACCESS 0x03 |
38 | #define PR_TYPE_WRITE_EXCLUSIVE_REGONLY 0x05 |
39 | #define PR_TYPE_EXCLUSIVE_ACCESS_REGONLY 0x06 |
40 | #define PR_TYPE_WRITE_EXCLUSIVE_ALLREG 0x07 |
41 | #define PR_TYPE_EXCLUSIVE_ACCESS_ALLREG 0x08 |
42 | |
43 | #define PR_APTPL_MAX_IPORT_LEN 256 |
44 | #define PR_APTPL_MAX_TPORT_LEN 256 |
45 | |
46 | extern struct kmem_cache *t10_pr_reg_cache; |
47 | |
48 | extern int core_pr_dump_initiator_port(struct t10_pr_registration *, |
49 | char *, u32); |
50 | extern int target_scsi2_reservation_release(struct se_cmd *); |
51 | extern int target_scsi2_reservation_reserve(struct se_cmd *); |
52 | extern int core_scsi3_alloc_aptpl_registration( |
53 | struct t10_reservation *, u64, |
54 | unsigned char *, unsigned char *, u32, |
55 | unsigned char *, u16, u32, int, int, u8); |
56 | extern int core_scsi3_check_aptpl_registration(struct se_device *, |
57 | struct se_portal_group *, struct se_lun *, |
58 | struct se_lun_acl *); |
59 | extern void core_scsi3_free_pr_reg_from_nacl(struct se_device *, |
60 | struct se_node_acl *); |
61 | extern void core_scsi3_free_all_registrations(struct se_device *); |
62 | extern unsigned char *core_scsi3_pr_dump_type(int); |
63 | |
64 | extern int target_scsi3_emulate_pr_in(struct se_cmd *); |
65 | extern int target_scsi3_emulate_pr_out(struct se_cmd *); |
66 | extern int core_setup_reservations(struct se_device *, int); |
67 | |
68 | #endif /* TARGET_CORE_PR_H */ |
69 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9