Lines Matching refs:size
22 #define BITMASK(name,type,field,offset,size) static inline __u64 name(const type * k) \
23 { return(k->field >> offset) & ~(~0ULL << size); } static inline void SET_ ##name(type * k, __u64 v) \
24 { k->field &= ~(~(~0ULL << size) << offset); k->field |= (v & ~(~0ULL << size)) << offset; \
31 #define KEY_FIELD(name,field,offset,size) BITMASK(name, struct bkey, field, offset, size)
32 #define PTR_FIELD(name,offset,size) static inline __u64 name(const struct bkey * k, unsigned i) \
33 { return(k->ptr[i] >> offset) & ~(~0ULL << size); } static inline void SET_ ##name(struct bkey * k, unsigned i, __u64 v) \
34 { k->ptr[i] &= ~(~(~0ULL << size) << offset); k->ptr[i] |= (v & ~(~0ULL << size)) << offset; \
38 #define KEY(inode,offset,size) \
39 ((struct bkey) {.high = (1ULL << 63) | ((__u64) (size) << 20) | (inode),.low = (offset) \