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