Lines Matching refs:offset
22 #define BITMASK(name, type, field, offset, size) static inline __u64 name(const type *k) { return (k->field >> offset) & ~(~0ULL << size); } static inline void SET_##name(type *k, __u64 v) { k->field &= ~(~(~0ULL << size) << offset); k->field |= (v & ~(~0ULL << size)) << offset; }
30 #define KEY_FIELD(name, field, offset, size) BITMASK(name, struct bkey, field, offset, size)
31 #define PTR_FIELD(name, offset, size) static inline __u64 name(const struct bkey *k, unsigned i) { return (k->ptr[i] >> offset) & ~(~0ULL << size); } static inline void SET_##name(struct bkey *k, unsigned i, __u64 v) { k->ptr[i] &= ~(~(~0ULL << size) << offset); k->ptr[i] |= (v & ~(~0ULL << size)) << offset; }
35 #define KEY(inode, offset, size) ((struct bkey) { .high = (1ULL << 63) | ((__u64) (size) << 20) | (inode), .low = (offset) })
46 #define PTR(gen, offset, dev) ((((__u64) dev) << 51) | ((__u64) offset) << 8 | gen)
67 __u64 offset;