16 #ifndef __OSD_PROTOCOL_H__
17 #define __OSD_PROTOCOL_H__
19 #include <linux/types.h>
20 #include <linux/kernel.h>
21 #include <asm/unaligned.h>
22 #include <scsi/scsi.h>
127 int min_shift,
int max_shift);
159 struct __osdv1_cdb_addr_len {
165 struct __osdv2_cdb_addr_len {
177 struct osd_attributes_page_mode {
188 struct osd_attributes_list_mode {
201 struct osd_attributes_cdb_mode {
265 #define OSD_ACT___(Name, Num) \
266 OSD_ACT_##Name = __constant_cpu_to_be16(0x8880 + Num), \
267 OSDv1_ACT_##Name = __constant_cpu_to_be16(0x8800 + Num),
270 #define OSD_ACT_V2(Name, Num) \
271 OSD_ACT_##Name = __constant_cpu_to_be16(0x8880 + Num),
273 #define OSD_ACT_V1_V2(Name, Num1, Num2) \
274 OSD_ACT_##Name = __constant_cpu_to_be16(Num2), \
275 OSDv1_ACT_##Name = __constant_cpu_to_be16(Num1),
312 OSD_ACT_V2(RESTORE_PARTITION_FROM_SNAPSHOT, 0x2C)
361 static inline unsigned osdv1_attr_list_elem_size(
unsigned len)
367 static inline unsigned osdv2_attr_list_elem_size(
unsigned len)
465 static inline int osd_data_out_integrity_info_sizeof(
bool is_ver1)
481 static inline int osd_data_in_integrity_info_sizeof(
bool is_ver1)