⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hamaro_api.h

📁 机顶盒Hamaro解调器驱动。包含自动搜台
💻 H
字号:
/* hamaro_api.h */

/*+++ *******************************************************************\
*
*   Copyright and Disclaimer:
*
*       ---------------------------------------------------------------
*       ALL SOFTWARE, APPLICATIONS, DOCUMENTATION, OR MATERIALS        
*       FURNISHED HEREIN IS PROVIDED *AS IS*.  CONEXANT DOES NOT MAKE  
*       ANY WARRANTIES, EITHER EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY
*       DISCLAIMS ANY AND ALL SUCH WARRANTIES TO THE EXTENT PERMITTED  
*       BY LAW, INCLUDING, SPECIFICALLY, ANY IMPLIED WARRANTY ARISING  
*       BY STATUTE OR OTHERWISE IN LAW OR FROM A COURSE OF DEALING OR  
*       USAGE OF TRADE.  CONEXANT DOES NOT MAKE ANY WARRANTIES, EITHER 
*       EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY DISCLAIMS ANY AND ALL 
*       SUCH WARRANTIES WITH RESPECT TO ALL SOFTWARE, APPLICATIONS,    
*       DOCUMENTATION, AND MATERIALS INCLUDING ALL IMPLIED WARRANTIES  
*       OF MERCHANTABILITY, OR OF MERCHANTABLE QUALITY, OR OF FITNESS  
*       FOR ANY PURPOSE, PARTICULAR, SPECIFIC OR OTHERWISE, OR OF      
*       NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF OTHERS,     
*       RELATING TO THE SOFTWARE, APPLICATIONS, OPERATION,             
*       DOCUMENTATION, DATA OR RESULTS GENERATED BY THE OPERATION OR   
*       USE THEREOF, AND MATERIALS PROVIDED HEREIN.  THE ENTIRE RISK AS
*       TO THE SUBSTANCE, QUALITY AND PERFORMANCE OF SOFTWARE,         
*       APPLICATIONS, AND DOCUMENTATION DESCRIBING SUCH SOFTWARE       
*       REMAINS WITH THE BUYER.                                        
*                                                                      
*       REGARDLESS OF WHETHER ANY REMEDY SET FORTH HEREIN FAILS OF ITS 
*       ESSENTIAL PURPOSE OR OTHERWISE, CONEXANT SHALL NOT BE LIABLE   
*       FOR ANY EXEMPLARY, SPECIAL, PUNITIVE, SPECULATIVE, INDIRECT,   
*       CONSEQUENTIAL OR INCIDENTAL DAMAGES OF ANY KIND (INCLUDING     
*       WITHOUT LIMITATION LOST PROFITS, LOSS OF INCOME, LOSS OF       
*       GOODWILL, OR OTHER TANGIBLE OR INTANGIBLE BUSINESS LOSS)       
*       ARISING OUT OF OR IN CONNECTION WITH, DIRECTLY OR INDIRECTLY,  
*       SOFTWARE, APPLICATIONS, DOCUMENTATION, OR ANY SERVICES OR      
*       MATERIALS PROVIDED HEREUNDER, OR USE OR INABILITY TO USE THE   
*       SOFTWARE, EVEN IF CONEXANT HAS BEEN ADVISED OF THE POSSIBILITY 
*       OF SUCH DAMAGES.                                               
*
*       Copyright (c) 2001 Conexant Systems, Inc.
*       All Rights Reserved.
*       ---------------------------------------------------------------
*
*   Module Revision Id:
*
*       $Header: hamaro_api.h, 7, 2006-10-20 7:00:30, Sunbey (VSS Migration)$
*
*   Abstract:
*
*       Contains prototypes for the Hamaro API functions.
*
\******************************************************************* ---*/

#ifndef HAMARO_API_H_DEFINED
#define HAMARO_API_H_DEFINED

#ifdef __cplusplus
extern "C" {
#endif  /* __cplusplus */ 

/*******************************************************************************************************/
/* API prototypes */
/*******************************************************************************************************/
BOOL  HAMARO_InitEnvironment(HAMARO_NIM *nim,unsigned long demodhandle,void (*SBwrite)(unsigned long ,unsigned char ,unsigned long ,unsigned long *),unsigned long ( * SBread)(unsigned long ,unsigned char ,unsigned long *),BOOL (*HAMARO_TUNER_install)(HAMARO_NIM *nim),unsigned long crystalfreq,HAMARO_VCOINIT vcoinit,HAMARO_MPEG_OUT *mpeg_out,HAMARO_LNBMODE *lnbmode,BOOL (*waitfunct)(HAMARO_NIM *nim,int mscount));
BOOL  HAMARO_ChangeChannel(HAMARO_NIM *nim,HAMARO_CHANOBJ *chanobj);
BOOL  HAMARO_Monitor(HAMARO_NIM *nim,HAMARO_ACQSTATE *acqstate,HAMARO_LOCKIND *lockind);
BOOL  HAMARO_NIMGetChipInfo(HAMARO_NIM *nim,char **demod_string ,char **Tuner_string ,int *demod_type,int *tuner_type,int *board_type);
BOOL  HAMARO_GetDriverVersion(HAMARO_NIM *nim,HAMARO_VERDRV *verdrv);
BOOL  HAMARO_ReleaseEnvironment(HAMARO_NIM *nim);
BOOL  HAMARO_SetTunerFrequency(HAMARO_NIM *nim,unsigned long freq);
BOOL  HAMARO_GetTunerFrequency(HAMARO_NIM *nim,unsigned long *freq);
BOOL  HAMARO_SetTunerBW(HAMARO_NIM *nim, unsigned long tunerBW, long *sigmadelta);
BOOL  HAMARO_SetOutputOptions(HAMARO_NIM *nim,HAMARO_MPEG_OUT *mpeg_out);
BOOL  HAMARO_SetInterruptOptions(HAMARO_NIM *nim,HAMARO_INTEROPTS interopts);
BOOL  HAMARO_SetSearchRangeLimit(HAMARO_NIM *nim,unsigned long lnboffset,unsigned long *actual);
BOOL  HAMARO_GetSearchRangeLimit(HAMARO_NIM *nim,unsigned long *lnboffset);
BOOL  HAMARO_SetModulation(HAMARO_NIM *nim,HAMARO_MODTYPE modtype);
BOOL  HAMARO_SetSampleFrequency(HAMARO_NIM *nim);
BOOL  HAMARO_GetSampleFrequency(HAMARO_NIM *nim,unsigned long *samplerate);
BOOL  HAMARO_SetTransportSpec(HAMARO_NIM *nim,HAMARO_TRANSPEC transpec);
BOOL  HAMARO_GetTransportSpec(HAMARO_NIM *nim,HAMARO_TRANSPEC *transpec);
BOOL  HAMARO_SetSymbolRate(HAMARO_NIM *nim,HAMARO_SYMBRATE symbolrate);
BOOL  HAMARO_GetSymbolRate(HAMARO_NIM *nim,HAMARO_SYMBRATE *symbolrate);
BOOL  HAMARO_GetMinSymbolRate(HAMARO_NIM *nim,unsigned long *minsymbolrate);
BOOL  HAMARO_GetMaxSymbolRate(HAMARO_NIM *nim,unsigned long *maxsymbolrate);
BOOL  HAMARO_SetViterbiRate(HAMARO_NIM *nim,HAMARO_CODERATE coderate);
BOOL  HAMARO_GetViterbiRate(HAMARO_NIM *nim,HAMARO_CODERATE *coderate);
BOOL  HAMARO_SetSpectralInversion(HAMARO_NIM *nim,HAMARO_SPECINV specinv);
BOOL  HAMARO_GetSpectralInversion(HAMARO_NIM *nim,HAMARO_SPECINV *specinv);
BOOL  HAMARO_AcqBegin(HAMARO_NIM *nim);
BOOL  HAMARO_AcqContinue(HAMARO_NIM *nim,HAMARO_ACQSTATE *acqstate);
BOOL  HAMARO_AcqSetViterbiCodeRates(HAMARO_NIM *nim,unsigned int vcr);
BOOL  HAMARO_AcqGetViterbiCodeRates(HAMARO_NIM *nim,unsigned int *vcr);
BOOL  HAMARO_GetPendingInterrupts(HAMARO_NIM *nim,HAMARO_INTEROPTS *interopts);
BOOL  _HAMARO_ClearPendingInterrupts(HAMARO_NIM *nim,HAMARO_INTEROPTS intropts);
BOOL  HAMARO_GetLockIndicators(HAMARO_NIM *nim,HAMARO_LOCKIND *lockind);
BOOL  HAMARO_SetDemodErrorMode(HAMARO_NIM *nim,HAMARO_ERRORMODE errmode);
BOOL  HAMARO_GetDemodErrorMode(HAMARO_NIM *nim,HAMARO_ERRORMODE *errmode);
BOOL  HAMARO_GetEffectiveFrequency(HAMARO_NIM *p_nim, unsigned long *p_effect_frequency);
BOOL  HAMARO_DetectTuner(unsigned long  demod_handle,  HAMARO_WRITE_SB SBwrite, HAMARO_READ_SB SBread, HAMARO_TUNER* p_tuner_type);

BOOL  HAMARO_SetTunerGainThreshold(HAMARO_NIM* p_nim, signed char threshold_dBm);
BOOL  HAMARO_GetTunerGainThreshold(HAMARO_NIM* p_nim, signed char* p_threshold_dBm);

#if HAMARO_INCLUDE_DEBUG
char* HAMARO_GetErrorMessage(HAMARO_NIM *nim,HAMAROERRNO __errno);
int   HAMARO_GetLastError(HAMARO_NIM *nim);
char* HAMARO_GetErrorFilename(HAMARO_NIM *nim);
unsigned long HAMARO_GetErrorLineNumber(HAMARO_NIM *nim);
#endif /* HAMARO_INCLUDE_DEBUG */

BOOL  HAMARO_GetChannelEsNo(HAMARO_NIM *nim,HAMARO_ESNOMODE emode,HAMARO_CMPLXNO *esno,HAMARO_MSTATUS *mstat);
BOOL  HAMARO_GetPNBER(HAMARO_NIM *nim,HAMARO_PNBER errwindow,HAMARO_CMPLXNO *pnber,HAMARO_MSTATUS *mstat);
BOOL  HAMARO_GetBER(HAMARO_NIM *nim,unsigned long errwindow,HAMARO_CMPLXNO *ber,HAMARO_MSTATUS *mstat);
BOOL  HAMARO_GetByteErrors(HAMARO_NIM *nim,unsigned long errwindow,HAMARO_CMPLXNO *byteerr,HAMARO_MSTATUS *mstat);
BOOL  HAMARO_GetBlockErrors(HAMARO_NIM *nim,unsigned long errwindow,HAMARO_CMPLXNO *blockerr,HAMARO_MSTATUS *mstat);
BOOL  HAMARO_GetNormCount(HAMARO_NIM *nim,unsigned char *normcounter);
BOOL  HAMARO_GetFrequencyOffset(HAMARO_NIM *nim,long *freqoffset);
BOOL  HAMARO_GetAcquisitionOffset(HAMARO_NIM *nim,long *lnboffset);
BOOL  HAMARO_SetCentralFreq(HAMARO_NIM *nim,long centralfreq);
BOOL  HAMARO_GetCentralFreq(HAMARO_NIM *nim,long *centralfreq);
BOOL  HAMARO_GetCTL(HAMARO_NIM *nim,long *ctl);
BOOL  HAMARO_EnableRSCorrection(HAMARO_NIM *nim,BOOL opt);
BOOL  HAMARO_GetAGCAcc(HAMARO_NIM *nim,HAMARO_AGCACC *agcacc);
BOOL  HAMARO_GetBTL(HAMARO_NIM *nim,long *btl);
BOOL  HAMARO_SetLNBDC(HAMARO_NIM *nim,HAMARO_LNBPOL lnbpol);
BOOL  HAMARO_SetLNBMode(HAMARO_NIM *nim,HAMARO_LNBMODE *lnbmode);
BOOL  HAMARO_SetLNBTone(HAMARO_NIM *nim,HAMARO_LNBTONE lnbtone);
BOOL  HAMARO_SendDiseqcMessage(HAMARO_NIM *nim,unsigned char *message,unsigned char message_length,BOOL last_message,HAMARO_LNBBURST bursttype);
BOOL  HAMARO_ReadReg(HAMARO_NIM *nim,int reg,unsigned char *data);
BOOL  HAMARO_WriteReg(HAMARO_NIM *nim,int reg,unsigned char *data);
BOOL  HAMARO_SetSleepMode(HAMARO_NIM *nim,BOOL sleep);
BOOL  HAMARO_GetTunerStructure (HAMARO_NIM *nim, HAMARO_ACTIVE_TUNER* tuner);

#ifdef HAMARO_INCLUDE_CONSTELLATION
BOOL  HAMARO_ConstOn(HAMARO_NIM *nim,HAMARO_IQPAK *iqpak);
BOOL  HAMARO_ConstOff(HAMARO_NIM *nim);
int   HAMARO_ConstCount(HAMARO_NIM *nim);
BOOL  HAMARO_ConstSetBusy(HAMARO_NIM *nim,BOOL busy_state);
BOOL  HAMARO_ConstGetBusy(HAMARO_NIM *nim);
BOOL  HAMARO_ConstGetPoints(HAMARO_NIM *nim,unsigned char *ivals,unsigned char *qvals,int iqcount);
BOOL  HAMARO_ConstGetIQSample(HAMARO_NIM *nim,unsigned char *I,unsigned char *Q);
BOOL  HAMARO_ConstGetUnbufferredIQSample(HAMARO_NIM *nim,signed char *I,signed char *Q);
#endif  /* #ifdef HAMARO_INCLUDE_CONSTELLATION */

BOOL  HAMARO_SetDriverWait(HAMARO_NIM *nim,BOOL (*waitfunct)(HAMARO_NIM *nim,int mscount));
/*******************************************************************************************************/
/*******************************************************************************************************/
#ifdef HAMARO_INCLUDE_DISEQC2
BOOL  HAMARO_DiseqcReceiveMessage(HAMARO_NIM *nim, unsigned char *buffer, int buffer_len, int *received_len, HAMARO_RXMODE rxmode, int *parityerrors);
BOOL  HAMARO_DiseqcSetRxMode(HAMARO_NIM *nim, HAMARO_RXMODE rxmode);
BOOL  HAMARO_DiseqcGetRxMode(HAMARO_NIM *nim, HAMARO_RXMODE *rxmode);
BOOL  HAMARO_Diseqc22KHzSetAmplitude(HAMARO_NIM *nim, int amplitude);
BOOL  HAMARO_Diseqc22KHzGetAmplitude(HAMARO_NIM *nim, int *amplitude);
BOOL  HAMARO_DiseqcSetVersion(HAMARO_NIM *nim, HAMARO_DISEQC_VER dv);
BOOL  HAMARO_DiseqcGetVersion(HAMARO_NIM *nim, HAMARO_DISEQC_VER *dv);
BOOL  HAMARO_SetDiseqcInterrupt(HAMARO_NIM *nim,BOOL on);
BOOL  HAMARO_GetDiseqcInterrupt(HAMARO_NIM *nim,HAMARO_INTEROPTS *interopts);
BOOL  HAMARO_ClearDiseqcInterrupt(HAMARO_NIM *nim);
#endif /* #ifdef HAMARO_INCLUDE_DISEQC2 */

BOOL  HAMARO_LNBSetDrain(HAMARO_NIM *nim, HAMARO_LNBDRAIN  lnbdrain);
BOOL  HAMARO_LNBGetDrain(HAMARO_NIM *nim, HAMARO_LNBDRAIN  *lnbdrain);

BOOL  HAMARO_GetPLLFrequency(HAMARO_NIM *nim,unsigned long *pllfreq);
BOOL  HAMARO_GetPowerEstimation(HAMARO_NIM* p_nim, signed char* p_power);

#if HAMARO_INCLUDE_ROSIE
BOOL  HAMARO_FindVCOEdges(HAMARO_NIM *nim,HAMARO_RDIVVAL rdiv);
#endif

BOOL   HAMARO_GetLNBDC(HAMARO_NIM    *nim, HAMARO_LNBPOL *lnbpol); 
/*******************************************************************************************************/
/*******************************************************************************************************/
/*******************************************************************************************************/

#ifdef __cplusplus
}
#endif

/*******************************************************************************************************/
/*******************************************************************************************************/
/*******************************************************************************************************/

#endif  /* #ifndef HAMARO_API_H_DEFINED */ 
/* CR 9509 : Add an extra newline */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -