00001 #ifndef SCS_FP_Q_QUEUE_H_ 00002 #define SCS_FP_Q_QUEUE_H_ 00003 00004 00011 00012 //#define DEBUG_QUEUE 00013 00014 00015 00017 #define SCS_FP_Q_SIZE 16 00018 00032 typedef void (*scs_fptr)(void); //tipo definido "puntero a funcion de parametros void con retorno void" 00033 00035 typedef struct{ 00036 scs_fptr elements[SCS_FP_Q_SIZE]; 00037 int num_e; 00038 int rd_idx; 00039 00040 } scs_fp_queue_t; 00041 00042 00046 void scs_init_fp_queue(scs_fp_queue_t* queue); 00047 00052 void scs_add_fp_element(scs_fp_queue_t* queue,scs_fptr e); 00053 00058 scs_fptr scs_remove_fp_element(scs_fp_queue_t* queue); 00059 00064 int scs_is_fp_empty(scs_fp_queue_t* queue); 00065 00070 int scs_is_fp_full(scs_fp_queue_t* queue); 00071 00072 00073 #endif /*SCS_FP_QUEUE_H_*/