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