#define DEF_MODE_FLAG_1 0x1 /* 0000 0000 0000 0001 */
#define DEF_MODE_FLAG_2 0x2 /* 0000 0000 0000 0010 */
#define DEF_MODE_FLAG_4 0x4 /* 0000 0000 0000 0100 */
#define DEF_MODE_FLAG_8 0x8 /* 0000 0000 0000 1000 */
#define DEF_MODE_FLAG_10 0x10 /* 0000 0000 0001 0000 */
#define DEF_MODE_FLAG_20 0x20 /* 0000 0000 0010 0000 */
#define DEF_MODE_FLAG_40 0x40 /* 0000 0000 0100 0000 */
#define DEF_MODE_FLAG_80 0x80 /* 0000 0000 1000 0000 */
#define DEF_MODE_FLAG_100 0x100 /* 0000 0001 0000 0000 */
#define DEF_MODE_FLAG_200 0x200 /* 0000 0010 0000 0000 */
#define DEF_MODE_FLAG_400 0x400 /* 0000 0100 0000 0000 */
#define DEF_MODE_FLAG_800 0x800 /* 0000 1000 0000 0000 */
#define DEF_MODE_FLAG_1000 0x1000 /* 0001 0000 0000 0000 */
#define DEF_MODE_FLAG_2000 0x2000 /* 0010 0000 0000 0000 */
#define DEF_MODE_FLAG_4000 0x4000 /* 0100 0000 0000 0000 */
#define DEF_MODE_FLAG_8000 0x8000 /* 1000 0000 0000 0000 */
#define mode_isset(f,t) ((f) & (t))
#define mode_setflag(f,t) (f |= (t))
#define mode_unsetflag(f,t) (f &= (~(t)))
(사용예시)
int flag = 0;
mode_setflag( flag, DEF_MODE_FLAG_1);
mode_setflag( flag, DEF_MODE_FLAG_2);
mode_unsetflag( flag, DEF_MODE_FLAG_1);
mode_unsetflag( flag, DEF_MODE_FLAG_2);
if( mode_isset(flag, DEF_MODE_FLAG_2) ) {
fprintf(stdout, "flag에 DEF_MODE_FLAG_2 세팅되어 있음 ");
}