UF
flg |= UF;
#define BDLIST (AF|BF|IF|KF|LF|OF|PF|RF|TF|UF|WF|XF|CBF|CDF|CHF|CLF|CPF|CXF|CYF|CZF)
#define GEN_GETTER(LS, US, LF, UF) \
return ((elem->bytes[MK_ENUM(US,UF,_BYTE)] & MK_ENUM(US,UF,_MASK)) \
>> MK_ENUM(US,UF,_SHIFT)); \
#define GEN_SETTER(LS, US, LF, UF) \
elem->bytes[MK_ENUM(US,UF,_BYTE)] &= ~MK_ENUM(US,UF,_MASK); \
elem->bytes[MK_ENUM(US,UF,_BYTE)] |= \
(val << MK_ENUM(US,UF,_SHIFT)) & MK_ENUM(US,UF,_MASK); \
#define GEN_HDR_GETTER(LS, US, LF, UF) \
return ((page->hdr.page_specific_flags & MK_ENUM(US,UF,_MASK)) \
>> MK_ENUM(US,UF,_SHIFT)); \
#define GEN_HDR_SETTER(LS, US, LF, UF) \
page->hdr.page_specific_flags &= ~MK_ENUM(US,UF,_MASK); \
(val << MK_ENUM(US,UF,_SHIFT)) & MK_ENUM(US,UF,_MASK); \
#define GEN_ACCESSORS(LS, US, LF, UF) \
GEN_GETTER(LS, US, LF, UF) \
GEN_SETTER(LS, US, LF, UF)
#define GEN_HDR_ACCESSORS(LS, US, LF, UF) \
GEN_HDR_GETTER(LS, US, LF, UF) \
GEN_HDR_SETTER(LS, US, LF, UF)