亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zl5011xtdm.c

?? Zalink50114----TDMoIP芯片驅動源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
   tdm.stream     the stream that the channel to be removed is from
   tdm.channel    which channel to remove
   osExclusionEnable ZL5011X_TRUE to enable OS exclusion

 Structure outputs:
   None

 Returns:
   zlStatusE

 Remarks:
   None

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

zlStatusE zl5011xContextRemoveChannelRx(zl5011xParamsS *zl5011xParams,
      zl5011xContextRemoveChannelS *par)
{
   zlStatusE status = ZL5011X_OK;
   zl5011xBooleanE gotDevice = ZL5011X_FALSE;

   /* do some parameter checking */
   status = ZL5011X_CHECK_POINTERS(zl5011xParams, par);

   if (status == ZL5011X_OK)
   {
      status = ZL5011X_CHECK_RUNNING(zl5011xParams);
   }

   if ((status == ZL5011X_OK) && (par->osExclusionEnable == ZL5011X_TRUE))
   {
      /* get access to the device */
      status = zl5011xGetDevice(zl5011xParams, ZL5011X_GET_DEVICE_TIMEOUT_MODE);

      if (status == ZL5011X_OK)
      {
         gotDevice = ZL5011X_TRUE;
      }
   }

   /* check that the Wan Rx context is valid */
   if (status == ZL5011X_OK)
   {
      status = zl5011xContextCheckRx(zl5011xParams, par->context, ZL5011X_CHECK_CONTEXT_MODIFY);
   }

   /* main function code starts */

   if (status == ZL5011X_OK)
   {
      ZL5011X_TRACE_CONTEXT(ZL5011X_TDM_FN_ID, par->context,
            "zl5011xContextRemoveChannelRx: ctxt %3d",
            par->context, 0, 0, 0, 0, 0);

      status = zl5011xPlaRemoveChan(zl5011xParams, par->context, par->tdm);
   }

   if (gotDevice == ZL5011X_TRUE)
   {
      if (status == ZL5011X_OK)
      {
         status = zl5011xReleaseDevice(zl5011xParams);
      }
      else
      {
         /* already have an error code, so don't overwrite it */
         (void)zl5011xReleaseDevice(zl5011xParams);
      }
   }

   return status;
}

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

 Function:
   zl5011xContextRemoveChannelTxStructInit

 Description:
   Initialises structure used by zl5011xContextRemoveChannelTx function.

 Inputs:
   zl5011xParams   Pointer to the structure for this device instance
   par            Pointer to the structure for configuration items.
                  See main function

 Returns:
   zlStatusE

 Remarks:
   None

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

zlStatusE zl5011xContextRemoveChannelTxStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xContextRemoveChannelS *par)
{
   zlStatusE status = ZL5011X_OK;

   /* do some parameter checking */
   status = ZL5011X_CHECK_POINTERS(zl5011xParams, par);

   if (status == ZL5011X_OK)
   {
      ZL5011X_TRACE(ZL5011X_TDM_FN_ID,
            "zl5011xContextRemoveChannelTxStructInit:",
            0, 0, 0, 0, 0, 0);

      par->context = (Uint32T)ZL5011X_INVALID_CONTEXT;
      par->tdm.stream = (Uint8T)ZL5011X_INVALID_STREAM;
      par->tdm.channel = (Uint8T)ZL5011X_INVALID_CHANNEL;
      par->osExclusionEnable = ZL5011X_TRUE;
   }

   return status;
}

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

 Function:
   zl5011xContextRemoveChannelTx

 Description:
   Removes a channel from a context.

 Inputs:
   zl5011xParams   Pointer to the structure for this device instance
   par            Pointer to the structure for configuration items. See below:

 Structure inputs:
   context        context to be used
   tdm.stream     the stream that the channel to be removed is from
   tdm.channel    which channel to remove
   osExclusionEnable ZL5011X_TRUE to enable OS exclusion

 Structure outputs:
   None

 Returns:
   zlStatusE

 Remarks:
   None

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

zlStatusE zl5011xContextRemoveChannelTx(zl5011xParamsS *zl5011xParams,
      zl5011xContextRemoveChannelS *par)
{
   zlStatusE status = ZL5011X_OK;
   zl5011xBooleanE gotDevice = ZL5011X_FALSE;

   /* do some parameter checking */
   status = ZL5011X_CHECK_POINTERS(zl5011xParams, par);

   if (status == ZL5011X_OK)
   {
      status = ZL5011X_CHECK_RUNNING(zl5011xParams);
   }

   if ((status == ZL5011X_OK) && (par->osExclusionEnable == ZL5011X_TRUE))
   {
      /* get access to the device */
      status = zl5011xGetDevice(zl5011xParams, ZL5011X_GET_DEVICE_TIMEOUT_MODE);

      if (status == ZL5011X_OK)
      {
         gotDevice = ZL5011X_TRUE;
      }
   }

   /* check that the Wan Tx context is valid */
   if (status == ZL5011X_OK)
   {
      status = zl5011xContextCheckTx(zl5011xParams, par->context, ZL5011X_CHECK_CONTEXT_MODIFY);
   }

   /* main function code starts */

   if (status == ZL5011X_OK)
   {
      ZL5011X_TRACE_CONTEXT(ZL5011X_TDM_FN_ID, par->context,
            "zl5011xContextRemoveChannelTx: ctxt %3d", par->context, 0, 0, 0, 0, 0);

      status = zl5011xTfmRemoveChan(zl5011xParams, par->context, par->tdm);
   }

   if (gotDevice == ZL5011X_TRUE)
   {
      if (status == ZL5011X_OK)
      {
         status = zl5011xReleaseDevice(zl5011xParams);
      }
      else
      {
         /* already have an error code, so don't overwrite it */
         (void)zl5011xReleaseDevice(zl5011xParams);
      }
   }

   return status;
}

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

 Function:
   zl5011xWanRxPayloadConfigStructInit

 Description:
   Initialises structure used by zl5011xWanRxPayloadConfig function.

 Inputs:
   zl5011xParams   Pointer to the structure for this device instance
   par            Pointer to the structure for configuration items.
                  See main function

 Returns:
   zlStatusE

 Remarks:
   None

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

zlStatusE zl5011xWanRxPayloadConfigStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanRxPayloadConfigS *par)
{
   zlStatusE status = ZL5011X_OK;

   /* do some parameter checking */
   status = ZL5011X_CHECK_POINTERS(zl5011xParams, par);

   if (status == ZL5011X_OK)
   {
      ZL5011X_TRACE(ZL5011X_TDM_FN_ID,
            "zl5011xWanRxPayloadConfigStructInit:",
            0, 0, 0, 0, 0, 0);

      par->context = (Uint32T)ZL5011X_INVALID_CONTEXT;
      par->numberOfFrames = 1;   /* Either num bytes or frames must be zero */
      par->numberOfBytes = 0;
      par->unframedForceMultiple64Bits = ZL5011X_FALSE;

      par->osExclusionEnable = ZL5011X_TRUE;
   }

   return status;
}

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

 Function:
   zl5011xWanRxPayloadConfig

 Description:
   Controls the payload size for a context. The payload is set in number of
   frames or a number of bytes

 Inputs:
   zl5011xParams   Pointer to the structure for this device instance
   par            Pointer to the structure for configuration items. See below:

 Structure inputs:
   context        context to be used
   numberOfFrames the number of frames to assemble as payload for the packet
   numberOfBytes  the number of bytes to assemble as payload for the packet
   unframedForceMultiple64Bits   ZL5011X_TRUE for the payload to be a multiple
                  of 8 bytes - only possible if bit stuffing is not enabled
   osExclusionEnable ZL5011X_TRUE to enable OS exclusion

 Structure outputs:
   None

 Returns:
   zlStatusE

 Remarks:
   The payload size is initialised to a single frame when the context is
   created. The payload size is actually written to the device when the
   context is updated.
   Exactly one of numberOfFrames or numberOfBytes must be specified and the other
   set to zero. For framed mode the numberOfFrames will be used

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

zlStatusE zl5011xWanRxPayloadConfig(zl5011xParamsS *zl5011xParams,
      zl5011xWanRxPayloadConfigS *par)
{
   zlStatusE status = ZL5011X_OK;
   zl5011xBooleanE gotDevice = ZL5011X_FALSE;

   /* do some parameter checking */
   status = ZL5011X_CHECK_POINTERS(zl5011xParams, par);

   if (status == ZL5011X_OK)
   {
      if (zl5011xParams->wanIf.wanConnectionMode == ZL5011X_WAN_CONNECTION_UNFRAMED)
      { /* Unframed mode, either numberOfFrames or numberOfBytes parameter can be used */
         if ((par->numberOfFrames == 0) && (par->numberOfBytes == 0))
         {
            status = ZL5011X_PARAMETER_INVALID;
         }
      }
      else
      {  /* Framed mode, numberOfFrames parameter will be used */
         if (par->numberOfFrames == 0)
         {
            status = ZL5011X_PARAMETER_INVALID;
         }
      }
   }

   if (status == ZL5011X_OK)
   {
      status = ZL5011X_CHECK_RUNNING(zl5011xParams);
   }

   if ((status == ZL5011X_OK) && (par->osExclusionEnable == ZL5011X_TRUE))
   {
      /* get access to the device */
      status = zl5011xGetDevice(zl5011xParams, ZL5011X_GET_DEVICE_TIMEOUT_MODE);

      if (status == ZL5011X_OK)
      {
         gotDevice = ZL5011X_TRUE;
      }
   }

   /* check that the Wan Rx context is valid */
   if (status == ZL5011X_OK)
   {
      status = zl5011xContextCheckRx(zl5011xParams, par->context, ZL5011X_CHECK_CONTEXT_MODIFY);
   }

   /* main function code starts */

   if (status == ZL5011X_OK)
   {
      ZL5011X_TRACE_CONTEXT(ZL5011X_TDM_FN_ID, par->context,
            "zl5011xWanRxPayloadConfig: ctxt %3d",
            par->context, 0, 0, 0, 0, 0);

      zl5011xParams->wanIf.plaCurrent.context[par->context].payloadFrames = par->numberOfFrames;
      zl5011xParams->wanIf.plaCurrent.context[par->context].payloadBytes = par->numberOfBytes;

      if (zl5011xParams->wanIf.wanBitStuffingEnabled == ZL5011X_FALSE)
      {
         zl5011xParams->wanIf.plaCurrent.context[par->context].unframedForceMultiple64Bits = par->unframedForceMultiple64Bits;
      }
      else
      {
         zl5011xParams->wanIf.plaCurrent.context[par->context].unframedForceMultiple64Bits = ZL5011X_FALSE;
      }
   }

   if (gotDevice == ZL5011X_TRUE)
   {
      if (status == ZL5011X_OK)
      {
         status = zl5011xReleaseDevice(zl5011xParams);
      }
      else
      {
         /* already have an error code, so don't overwrite it */
         (void)zl5011xReleaseDevice(zl5011xParams);
      }
   }

   return status;
}

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

 Function:
   zl5011xWanRxGetPayloadLengthStructInit

 Description:
   Initialises structure used by zl5011xWanRxGetPayloadLength function.

 Inputs:
   zl5011xParams   Pointer to the structure for this device instance
   par            Pointer to the structure for configuration items.
                  See main function

 Returns:
   zlStatusE

 Remarks:
   None

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

zlStatusE zl5011xWanRxGetPayloadLengthStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xWanRxGetPayloadLengthS *par)
{
   zlStatusE status = ZL5011X_OK;

   /* do some parameter checking */
   status = ZL5011X_CHECK_POINTERS(zl5011xParams, par);

   if (status == ZL5011X_OK)
   {
      ZL5011X_TRACE(ZL5011X_TDM_FN_ID,
            "zl5011xWanRxGetPayloadLengthStructInit:",
            0, 0, 0, 0, 0, 0);

      par->context = (Uint32T)ZL5011X_INVALID_CONTEXT;
      par->lengthBits = 0;
      par->lengthBytes = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91蜜桃视频在线| 老司机免费视频一区二区三区| 国产福利91精品| 精品国产三级a在线观看| 麻豆精品视频在线观看免费| 精品日韩一区二区三区| 国产精品99久久久久久宅男| 国产欧美一二三区| 91一区二区在线| 亚瑟在线精品视频| 精品久久免费看| bt欧美亚洲午夜电影天堂| 国产精品狼人久久影院观看方式| 91蜜桃在线观看| 日本不卡在线视频| 欧美精品一区二区三区蜜桃 | 久久久精品蜜桃| 菠萝蜜视频在线观看一区| 亚洲黄色性网站| 日韩欧美国产一区在线观看| 国产成人亚洲精品狼色在线| 亚洲免费观看高清在线观看| 91精品国产综合久久精品图片| 久久国内精品视频| 国产精品久久精品日日| 欧美日韩免费不卡视频一区二区三区| 日韩高清一区在线| 国产精品全国免费观看高清 | 成人激情电影免费在线观看| 亚洲一卡二卡三卡四卡五卡| 欧美zozo另类异族| 一本久久精品一区二区| 久久99日本精品| 亚洲日本一区二区三区| 日韩区在线观看| 97se亚洲国产综合在线| 久久精品国产免费看久久精品| 亚洲欧洲美洲综合色网| 日韩欧美的一区| 色视频欧美一区二区三区| 另类小说视频一区二区| 一个色妞综合视频在线观看| 久久久www免费人成精品| 欧美美女网站色| 99精品视频在线观看| 韩国成人精品a∨在线观看| 亚洲精品免费视频| 久久久久九九视频| 欧美一区二区在线观看| 色婷婷综合五月| 风流少妇一区二区| 久久se这里有精品| 午夜在线成人av| 亚洲精品高清在线| 国产欧美日韩三区| 亚洲精品在线一区二区| 6080亚洲精品一区二区| 91福利区一区二区三区| 成人aaaa免费全部观看| 国产激情一区二区三区| 日韩成人av影视| 午夜电影一区二区| 亚洲午夜在线电影| 亚洲精选视频免费看| 国产精品视频九色porn| 国产视频一区在线观看 | 欧美视频你懂的| 99天天综合性| gogo大胆日本视频一区| 国产精品69毛片高清亚洲| 激情五月激情综合网| 久久99久国产精品黄毛片色诱| 午夜久久久影院| 天天操天天干天天综合网| 亚洲一区二区四区蜜桃| 亚洲国产精品嫩草影院| 亚洲成人中文在线| 亚洲成人av中文| 三级久久三级久久久| 亚洲aⅴ怡春院| 日一区二区三区| 日韩精品一二三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 图片区小说区区亚洲影院| 亚洲观看高清完整版在线观看 | 高清av一区二区| 成人精品免费看| av在线一区二区| 91美女片黄在线| 日本韩国视频一区二区| 欧美网站大全在线观看| 51精品国自产在线| 精品国产免费人成电影在线观看四季 | 色婷婷精品久久二区二区蜜臀av | 成人国产精品免费观看动漫 | 97se狠狠狠综合亚洲狠狠| 一本久道中文字幕精品亚洲嫩| 在线免费观看日本欧美| 欧美日韩国产片| 精品国产精品网麻豆系列 | 日韩欧美在线网站| 精品成a人在线观看| 国产精品妹子av| 亚洲午夜免费福利视频| 热久久国产精品| 国产精品一区一区三区| 色婷婷一区二区三区四区| 欧美高清视频不卡网| 精品国产欧美一区二区| 亚洲日本电影在线| 日韩在线卡一卡二| 国产一区二区三区不卡在线观看 | 午夜激情一区二区三区| 国产一区二区三区免费| 色伊人久久综合中文字幕| 7777精品伊人久久久大香线蕉超级流畅| 欧美精品一区二区三| 亚洲日本在线天堂| 精品一区二区三区在线观看国产 | 偷拍日韩校园综合在线| 国产麻豆视频精品| 在线精品观看国产| 26uuu精品一区二区| 依依成人综合视频| 国产一区在线视频| 91国在线观看| 久久久久国色av免费看影院| 亚洲成人av福利| 99热99精品| 日韩女优制服丝袜电影| 亚洲欧洲日韩在线| 国内精品在线播放| 欧美亚洲国产bt| 欧美激情一区二区三区| 日日夜夜精品免费视频| 9人人澡人人爽人人精品| 欧美乱妇15p| 亚洲精品videosex极品| 国产一区二区三区四| 欧美日韩精品专区| 亚洲视频免费观看| 国产成a人亚洲精| 精品国产电影一区二区| 天堂一区二区在线免费观看| av成人免费在线观看| 国产午夜精品美女毛片视频| 青青草国产成人av片免费| 色先锋资源久久综合| 中文字幕av一区二区三区| 韩国视频一区二区| 日韩一区二区三区精品视频| 亚洲小说春色综合另类电影| 99久久精品国产网站| 国产欧美一区二区三区网站| 国内精品伊人久久久久av一坑 | 国产乱码精品一区二区三区av| 欧美日韩国产另类一区| 一区二区三区中文字幕电影| 成人午夜视频福利| 久久夜色精品国产噜噜av| 久久精工是国产品牌吗| 日韩美女视频一区二区在线观看| 亚洲成在人线免费| 欧美性猛交xxxx乱大交退制版| 中文字幕亚洲欧美在线不卡| 成人免费精品视频| 国产网站一区二区| 成人午夜精品一区二区三区| 久久丝袜美腿综合| 国产乱淫av一区二区三区| 久久亚洲捆绑美女| 国产不卡视频在线播放| 国产亚洲视频系列| 国产91露脸合集magnet| 国产欧美一区二区三区鸳鸯浴 | 美女尤物国产一区| 欧美成人一区二区三区| 激情深爱一区二区| 国产视频一区在线观看| 成人黄色在线网站| 一区二区在线观看视频 | 99久久国产综合色|国产精品| 中文字幕日韩一区| 91视频在线看| 午夜精品一区二区三区免费视频 | 色婷婷综合久久久久中文一区二区| 亚洲日本在线观看| 欧美色图免费看| 久久精品国产亚洲a| 国产欧美一区二区三区在线老狼| 99久久免费精品| 香港成人在线视频| 精品国产一区二区精华| 成人精品视频一区| 亚洲国产精品天堂| 精品国产电影一区二区| 91视频一区二区三区| 日韩高清在线一区| 国产拍揄自揄精品视频麻豆| 欧美亚洲一区二区三区四区|