#ifndef __DEFERRER_FLAG_H_
#define __DEFERRER_FLAG_H_


#include <stdint.h>
#include <stdbool.h>


/*** Defines */
#define DEFERRER_FLAG_COUNT 32


/*** Type definitions */
typedef void (*deferrer_flag_cb_t)(void *p_data);

typedef uint32_t deferrer_flag_t;


/*** Interface functions */
void deferrer_flag_init();
deferrer_flag_t deferrer_flag_add(deferrer_flag_cb_t callback, void *p_data);
void deferrer_flag_set(deferrer_flag_t flag);



#endif /* __DEFERRER_FLAG_H_ */
