00001 #ifndef SCS_FE_QUEUE_H_ 00002 #define SCS_FE_QUEUE_H_ 00003 00004 #include "alt_types.h" 00005 00006 00014 00015 00016 00017 typedef struct { 00018 alt_u32 frecuencia; 00019 alt_u8 clk_value; 00020 } scs_clk_frec_event_params; 00021 00022 00026 typedef struct { 00027 alt_u32 time; 00028 scs_clk_frec_event_params params; 00029 } scs_freq_event_t; 00030 00031 00033 #define SCS_FE_Q_SIZE 32 00034 00049 typedef struct{ 00050 scs_freq_event_t elements[SCS_FE_Q_SIZE]; 00051 int num_e; 00052 int rd_idx; 00053 00054 } scs_fe_queue_t; 00055 00056 00060 void scs_init_fe_queue(scs_fe_queue_t* queue); 00061 00066 void scs_add_fe_element(scs_fe_queue_t* queue,scs_freq_event_t e); 00067 00072 scs_freq_event_t scs_remove_fe_element(scs_fe_queue_t* queue); 00073 00078 int scs_is_fe_empty(scs_fe_queue_t* queue); 00079 00084 int scs_is_fe_full(scs_fe_queue_t* queue); 00085 00086 00087 #endif /*SCS_FE_QUEUE_H_*/