📄 hamaro_api.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 + -