I can see flags like this all over c/c++ libs and codes.
#define EDIT_MASK 0x0000003f // usually twice of the last flag minus one
#define EDIT_PO_1 0x00000001
#define EDIT_PO_2 0x00000002
#define EDIT_PO_3 0x00000004
#define EDIT_PO_4 0x00000008
#define EDIT_PO_5 0x00000010
#define EDIT_PO_6 0x00000020
I know the "EDIT_PO_1, ..2, ..3 .. EDIT_PO_6" flags are used for bitwise flags and stuff (Use of bitwise flags -just for ref). But I don't understand the significance of the "mask flag" i.e. EDIT_MASK.