#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#define N_ELEMENTS 1000

#define F_TIMEFMT 1
#define F_SHOWPROG 2
#define F_SHOWSRC 4
#define F_BEEP 8

#define set_flag(var, flag) (var |= flag)
#define toggle_flag(var, flag) (var ^= flag)
#define remove_flag(var, flag) ((var &= ~flag) == flag)

int main(void)
{
	/*
	 * an int array allows 32 bits
	 */
	int *idx;
	
	idx=calloc(1, N_ELEMENTS);

	set_flag(idx[42], F_BEEP);
	fprintf(stderr, "index[42] set: %i\n", idx[42]);
	
	set_flag(idx[42], F_SHOWSRC);
	fprintf(stderr, "index[42] set: %i\n", idx[42]);
	
	remove_flag(idx[42], F_BEEP);
	fprintf(stderr, "index[42] set: %i\n", idx[42]);
	
	exit(0);
	
}
