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

📄 zl5011xtdm.h

📁 Zalink50114----TDMoIP芯片驱动源码
💻 H
📖 第 1 页 / 共 2 页
字号:

   zl5011xWanIfSamplePointE dataSamplePoint;
   zl5011xBooleanE osExclusionEnable;


   /* for internal use ONLY */
   zl5011xBooleanE enableBitStuffing;
} zl5011xWanConfigureAsyncS;

zlStatusE zl5011xWanConfigureAsyncStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanConfigureAsyncS *par);
zlStatusE zl5011xWanConfigureAsync(zl5011xParamsS *zl5011xParams,
      zl5011xWanConfigureAsyncS *par);

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

typedef struct
{
   zl5011xDpllRefSourceE source;
   Uint8T stream;
   Uint32T refDivider;

   zl5011xBooleanE osExclusionEnable;
} zl5011xWanConfigureClkRefS;

zlStatusE zl5011xWanConfigureClkRefStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanConfigureClkRefS *par);
zlStatusE zl5011xWanConfigureClkRef(zl5011xParamsS *zl5011xParams,
      zl5011xWanConfigureClkRefS *par);

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

typedef struct
{
   Uint32T context;

   /* the clock offset in ppb of (ppm x 1000) for the given stream */
   Sint32T ppmOffset_x_1000;

   /* the nominal frequency for the stream in Hz */
   Uint32T streamFreqHz;
} zl5011xWanTxFreqS;

zlStatusE zl5011xWanTxFreqStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanTxFreqS *par);

zlStatusE zl5011xWanSetTxFreq(zl5011xParamsS *zl5011xParams,
      zl5011xWanTxFreqS *par);
zlStatusE zl5011xWanGetTxFreq(zl5011xParamsS *zl5011xParams,
      zl5011xWanTxFreqS *par);

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

typedef struct
{
   Uint32T context;
   zl5011xBooleanE forceDelete;

   /* following variables are to allow deletion of a Wan Tx context that
      never started - packets are sourced to stimulate context from either
      a Wan Rx context. The Wan Rx context can optionally be clocked from
      one of the general purpose outputs on the device. */
   Uint32T wanRxPacketSourceContext;
   Uint8T gpOutBit;

   zl5011xBooleanE osExclusionEnable;
} zl5011xContextDeleteS;

zlStatusE zl5011xContextDeleteStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xContextDeleteS *par);
zlStatusE zl5011xContextDeleteRx(zl5011xParamsS *zl5011xParams,
      zl5011xContextDeleteS *par);
zlStatusE zl5011xContextDeleteTx(zl5011xParamsS *zl5011xParams,
      zl5011xContextDeleteS *par);

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

typedef struct
{
   Uint32T context;
   zl5011xQueueE cpuQueue;
   zl5011xBooleanE osExclusionEnable;
} zl5011xContextSetHostQueueS;

zlStatusE zl5011xContextSetHostQueueStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xContextSetHostQueueS *par);
zlStatusE zl5011xContextSetHostQueue(zl5011xParamsS *zl5011xParams,
      zl5011xContextSetHostQueueS *par);

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

typedef enum
{
   ZL5011X_REDUCE_QUEUE_PKT,
   ZL5011X_EXTEND_QUEUE_PKT,
   ZL5011X_REDUCE_QUEUE_FRAME,
   ZL5011X_EXTEND_QUEUE_FRAME
} zl5011xWanTxQueueModifyE;

typedef struct
{
   Uint32T context;
   zl5011xWanTxQueueModifyE mode;
   zl5011xBooleanE osExclusionEnable;
} zl5011xWanTxQueueSlipS;

zlStatusE zl5011xWanTxQueueSlipStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanTxQueueSlipS *par);
zlStatusE zl5011xWanTxQueueSlip(zl5011xParamsS *zl5011xParams,
      zl5011xWanTxQueueSlipS *par);

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

typedef struct
{
   Uint32T context;
   zl5011xBooleanE lengthValid;

   /* average queue length */
   Uint32T avgQueueLength;

   /* current queue length */
   Uint32T currQueueLength;

   /* min / max queue lengths */
   Uint32T maxQueueLength;
   Uint32T minQueueLength;

   /* enable and reset control for min / max queue length statistics */
   zl5011xBooleanE minMaxEnable;
   zl5011xBooleanE minMaxReset;

   zl5011xBooleanE osExclusionEnable;
} zl5011xWanTxGetQueueStatsS;

zlStatusE zl5011xWanTxGetQueueStatsStructInit(zl5011xParamsS *zl5011xParams,
          zl5011xWanTxGetQueueStatsS *par);
zlStatusE zl5011xWanTxGetQueueStats(zl5011xParamsS *zl5011xParams,
          zl5011xWanTxGetQueueStatsS *par);

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

typedef struct
{
   Uint32T context;

   Uint16T underrunCount;
   Uint16T earlyCount;
   Uint16T lateCount;

   zl5011xBooleanE absoluteCounts;
} zl5011xWanTxGetQueueErrorsS;

zlStatusE zl5011xWanTxGetQueueErrorsStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanTxGetQueueErrorsS *par);
zlStatusE zl5011xWanTxGetQueueErrors(zl5011xParamsS *zl5011xParams,
      zl5011xWanTxGetQueueErrorsS *par);

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

typedef struct
{
   Uint32T context;
   zl5011xWanRtpIncrementTypeE rtpIncrementMode;
   zl5011xBooleanE osExclusionEnable;
} zl5011xWanSetAsyncRtpModeS;

zlStatusE zl5011xWanSetAsyncRtpModeStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanSetAsyncRtpModeS *par);
zlStatusE zl5011xWanSetAsyncRtpMode(zl5011xParamsS *zl5011xParams,
      zl5011xWanSetAsyncRtpModeS *par);

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

typedef struct
{
   Uint32T inBandPrsFreqHz;
   zl5011xBooleanE osExclusionEnable;
} zl5011xWanGetInBandPrsFreqS;

zlStatusE zl5011xWanGetInBandPrsFreqStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanGetInBandPrsFreqS *par);
zlStatusE zl5011xWanGetInBandPrsFreq(zl5011xParamsS *zl5011xParams,
      zl5011xWanGetInBandPrsFreqS *par);

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

typedef struct
{
   Uint8T stream;
   zl5011xBooleanE enable;
   zl5011xBooleanE directionToWan;
   zl5011xWanIfBerPatternE pattern;
   Uint8T startChannel;
   Uint8T endChannel;
   zl5011xBooleanE osExclusionEnable;
} zl5011xBerConfigureGeneratorS;

zlStatusE zl5011xBerConfigureGeneratorStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xBerConfigureGeneratorS *par);
zlStatusE zl5011xBerConfigureGenerator(zl5011xParamsS *zl5011xParams,
      zl5011xBerConfigureGeneratorS *par);

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

typedef struct
{
   Uint8T stream;
   zl5011xBooleanE enable;
   zl5011xBooleanE directionFromWan;
   zl5011xWanIfBerPatternE pattern;
   Uint8T startChannel;
   Uint8T endChannel;
   zl5011xBooleanE osExclusionEnable;
} zl5011xBerConfigureReceiverS;

zlStatusE zl5011xBerConfigureReceiverStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xBerConfigureReceiverS *par);
zlStatusE zl5011xBerConfigureReceiver(zl5011xParamsS *zl5011xParams,
      zl5011xBerConfigureReceiverS *par);

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

typedef struct
{
   Uint32T unused;
} zl5011xBerResetS;

zlStatusE zl5011xBerResetStructInit(zl5011xParamsS *zl5011xParams, zl5011xBerResetS *par);
zlStatusE zl5011xBerReset(zl5011xParamsS *zl5011xParams, zl5011xBerResetS *par);

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

typedef struct
{
   zl5011xBooleanE lock;
   Uint16T errorCount;
} zl5011xBerGetStatsS;

zlStatusE zl5011xBerGetStatsStructInit(zl5011xParamsS *zl5011xParams, zl5011xBerGetStatsS *par);
zlStatusE zl5011xBerGetStats(zl5011xParamsS *zl5011xParams, zl5011xBerGetStatsS *par);

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

typedef struct
{
   Uint8T stream;
   zl5011xWanAsyncClockTxModeE clockMode;
   zl5011xBooleanE osExclusionEnable;
} zl5011xWanStreamClockConfigS;

zlStatusE zl5011xWanStreamClockConfigStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanStreamClockConfigS *par);
zlStatusE zl5011xWanSetStreamClockConfig(zl5011xParamsS *zl5011xParams,
      zl5011xWanStreamClockConfigS *par);
zlStatusE zl5011xWanGetStreamClockConfig(zl5011xParamsS *zl5011xParams,
      zl5011xWanStreamClockConfigS *par);

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

typedef struct
{
   Uint32T context;
   Uint16T seqNum;
   zl5011xBooleanE osExclusionEnable;
} zl5011xWanGetTxSeqNumS;

zlStatusE zl5011xWanGetTxSeqNumStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanGetTxSeqNumS *par);
zlStatusE zl5011xWanGetTxSeqNum(zl5011xParamsS *zl5011xParams,
      zl5011xWanGetTxSeqNumS *par);

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

/*****************   OTHER FUNCTION DECLARATIONS   ****************************/

void zl5011xWanCalcUnframedPayloadLength(Uint32T wanFreq, Uint32T numFrames,
      zl5011xBooleanE bitStuffing, zl5011xBooleanE align64Bit,
      Uint32T *frameLengthBits, Uint32T *frameLengthBytes);
zlStatusE zl5011xWanCalcUnframedPayloadLengthEx(Uint32T wanFreq, Uint32T numFrames,
      Uint32T numBytes,
      zl5011xBooleanE bitStuffing, zl5011xBooleanE align64Bit,
      Uint32T *frameLengthBits, Uint32T *frameLengthBytes);

zlStatusE zl5011xUpdateRTPCurrentHeaderRecord(zl5011xParamsS *zl5011xParams,
      Uint32T context);    /* Update which is the current header */


#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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