Commit | Line | Data |
---|---|---|
9d92a7e1 CH |
1 | #ifndef ASM_SCHID_H |
2 | #define ASM_SCHID_H | |
a8237fc4 | 3 | |
0680ba01 HC |
4 | #include <linux/types.h> |
5 | ||
a8237fc4 | 6 | struct subchannel_id { |
9d92a7e1 CH |
7 | __u32 cssid : 8; |
8 | __u32 : 4; | |
9 | __u32 m : 1; | |
10 | __u32 ssid : 2; | |
11 | __u32 one : 1; | |
12 | __u32 sch_no : 16; | |
13 | } __attribute__ ((packed, aligned(4))); | |
a8237fc4 | 14 | |
626f3117 | 15 | #ifdef __KERNEL__ |
1378ee9b | 16 | #include <linux/string.h> |
a8237fc4 CH |
17 | |
18 | /* Helper function for sane state of pre-allocated subchannel_id. */ | |
19 | static inline void | |
20 | init_subchannel_id(struct subchannel_id *schid) | |
21 | { | |
22 | memset(schid, 0, sizeof(struct subchannel_id)); | |
23 | schid->one = 1; | |
24 | } | |
25 | ||
26 | static inline int | |
27 | schid_equal(struct subchannel_id *schid1, struct subchannel_id *schid2) | |
28 | { | |
29 | return !memcmp(schid1, schid2, sizeof(struct subchannel_id)); | |
30 | } | |
31 | ||
626f3117 AB |
32 | #endif /* __KERNEL__ */ |
33 | ||
9d92a7e1 | 34 | #endif /* ASM_SCHID_H */ |