1 /* 2 * osd_types.h - Types and constants which are not part of the protocol. 3 * 4 * Copyright (C) 2008 Panasas Inc. All rights reserved. 5 * 6 * Authors: 7 * Boaz Harrosh <ooo@electrozaur.com> 8 * Benny Halevy <bhalevy@panasas.com> 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License version 2 12 * 13 * Contains types and constants that are implementation specific and are 14 * used by more than one part of the osd library. 15 * (Eg initiator/target/security_manager/...) 16 */ 17 #ifndef __OSD_TYPES_H__ 18 #define __OSD_TYPES_H__ 19 20 struct osd_systemid { 21 u8 data[OSD_SYSTEMID_LEN]; 22 }; 23 24 typedef u64 __bitwise osd_id; 25 26 struct osd_obj_id { 27 osd_id partition; 28 osd_id id; 29 }; 30 31 static const struct __weak osd_obj_id osd_root_object = {0, 0}; 32 33 struct osd_attr { 34 u32 attr_page; 35 u32 attr_id; 36 u16 len; /* byte count of operand */ 37 void *val_ptr; /* in network order */ 38 }; 39 40 struct osd_sg_entry { 41 u64 offset; 42 u64 len; 43 }; 44 45 #endif /* ndef __OSD_TYPES_H__ */ 46