/****************************************************************************/ /* */ /* Copyright (c) 2003 Trident Technologies, Inc. */ /* All rights reserved */ /* */ /* The content of this file or document is CONFIDENTIAL and PROPRIETARY */ /* to Trident Microsystems, Inc. It is subject to the terms of a */ /* License Agreement between Licensee and Trident Technologies, Inc. */ /* restricting among other things, the use, reproduction, distribution */ /* and transfer. Each of the embodiments, including this information and */ /* any derivative work shall retain this copyright notice */ /* */ /****************************************************************************/ #ifndef CAS_2B_GENERAL_DEFINITIONS_DTVS205_H #define CAS_2B_GENERAL_DEFINITIONS_DTVS205_H /****************************************************************************** * definitions ******************************************************************************/ // for linux OS platform typedef unsigned char BOOLEAN; #undef FALSE #undef TRUE #define FALSE 0 #define TRUE 1 #define __stdcall #define _stdcall /////////////////////////////////////////////////////////////////////////////////////// //enums /////////////////////////////////////////////////////////////////////////////////////// //Error constant definitions typedef enum EN_ERROR_TYPE{ CAS_2B_API_SUCCESS = 0, UNDEFINED_RECEIVER_MODE, UNDEFINED_CARRIER_ACQUISITION_TYPE, UNDEFINED_INVERSE_SPECTRUM_TYPE, SNR_IS_CALCULATED_ONLY_FOR_VSB_AND_ITUB, CAS_2B_UNDEFINED_TUNER_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_REF_DIVIDER_RATIO_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_AGC_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_CHRGE_PUMP_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_AGC_TIME_CONSTANT_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_AGC_MODE_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_SET_OPTION_TYPE, CAS_2B_TUNER_DTT761X_CHANNEL_OUT_OF_RANGE, CAS_2B_TUNER_DTT761X_N_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_DTT761X_SEND_CONTROL_DATA_FAILED, CAS_2B_TUNER_DTT761X_FREQUENCY_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_DTT761X_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY, CAS_2B_TUNER_DTT761X_GENERAL_FAILIUR, #if 1//20071016 CAS_2B_UNDEFINED_TUNER_DTVS205FH201A_REF_DIVIDER_RATIO_TYPE, CAS_2B_UNDEFINED_TUNER_DTVS205FH201A_AGC_TYPE, CAS_2B_UNDEFINED_TUNER_DTVS205FH201A_CHRGE_PUMP_TYPE, CAS_2B_UNDEFINED_TUNER_DTVS205FH201A_AGC_TIME_CONSTANT_TYPE, CAS_2B_UNDEFINED_TUNER_DTVS205FH201A_AGC_MODE_TYPE, CAS_2B_UNDEFINED_TUNER_DTVS205FH201A_SET_OPTION_TYPE, CAS_2B_TUNER_DTVS205FH201A_CHANNEL_OUT_OF_RANGE, CAS_2B_TUNER_DTVS205FH201A_N_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_DTVS205FH201A_SEND_CONTROL_DATA_FAILED, CAS_2B_TUNER_DTVS205FH201A_FREQUENCY_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_DTVS205FH201A_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY, CAS_2B_TUNER_DTVS205FH201A_GENERAL_FAILIUR, #endif CAS_2B_TUNER_DTT768x0_CHANNEL_OUT_OF_RANGE, CAS_2B_TUNER_DTT768x0_N_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_DTT768x0_SEND_CONTROL_DATA_FAILED, CAS_2B_TUNER_DTT768x0_FREQUENCY_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_DTT768x0_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY, CAS_2B_TUNER_DTT768x0_GENERAL_FAILIUR, TUNER_THOMSON_T2000_UNDEFINED_SET_OPTION_TYPE, TUNER_THOMSON_T2000_SEND_CONTROL_DATA_FAILED, TUNER_THOMSON_T2000_UNDEFINED_AGC_SELECTION, TUNER_THOMSON_T2000_UNDEFINED_INPUT, TUNER_THOMSON_T2000_UNDEFINED_MODE, TUNER_THOMSON_T2000_UNDEFINED_REF_DIVIDER_RATIO, FUNCTION_RECEIVED_NULL_PARAMETER, FILE_SIZE_CAN_NOT_BE_DIVIDED_BY_DATA_SIZE, CAS_2B_API_SEND_CODE_AND_DATA_FUNCTION_FAILED, CAS_2B_SEND_RUN_FLAG_FUNCTION_FAILED, CAS_2B_ILLIGAL_RECEIVE_REGISTER_NUMBER, CAS_2B_SET_RECEIVE_REGISTER_FUNCTION_FAILED, UNDEFINED_CHANNEL_CONDITION, NDEFINED_NTSC_REJECTION_FILTER, UNDEFINED_MPEG_SERIAL_OUTPUT_MODE, UNDEFINED_TUNER_PHASE_NOISE, UNDEFINED_NTSC_REJECTION_FILTER, UNDEFINED_ITUB_DE_INTERLEAVER_MODE, RESET_CHECKSUM_FUNCTION_FAILED, CHECKSUM_IS_INCORRECT, ILLIGAL_FIRST_MODE_PRIORITY_MODE, ILLIGAL_SECOND_MODE_PRIORITY_MODE, ILLIGAL_THIRD_MODE_PRIORITY_MODE, TWO_PRIORITIES_HAVE_THE_SAME_RECEIVER_MODE, UNDEFINED_CHANNEL_TABLE_TYPE, START_FREQUENCY_IS_BIGGER_THAN_END_FREQUENCY, ILLIGAL_FREQUENCY, ILLIGAL_STEP_SIZE, RESULT_BUFFER_SIZE_IS_NOT_BIG_ENOUGH, SEND_TUNER_FREQUENCY_FAILED, UNDEFINED_NTSC_SIGNAL_DETECTION, OOB_FREQ_OUT_OF_RANGE, RECEIVED_UNDEFINED_AUDIO_CHANNEL_STATE, RECEIVED_UNDEFINED_AUDIO_DEVIATION_SENSITIVITY_MODE, RECEIVED_UNDEFINED_AUDIO_STANDARD, RECEIVE_REGISTER_NUMBER_OUT_OF_RANGE }ERROR_TYPE; //For ChannelChange operation typedef enum EN_CAS_2B_TYPE_RECEIVER_MODE{ CAS_2B_RECEIVER_MODE_VSB_8_TR = 0, CAS_2B_RECEIVER_MODE_ITUB_64, CAS_2B_RECEIVER_MODE_ITUB_256, CAS_2B_RECEIVER_MODE_ITUB_AUTO_DETECT, CAS_2B_RECEIVER_MODE_AUDIO_US_BTSC, CAS_2B_RECEIVER_MODE_AUDIO_A2_KOREA, CAS_2B_RECEIVER_MODE_AUDIO_RADIO_FM, CAS_2B_RECEIVER_MODE_POWER_DOWN }CAS_2B_TYPE_RECEIVER_MODE; typedef enum EN_TYPE_CARRIER_ACQUISITION{ CARRIER_ACQUISITION_NORMAL = 0, CARRIER_ACQUISITION_WIDE }TYPE_CARRIER_ACQUISITION; typedef enum EN_TYPE_INVERSE_SPECTRUM{ INVERSE_SPECTRUM_ON = 0, INVERSE_SPECTRUM_OFF }TYPE_INVERSE_SPECTRUM; typedef enum EN_TYPE_NTSC_SIGNAL_DETECTION{ NORMAL_VSB = 0, NTSC_SIGNAL_DETECTION }TYPE_NTSC_SIGNAL_DETECTION; //For IsLocked typedef enum EN_LOCK_STATUS{ UNDEFINED_LOCK_STATUS = -1, UNLOCKED, LOCKED }LOCK_STATUS; //For IsLocked typedef enum EN_LOCK_TYPE{ LOCK_TYPE_UNLOCKED = 0, LOCK_TYPE_ANALOG, LOCK_TYPE_DIGITAL, LOCK_TYPE_DIGITAL_AND_ANALOG }LOCK_TYPE; //For SetChannel typedef enum EN_TUNER_TYPE{ TUNER_DTT7611 = 0, TUNER_DTT7612, TUNER_DTT768x0, TUNER_THOMSON_T_2000, TUNER_DTVS205FH201A //20071016 }TUNER_TYPE; typedef enum EN_TYPE_TUNER_SET_OPTION { TUNER_SET_CHANNEL = 0, TUNER_SET_PIC_CARRIER_KHZ, TUNER_SET_CENTER_FREQUENCY_KHZ, }TYPE_TUNER_SET_OPTION; typedef enum EN_TYPE_TUNER_GET_OPTION { TUNER_GET_AFC = 0, TUNER_GET_AD, }TYPE_TUNER_GET_OPTION; typedef enum EN_CHANNEL_TABLE_TYPE{ NA_TERRESTRIAL = 0, NA_CATV, IRC, HRC }CHANNEL_TABLE_TYPE; typedef enum EN_TYPE_TUNER_AGC_MODE{ TUNER_AGC_MODE_INTERNAL_DIGITAL = 0, TUNER_AGC_MODE_INTERNAL_ANALOG }TYPE_TUNER_AGC_MODE; typedef enum EN_TYPE_TUNER_INPUT_SELECTION{ TUNER_INPUT_SELECTION_TERRESTRIAL = 0, TUNER_INPUT_SELECTION_CABLE }TYPE_TUNER_INPUT_SELECTION; typedef enum EN_CHARGE_PUMP{ CHARGE_PUMP_20 = 0, CHARGE_PUMP_60 , CHARGE_PUMP_100, CHARGE_PUMP_280, }CHARGE_PUMP; /////////////////////////////////////////////////////////////////////////////////////// //sructs /////////////////////////////////////////////////////////////////////////////////////// typedef struct ST_CAS_2B_CHANNEL_CHANGE_PARAMETERS{ TYPE_CARRIER_ACQUISITION iCarrierAcquisition ; TYPE_INVERSE_SPECTRUM iInverseSpectrum ; CAS_2B_TYPE_RECEIVER_MODE iReceiverMode; TYPE_NTSC_SIGNAL_DETECTION iNtscSignalDetection ; }CAS_2B_CHANNEL_CHANGE_PARAMETERS; typedef struct ST_CAS_2B_TUNER_PARAMETERS{ TUNER_TYPE iTunerType; TYPE_TUNER_SET_OPTION iTunerSet; unsigned long ulSetValue; int iAdjustFreqKHZ; CHANNEL_TABLE_TYPE iChannelTableType; TYPE_TUNER_AGC_MODE iAgcMode; TYPE_TUNER_INPUT_SELECTION iInputSelection; }CAS_2B_TUNER_PARAMETERS; typedef struct ST_CAS_2B_TUNER_GET_PARAMETERS{ TUNER_TYPE iTunerType; TYPE_TUNER_GET_OPTION iTunerGet; int RetValue1; int RetValue2; CHANNEL_TABLE_TYPE iChannelTableType; //no use TYPE_TUNER_AGC_MODE iAgcMode; //no use TYPE_TUNER_INPUT_SELECTION iInputSelection; //no use }CAS_2B_TUNER_GET_PARAMETERS; //2007-6-12 typedef struct TUNER_INIT_PARAMETERS{ unsigned char ucDeviceI2CAddr; unsigned char ucDeviceSlaveAddr; unsigned char bUseDefault; }TUNER_INIT_PARAMETERS; typedef struct _tagTunerRoutines{ TUNER_TYPE TunerType; int (*Tuner_Init)(TUNER_INIT_PARAMETERS*); int (*Tuner_GetInfo)(int TunerID, CAS_2B_TUNER_GET_PARAMETERS* pgtTunerParameters); int (*Tuner_SetChannel)(int TunerID, CAS_2B_TUNER_PARAMETERS* pstTunerParameters, unsigned short usDelay, CAS_2B_CHANNEL_CHANGE_PARAMETERS* pstChannelChangeParameters); }TunerRoutines; #endif