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

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

?? zl5011xpki.c

?? Zalink50114----TDMoIP芯片驅動源碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
            pkiAddress= ZL5011X_PKI0_CTRL+ (portNum* sizeof( Uint32T));
            status = zl5011xReadModWrite(zl5011xParams, pkiAddress,
                     ~((ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_LINKDOWN) | (ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_N_RESET)),
                      ((ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_LINKDOWN) | (ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_N_RESET)));
         }

        /* For devices that require it write relevant Control Reg bit low to indicate
           the linkdown state */
         if( status== ZL5011X_OK)
         {
            if (portNum != linkdownBitReg)
            {
               pkiAddress= ZL5011X_PKI0_CTRL+ (linkdownBitReg* sizeof( Uint32T));
               status = zl5011xReadModWrite(zl5011xParams, pkiAddress,
                        ~(ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_LINKDOWN),
                         (ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_LINKDOWN));
            }
         }

         /* and update the state of the MAC in the structure */
         if( status== ZL5011X_OK)
         {
            zl5011xParams->pki.lanPort[ portNum].macControl.linkDown= ZL5011X_FALSE;
         }

         /* make sure port is not in power save */
         if( status== ZL5011X_OK)
         {
            pkiAddress= ZL5011X_PKI0_CTRL+ (portNum* sizeof( Uint32T));
            status = zl5011xReadModWrite(zl5011xParams, pkiAddress,
                     ~(ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_PWD_SAVE_EN),
                      (ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_PWD_SAVE_EN));
         }

         /* and update the state of the MAC in the structure */
         if( status== ZL5011X_OK)
         {
            zl5011xParams->pki.lanPort[ portNum].macControl.powerSaveEnable= portEnabled;
         }

      }
      else
      {
         status= ZL5011X_PARAMETER_INVALID;
      }
   }
   return(status);
}

/*******************************************************************************
 Function:
    zl5011xPkiSetVlanMode

 Description:

 Inputs:
    zl5011xParams     Pointer to the structure for this device instance
    Uint8T  portNum        - port number 0 to 3
    zl5011xBooleanE    vlanEnabled - VLAN aware enable / disable

 Outputs:

 Returns:
    zlStatusE

 Remarks:

*******************************************************************************/
extern zlStatusE zl5011xPkiSetVlanMode(zl5011xParamsS *zl5011xParams,
                                     Uint8T  portNum, zl5011xBooleanE vlanEnabled )
{
   zlStatusE status = ZL5011X_OK;
   Uint32T pkiAddress=0, regValue= 0;

   ZL5011X_TRACE(ZL5011X_PKI_FN_ID, "zl5011xPkiSetVlanMode: port number %d vlan enabled %d",
                           portNum, vlanEnabled, 0, 0, 0, 0);

   if( status==  ZL5011X_OK)
   {
      status= ZL5011X_CHECK_BOOLEAN( vlanEnabled);
   }

   /* write relevant Control Reg VLAN Aware bit HIGH enable/LOW disable  */
   if( status== ZL5011X_OK)
   {
      pkiAddress= ZL5011X_PKI0_CTRL+ (portNum* sizeof( Uint32T));
      if( vlanEnabled== ZL5011X_TRUE)
      {
         regValue= ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_VLAN_AWARE;
      }
      else
      {
         regValue= ~(ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_VLAN_AWARE);
      }
      status = zl5011xReadModWrite(zl5011xParams, pkiAddress, regValue,
                              ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_VLAN_AWARE);
   }

   /* and update this in structure */
   if( status== ZL5011X_OK)
   {
      zl5011xParams->pki.lanPort[ portNum].macControl.vlanAware= vlanEnabled;
   }

   return(status);
}

/*******************************************************************************
 Function:
    zl5011xPkiSetInterfaceType

 Description:

 Inputs:
    zl5011xParams      Pointer to the structure for this device instance
    Uint8T  portNum        - device internal port number, 0 to 3
    zl5011xMacTypeE macType - interface type - MII, GMII, PCS

 Outputs:

 Returns:
    zlStatusE

 Remarks:

*******************************************************************************/
extern zlStatusE zl5011xPkiSetInterfaceType(zl5011xParamsS *zl5011xParams,
                                           Uint8T  portNum,
                                           zl5011xMacTypeE macType )
{
   zlStatusE status = ZL5011X_OK;
   Uint32T pkiAddress=0, registerValue= 0;
   Uint8T externalPortNum;

   ZL5011X_TRACE(ZL5011X_PKI_FN_ID, "zl5011xPkiSetInterfaceType: port number %d mac type %d",
                           portNum, macType, 0, 0, 0, 0);

   /* Check range of allowed types  */
   /* The devLimits structure assumes an external port numbering scheme with contiguous
      port numbers from 0 upwards. But the portNum passed into this function is an
      internal port number which may be non-contiguous. So need to convert to same
      scheme for comparison */
   status = zl5011xPkiInternalPortToExternal(zl5011xParams, portNum, &externalPortNum);

   if( status== ZL5011X_OK)
   {
      switch ( macType)
      {
         case ZL5011X_MAC_TYPE_MII:
            /* check the LAN port number is valid for the MAC type */
            if (externalPortNum >= zl5011xParams->devLimits.lanNumLanPorts)
            {
               status = ZL5011X_PARAMETER_INVALID;
            }
            break;

         case ZL5011X_MAC_TYPE_GMII:  /* intentional fall through */
         case ZL5011X_MAC_TYPE_PCS:
            /* check the LAN port number is valid for the MAC type. */
            if (externalPortNum >= zl5011xParams->devLimits.lanNumGbitLanPorts)
            {
               status = ZL5011X_PARAMETER_INVALID;
            }
            break;

         default:
            status = ZL5011X_PARAMETER_INVALID;
            break;
      }
   }

   /* write relevant Control Reg bits sel_pcs & sel_mii */
   if( status== ZL5011X_OK)
   {
      pkiAddress= ZL5011X_PKI0_CTRL+ (portNum* sizeof( Uint32T));
      switch ( macType)
      {
        case ZL5011X_MAC_TYPE_MII:
            registerValue= ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_SEL_MII;
            status = zl5011xReadModWrite(zl5011xParams, pkiAddress, registerValue,
                                  ZL5011X_2BIT_MASK << ZL5011X_PKI_CTRL_REG_SEL_MII);
        break;
        case ZL5011X_MAC_TYPE_GMII:
            registerValue= 0;
            status = zl5011xReadModWrite(zl5011xParams, pkiAddress, registerValue,
                                  ZL5011X_2BIT_MASK << ZL5011X_PKI_CTRL_REG_SEL_MII);
        break;
        case ZL5011X_MAC_TYPE_PCS:
            registerValue= ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_SEL_PCS;
            status = zl5011xReadModWrite(zl5011xParams, pkiAddress, registerValue,
                                  ZL5011X_2BIT_MASK << ZL5011X_PKI_CTRL_REG_SEL_MII);
        break;
        default:
            status= ZL5011X_PARAMETER_INVALID;
        break;
      }
   }

   /* and update this in structure */
   if( status== ZL5011X_OK)
   {
      zl5011xParams->pki.lanPort[ portNum].macControl.macType= macType;
   }

   return(status);
}

/*******************************************************************************
 Function:
    zl5011xPkiSetPacketFiltering

 Description:
    Set bits in the port Control Reg to filter out various types of packet.
    Overwrites prev state of the 3 filter bits.

 Inputs:
    zl5011xParams      Pointer to the structure for this device instance
    Uint8T  portNum        - port number 0 to 3
    zl5011xBooleanE filterBroadcast, - ONE to filter out broaadcast packets
   zl5011xBooleanE filterMulticast,  - etc
   zl5011xBooleanE filterWrongUnicast-
 Outputs:

 Returns:
    zlStatusE

 Remarks:

*******************************************************************************/
extern zlStatusE zl5011xPkiSetPacketFiltering(zl5011xParamsS *zl5011xParams,
                                             Uint8T  portNum,
                                             zl5011xBooleanE filterBroadcast,
                                             zl5011xBooleanE filterMulticast,
                                             zl5011xBooleanE filterWrongUnicast)
{
   zlStatusE status = ZL5011X_OK;
   Uint32T RegisterBitMask= ZL5011X_3BIT_MASK << ZL5011X_PKI_CTRL_REG_ADDR_FILTER0;
   Uint32T FilterThis= 0;
   Uint32T pkiAddress= ZL5011X_PKI0_CTRL+ (portNum* sizeof( Uint32T));

   ZL5011X_TRACE(ZL5011X_PKI_FN_ID,
         "zl5011xPkiSetPacketFiltering: port number %d, set boolean values- "
         "filter broadcast= %d, filter multicast= %d, filter non unicast=%d",
         portNum, filterBroadcast, filterMulticast, filterWrongUnicast, 0, 0);


   if( status== ZL5011X_OK)
   {
      status= ZL5011X_CHECK_BOOLEAN( filterBroadcast);
   }
   if( status== ZL5011X_OK)
   {
      status= ZL5011X_CHECK_BOOLEAN( filterMulticast);
   }
   if( status== ZL5011X_OK)
   {
      status= ZL5011X_CHECK_BOOLEAN( filterWrongUnicast);
   }

   /* write relevant Control Reg bits  */
   if( status== ZL5011X_OK)
   {
      if( filterBroadcast== ZL5011X_TRUE)
      {
         FilterThis= ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_ADDR_FILTER2;
      }
      if( filterMulticast== ZL5011X_TRUE)
      {
         FilterThis |= ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_ADDR_FILTER1;
      }
      if( filterWrongUnicast== ZL5011X_TRUE)
      {
         FilterThis |= ZL5011X_1BIT_MASK << ZL5011X_PKI_CTRL_REG_ADDR_FILTER0;
      }

      status = zl5011xReadModWrite(zl5011xParams, pkiAddress, FilterThis, RegisterBitMask);
   }

   /* and update this in structure */
   if( status== ZL5011X_OK)
   {
      zl5011xParams->pki.lanPort[ portNum].macControl.filterBroadcast= filterBroadcast;
      zl5011xParams->pki.lanPort[ portNum].macControl.filterMulticast= filterMulticast;
      zl5011xParams->pki.lanPort[ portNum].macControl.filterWrongUnicast= filterWrongUnicast;
   }
   return(status);
}

/*******************************************************************************
 Function:
    zl5011xPkiGetEtherStats


 Description:
   Reads the port counters out of the device structure and formats the stats, using
   64 bit counters if they are enabled. Conforms with RFC 2819 for Remote Network
   Monitoring MIB (Management Information Base).

 Inputs:
    zl5011xParams      Pointer to the structure for this device instance
    Uint8T  portNum        - port number 0 to 3
    zl5011xEtherStatsS *     pEtherStats  - pointer to the structure to receive the data

 Outputs:

 Returns:
    zlStatusE

 Remarks:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费观看2025年上映的电影| 91免费国产在线| 亚洲欧洲美洲综合色网| 91精品国产欧美日韩| www.欧美精品一二区| 久久精品理论片| 一卡二卡欧美日韩| 国产精品视频九色porn| 欧美成人猛片aaaaaaa| 欧美四级电影网| 91网址在线看| 成人短视频下载| 韩国v欧美v亚洲v日本v| 免费看欧美女人艹b| 亚洲高清中文字幕| 亚洲免费观看高清完整版在线| 欧美高清在线精品一区| 精品国精品国产| 9191成人精品久久| 色av一区二区| 成人av片在线观看| 国产激情精品久久久第一区二区| 久久狠狠亚洲综合| 日韩高清在线电影| 亚洲成人免费av| 亚洲一区二区三区视频在线 | 亚洲综合成人在线| 欧美国产精品专区| 久久久久久久久岛国免费| 91精品国产一区二区三区 | 欧美剧情电影在线观看完整版免费励志电影| 国产成人av一区二区三区在线 | 日产国产高清一区二区三区| 亚洲综合另类小说| 夜夜操天天操亚洲| 午夜精品一区二区三区免费视频 | 日本韩国精品一区二区在线观看| 国产成人亚洲综合色影视| 国内精品伊人久久久久av影院| 麻豆精品一区二区av白丝在线| 婷婷久久综合九色综合伊人色| 午夜精品在线看| 日韩电影一二三区| 久草中文综合在线| 激情国产一区二区| 成人综合婷婷国产精品久久蜜臀 | 日产欧产美韩系列久久99| 午夜精品在线视频一区| 日本午夜精品一区二区三区电影 | 97久久精品人人澡人人爽| 99国产欧美另类久久久精品| 色综合久久中文综合久久牛| 一本一道波多野结衣一区二区| 在线观看一区二区视频| 欧美日韩国产片| 91精品国产一区二区三区香蕉| 日韩欧美国产一二三区| 久久蜜臀中文字幕| 亚洲欧洲av另类| 亚洲第一成年网| 麻豆精品国产传媒mv男同| 国产九色sp调教91| 99国产欧美另类久久久精品| 欧美日韩成人一区二区| 精品免费国产二区三区| 国产精品入口麻豆九色| 一区二区三区中文免费| 日韩精品视频网| 国产91精品久久久久久久网曝门| 99riav一区二区三区| 欧美区一区二区三区| 亚洲精品在线观看视频| 国产精品亲子伦对白| 亚洲va在线va天堂| 国产精品一区在线观看乱码| 91在线播放网址| 日韩欧美美女一区二区三区| 国产精品毛片久久久久久久| 婷婷综合在线观看| 成人三级在线视频| 制服丝袜在线91| 国产精品久久久久久久久免费丝袜 | 日精品一区二区三区| 国产久卡久卡久卡久卡视频精品| 91理论电影在线观看| 欧美电影免费提供在线观看| 国产精品成人在线观看| 免费欧美日韩国产三级电影| 一本久道久久综合中文字幕| 精品国产区一区| 亚洲国产一区二区三区青草影视 | 国产美女娇喘av呻吟久久| 91丝袜呻吟高潮美腿白嫩在线观看| 69久久夜色精品国产69蝌蚪网| 国产精品久久三| 老司机午夜精品| 欧美中文字幕一二三区视频| 国产精品日韩精品欧美在线| 麻豆成人av在线| 欧美专区日韩专区| 国产精品国产自产拍高清av| 久久精品国产亚洲a| 欧美亚洲动漫精品| 国产欧美精品一区二区三区四区| 亚洲电影一区二区三区| 成人av在线一区二区三区| 日韩精品影音先锋| 亚洲成人免费av| 91豆麻精品91久久久久久| 日本一区二区三区电影| 久久精品国产精品亚洲红杏| 欧美日韩亚洲综合一区二区三区| 亚洲手机成人高清视频| 成人亚洲精品久久久久软件| 久久综合九色综合久久久精品综合| 午夜电影网一区| 欧美日韩在线播放| 一区二区三区久久久| 99精品一区二区三区| 欧美激情在线观看视频免费| 久久国产综合精品| 欧美一级视频精品观看| 天天影视色香欲综合网老头| 欧美在线视频日韩| 亚洲国产精品一区二区尤物区| 91原创在线视频| 亚洲日本青草视频在线怡红院| 成人精品鲁一区一区二区| 久久嫩草精品久久久久| 国产精品99久久久久久似苏梦涵| 欧美成人三级在线| 韩日精品视频一区| 国产亚洲污的网站| 国产精品18久久久久久久久| 久久日韩精品一区二区五区| 国内精品免费**视频| 久久丝袜美腿综合| 成人夜色视频网站在线观看| 国产精品久久免费看| 色综合夜色一区| 一区二区三区不卡在线观看| 欧美在线观看视频一区二区| 香港成人在线视频| 91精品国产欧美日韩| 精品亚洲欧美一区| 国产午夜精品一区二区三区嫩草| 国产精品123区| 亚洲情趣在线观看| 欧美日韩精品欧美日韩精品一| 日日欢夜夜爽一区| 日韩欧美成人一区| 国产99久久久久| 亚洲同性gay激情无套| 欧美午夜精品久久久| 爽好多水快深点欧美视频| 91精品国产欧美一区二区18| 久久99最新地址| 国产精品免费av| 欧美亚洲尤物久久| 麻豆精品久久久| 国产精品日产欧美久久久久| 欧美视频精品在线观看| 蜜臀av亚洲一区中文字幕| 欧美精品一区二区三区蜜臀| www.视频一区| 日韩高清不卡一区| 国产精品久久久久久久久动漫| 欧美三级乱人伦电影| 久88久久88久久久| 亚洲另类在线一区| 日韩视频123| 91亚洲国产成人精品一区二区三| 午夜私人影院久久久久| 久久婷婷色综合| 91黄视频在线观看| 国产专区综合网| 一区二区三区蜜桃网| 久久久久99精品一区| 欧美午夜一区二区三区| 狠狠色综合日日| 亚洲综合男人的天堂| 久久久亚洲精华液精华液精华液| 色综合激情五月| 久久疯狂做爰流白浆xx| 最新成人av在线| 精品久久久久久久人人人人传媒| 99精品一区二区| 国产一区不卡视频| 亚洲成a人片综合在线| 欧美激情一区二区三区四区| 欧美日本韩国一区二区三区视频| 国产精品99久| 秋霞国产午夜精品免费视频| √…a在线天堂一区| 精品1区2区在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 综合久久久久久| 26uuu国产在线精品一区二区| 欧美视频在线观看一区| av亚洲产国偷v产偷v自拍|