#ifndef _FIC_H
#define _FIC_H 

#define FIB_LENGTH 32
#define FIB_DATA_FIELD_LENGTH 30
#define FIB_CRC_LENGTH 2
#define FIB_CRC_POLY 0x1021
#define FIB_CRC_INITSTATE 0xffff
#define FIB_ENDMARKER 0xff

#define FIB_FIG_TYPE_MCI    0
#define FIB_FIG_TYPE_LABEL1 1
#define FIB_FIG_TYPE_LABEL2 2
#define FIB_FIG_TYPE_FIDC   5
#define FIB_FIG_TYPE_CA     6

#define FIB_MCI_EXTENSION_ENSEMBLE_INFO 0
#define FIB_MCI_EXTENSION_SUBCHANNEL_ORGA 1
#define FIB_MCI_EXTENSION_SERVICE_ORGA 2
#define FIB_MCI_EXTENSION_SERVICE_ORGA_PACKET_MODE 3
#define FIB_MCI_EXTENSION_SERVICE_ORGA_CA 4
#define FIB_SI_EXTENSION_SERVICE_COMP_LANGUAGE 5
#define FIB_MCI_EXTENSION_SERVICE_COMP_GLOBAL_DEFINITION 8
#define FIB_SI_EXTENSION_COUNTRY_LTO 9
#define FIB_SI_EXTENSION_TIME_AND_COUNTRYID 10
#define FIB_SI_EXTENSION_USER_APPLICATION_INFO 13
#define FIB_MCI_EXTENSION_SUBCHANNEL_PACKET_MODE_FEC 14
#define FIB_SI_EXTENSION_PROGRAMME_NUMBER 16
#define FIB_SI_EXTENSION_PROGRAMME_TYPE 17
#define FIB_SI_EXTENSION_ANNOUNCEMENT_SUPPORT 18
#define FIB_SI_EXTENSION_ANNOUNCEMENT_SWITCHING 19

#define FIB_SI_EXTENSION_ENSEMBLE_LABEL 0
#define FIB_SI_EXTENSION_PROGRAMME_SERVICE_LABEL 1
#define FIB_SI_EXTENSION_SERVICE_COMP_LABEL 4
#define FIB_SI_EXTENSION_DATA_SERVICE_LABEL 5
#define FIB_SI_EXTENSION_XPAD_USER_APPLICATION_LABEL 6

#define FIB_FIDC_EXTENSION_PAGING 0
#define FIB_FIDC_EXTENSION_TMC    1
#define FIB_FIDC_EXTENSION_EWS    2

#endif /* _FIC_H */
