1#ifndef ASM_SCHID_H 2#define ASM_SCHID_H 3 4#include <linux/types.h> 5 6struct subchannel_id { 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))); 14 15#ifdef __KERNEL__ 16#include <linux/string.h> 17 18/* Helper function for sane state of pre-allocated subchannel_id. */ 19static inline void 20init_subchannel_id(struct subchannel_id *schid) 21{ 22 memset(schid, 0, sizeof(struct subchannel_id)); 23 schid->one = 1; 24} 25 26static inline int 27schid_equal(struct subchannel_id *schid1, struct subchannel_id *schid2) 28{ 29 return !memcmp(schid1, schid2, sizeof(struct subchannel_id)); 30} 31 32#endif /* __KERNEL__ */ 33 34#endif /* ASM_SCHID_H */ 35