/* * Define here the outputs for the module */ #ifndef _OUTPUTS_H #define _OUTPUTS_H /** Type declaration */ /*Interface 1: cdatasource*/ #include "../../wimax_datasource/interfaces/itf_types.h" #define OUTPUT_MAX_CONTROL 1 /*Max buffer size for control out symbols*/ /* buffers for data and control: DATASOURCE*/ CDataSource control_datasource; /*Interface 2: cdatasink*/ #include "../../wimax_datasink/interfaces/itf_types.h" CDataSink control_datasink; /*Interface 3: rando*/ #include "../../wimax_rando/interfaces/itf_types.h" CRando control_rando; /*Interface 4: derando*/ #include "../../wimax_derando/interfaces/itf_types.h" CDerando control_derando; /*Interface 5: rsolomon*/ #include "../../wimax_rsolomon/interfaces/itf_types.h" CRsolomon control_rsolomon; /*Interface 6: dersolomon*/ #include "../../wimax_dersolomon/interfaces/itf_types.h" CDersolomon control_dersolomon; /*Interface 7: cconv*/ #include "../../gen_cconv/interfaces/itf_types.h" struct cconv_h control_cconv; /*Interface 8: viterbi*/ #include "../../gen_viterbi/interfaces/itf_types.h" struct viterbi_h control_viterbi; /*Interface 9: channel*/ #include "../../wimax_channel/interfaces/itf_types.h" CChannel control_channel; /*Interface 10: puncturing*/ #include "../../wimax_puncturing/interfaces/itf_types.h" CPuncture control_puncturing; /*Interface 11: depuncturing*/ #include "../../gen_depunct/interfaces/itf_types.h" CDepunc_h control_depuncturing; /*Interface 12: interleaver*/ #include "../../wimax_interleaver/interfaces/itf_types.h" CInter control_inter; /*Interface 13: deinterleaver*/ #include "../../wimax_deinterleaver/interfaces/itf_types.h" CDeInter control_deinter; /*Interface 14: symbolmap*/ #include "../../wimax_symbolmap/interfaces/itf_types.h" CSimbolmap control_symbolmap; /*Interface 15: symboldemap*/ #include "../../wimax_symboldemap/interfaces/itf_types.h" CSimboldemap control_symboldemap; /* defined interfaces functions*/ int get_controlout_length_datasource(); int get_controlout_length_datasink(); int get_controlout_length_rando(); int get_controlout_length_derando(); int get_controlout_length_rsolomon(); int get_controlout_length_dersolomon(); int get_controlout_length_cconv(); int get_controlout_length_viterbi(); int get_controlout_length_channel(); int get_controlout_length_puncturing(); int get_controlout_length_depuncturing(); int get_controlout_length_interleaver(); int get_controlout_length_deinterleaver(); int get_controlout_length_symbolmap(); int get_controlout_length_symboldemap(); int generate_outputcontrol(); /** configure output interfaces */ struct utils_itf output_itfs[] = { {"control_datasource_flow_out", ///<< Name of the interface sizeof(CDataSource), ///<< Size of the sample (in bytes) OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples &control_datasource, ///<< Buffer for data get_controlout_length_datasource, ///<< Returns number of samples to generate generate_outputcontrol, ///<< Function to generate data }, {"control_datasink_flow_out", ///<< Name of the interface sizeof(CDataSink), ///<< Size of the sample (in bytes) OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples &control_datasink, ///<< Buffer for data get_controlout_length_datasink, ///<< Returns number of samples to generate generate_outputcontrol, ///<< Function to generate data }, {"control_rando_flow_out", ///<< Name of the interface /// sizeof(CRando), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_rando, ///<< Buffer for data /// get_controlout_length_rando, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_derando_flow_out", ///<< Name of the interface /// sizeof(CDerando), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_derando, ///<< Buffer for data /// get_controlout_length_derando, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_rsolomon_flow_out", ///<< Name of the interface /// sizeof(CRsolomon), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_rsolomon, ///<< Buffer for data /// get_controlout_length_rsolomon, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_dersolomon_flow_out", ///<< Name of the interface /// sizeof(CDersolomon), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_dersolomon, ///<< Buffer for data /// get_controlout_length_dersolomon, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_cconv_flow_out", ///<< Name of the interface /// sizeof(struct cconv_h), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_cconv, ///<< Buffer for data /// get_controlout_length_cconv, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_viterbi_flow_out", ///<< Name of the interface /// sizeof(struct viterbi_h), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_viterbi, ///<< Buffer for data /// get_controlout_length_viterbi, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_channel_flow_out", ///<< Name of the interface /// sizeof(CChannel), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_channel, ///<< Buffer for data /// get_controlout_length_channel, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_puncturing_flow_out", ///<< Name of the interface /// sizeof(CPuncture), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_puncturing, ///<< Buffer for data /// get_controlout_length_puncturing, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_depuncturing_flow_out", ///<< Name of the interface /// sizeof(control_depuncturing), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_depuncturing, ///<< Buffer for data /// get_controlout_length_depuncturing, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_interleaver_flow_out", ///<< Name of the interface /// sizeof(CInter), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_inter, ///<< Buffer for data /// get_controlout_length_interleaver, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_deinterleaver_flow_out", ///<< Name of the interface /// sizeof(CDeInter), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_deinter, ///<< Buffer for data /// get_controlout_length_deinterleaver, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_symbolmap_flow_out", ///<< Name of the interface /// sizeof(CSimbolmap), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_symbolmap, ///<< Buffer for data /// get_controlout_length_symbolmap, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {"control_symboldemap_flow_out", ///<< Name of the interface /// sizeof(CSimboldemap), ///<< Size of the sample (in bytes) /// OUTPUT_MAX_CONTROL, ///<< Size of the buffer in samples /// &control_symboldemap, ///<< Buffer for data /// get_controlout_length_symboldemap, ///<< Returns number of samples to generate /// generate_outputcontrol, ///<< Function to generate data /// }, {NULL, 0, 0, 0, 0, 0}}; /** =============== End ================ */ #endif /* _OUTPUTS_H */