#ifndef ASM_SCHID_H | |
#define ASM_SCHID_H | |
struct subchannel_id { | |
__u32 cssid : 8; | |
__u32 : 4; | |
__u32 m : 1; | |
__u32 ssid : 2; | |
__u32 one : 1; | |
__u32 sch_no : 16; | |
} __attribute__ ((packed, aligned(4))); | |
#ifdef __KERNEL__ | |
#include <linux/string.h> | |
/* Helper function for sane state of pre-allocated subchannel_id. */ | |
static inline void | |
init_subchannel_id(struct subchannel_id *schid) | |
{ | |
memset(schid, 0, sizeof(struct subchannel_id)); | |
schid->one = 1; | |
} | |
static inline int | |
schid_equal(struct subchannel_id *schid1, struct subchannel_id *schid2) | |
{ | |
return !memcmp(schid1, schid2, sizeof(struct subchannel_id)); | |
} | |
#endif /* __KERNEL__ */ | |
#endif /* ASM_SCHID_H */ |