zdsecmgr.s51

来自「TI的基于ZIGBEE2006的协议栈」· S51 代码 · 共 1,559 行 · 第 1/5 页

S51
1,559
字号
//  653  * @brief       Lookup entry using specified address index
//  654  *
//  655  * @param       ami   - [in] Address Manager index
//  656  * @param       entry - [out] valid entry
//  657  *
//  658  * @return      ZStatus_t
//  659  */
//  660 ZStatus_t ZDSecMgrEntryLookupAMI( uint16 ami, ZDSecMgrEntry_t** entry )
//  661 {
//  662   ZStatus_t status;
//  663   uint16    index;
//  664 
//  665 
//  666   // initialize results
//  667   *entry = NULL;
//  668   status = ZNwkUnknownDevice;
//  669 
//  670   // verify data is available
//  671   if ( ZDSecMgrEntries != NULL )
//  672   {
//  673     for ( index = 0; index < ZDSECMGR_ENTRY_MAX ; index++ )
//  674     {
//  675       if ( ZDSecMgrEntries[index].ami == ami )
//  676       {
//  677         // return successful results
//  678         *entry = &ZDSecMgrEntries[index];
//  679         status = ZSuccess;
//  680 
//  681         // break from loop
//  682         index = ZDSECMGR_ENTRY_MAX;
//  683       }
//  684     }
//  685   }
//  686 
//  687   return status;
//  688 }
//  689 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  690 
//  691 #if defined ( ZDSECMGR_COMMERCIAL )
//  692 /******************************************************************************
//  693  * @fn          ZDSecMgrEntryLookupExt
//  694  *
//  695  * @brief       Lookup entry index using specified EXT address.
//  696  *
//  697  * @param       extAddr - [in] EXT address
//  698  * @param       entry   - [out] valid entry
//  699  *
//  700  * @return      ZStatus_t
//  701  */
//  702 ZStatus_t ZDSecMgrEntryLookupExt( uint8* extAddr, ZDSecMgrEntry_t** entry )
//  703 {
//  704   ZStatus_t status;
//  705   uint16    ami;
//  706 
//  707 
//  708   // initialize results
//  709   *entry = NULL;
//  710   status = ZNwkUnknownDevice;
//  711 
//  712   // lookup address index
//  713   if ( ZDSecMgrExtAddrLookup( extAddr, &ami ) == ZSuccess )
//  714   {
//  715     status = ZDSecMgrEntryLookupAMI( ami, entry );
//  716   }
//  717 
//  718   return status;
//  719 }
//  720 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  721 
//  722 #if defined ( ZDSECMGR_COMMERCIAL )
//  723 /******************************************************************************
//  724  * @fn          ZDSecMgrEntryFree
//  725  *
//  726  * @brief       Free entry.
//  727  *
//  728  * @param       entry - [in] valid entry
//  729  *
//  730  * @return      ZStatus_t
//  731  */
//  732 void ZDSecMgrEntryFree( ZDSecMgrEntry_t* entry )
//  733 {
//  734   entry->ami = INVALID_NODE_ADDR;
//  735 }
//  736 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  737 
//  738 #if defined ( ZDSECMGR_COMMERCIAL )
//  739 /******************************************************************************
//  740  * @fn          ZDSecMgrEntryNew
//  741  *
//  742  * @brief       Get a new entry.
//  743  *
//  744  * @param       entry - [out] valid entry
//  745  *
//  746  * @return      ZStatus_t
//  747  */
//  748 ZStatus_t ZDSecMgrEntryNew( ZDSecMgrEntry_t** entry )
//  749 {
//  750   ZStatus_t status;
//  751   uint16    index;
//  752 
//  753 
//  754   // initialize results
//  755   *entry = NULL;
//  756   status = ZNwkUnknownDevice;
//  757 
//  758   // verify data is available
//  759   if ( ZDSecMgrEntries != NULL )
//  760   {
//  761     // find available entry
//  762     for ( index = 0; index < ZDSECMGR_ENTRY_MAX ; index++ )
//  763     {
//  764       if ( ZDSecMgrEntries[index].ami == INVALID_NODE_ADDR )
//  765       {
//  766         // return successful result
//  767         *entry = &ZDSecMgrEntries[index];
//  768         status = ZSuccess;
//  769 
//  770         // break from loop
//  771         index = ZDSECMGR_ENTRY_MAX;
//  772       }
//  773     }
//  774   }
//  775 
//  776   return status;
//  777 }
//  778 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  779 
//  780 #if defined ( ZDSECMGR_COMMERCIAL )
//  781 /******************************************************************************
//  782  * @fn          ZDSecMgrCtrlInit
//  783  *
//  784  * @brief       Initialize control sub module
//  785  *
//  786  * @param       none
//  787  *
//  788  * @return      none
//  789  */
//  790 void ZDSecMgrCtrlInit( void )
//  791 {
//  792   //---------------------------------------------------------------------------
//  793   #if defined ( ZDO_COORDINATOR )
//  794   //---------------------------------------------------------------------------
//  795   uint16 size;
//  796   uint16 index;
//  797 
//  798 
//  799   // allocate entry data
//  800   size = (short)( sizeof(ZDSecMgrCtrl_t) * ZDSECMGR_CTRL_MAX );
//  801 
//  802   ZDSecMgrCtrlData = osal_mem_alloc( size );
//  803 
//  804   // initialize data
//  805   if ( ZDSecMgrCtrlData != NULL )
//  806   {
//  807     for( index = 0; index < ZDSECMGR_CTRL_MAX; index++ )
//  808     {
//  809       ZDSecMgrCtrlData[index].state = ZDSECMGR_CTRL_NONE;
//  810     }
//  811   }
//  812   //---------------------------------------------------------------------------
//  813   #endif // defined ( ZDO_COORDINATOR )
//  814   //---------------------------------------------------------------------------
//  815 }
//  816 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  817 
//  818 #if defined ( ZDSECMGR_COMMERCIAL )
//  819 #if defined ( ZDO_COORDINATOR )
//  820 /******************************************************************************
//  821  * @fn          ZDSecMgrCtrlRelease
//  822  *
//  823  * @brief       Release control data.
//  824  *
//  825  * @param       ctrl - [in] valid control data
//  826  *
//  827  * @return      none
//  828  */
//  829 void ZDSecMgrCtrlRelease( ZDSecMgrCtrl_t* ctrl )
//  830 {
//  831   // should always be enough entry control data
//  832   ctrl->state = ZDSECMGR_CTRL_NONE;
//  833 }
//  834 #endif // defined ( ZDO_COORDINATOR )
//  835 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  836 
//  837 #if defined ( ZDSECMGR_COMMERCIAL )
//  838 #if defined ( ZDO_COORDINATOR )
//  839 /******************************************************************************
//  840  * @fn          ZDSecMgrCtrlLookup
//  841  *
//  842  * @brief       Lookup control data.
//  843  *
//  844  * @param       entry - [in] valid entry data
//  845  * @param       ctrl  - [out] control data - NULL if not found
//  846  *
//  847  * @return      none
//  848  */
//  849 void ZDSecMgrCtrlLookup( ZDSecMgrEntry_t* entry, ZDSecMgrCtrl_t** ctrl )
//  850 {
//  851   uint16 index;
//  852 
//  853 
//  854   // initialize search results
//  855   *ctrl = NULL;
//  856 
//  857   // verify data is available
//  858   if ( ZDSecMgrCtrlData != NULL )
//  859   {
//  860     for ( index = 0; index < ZDSECMGR_CTRL_MAX; index++ )
//  861     {
//  862       // make sure control data is in use
//  863       if ( ZDSecMgrCtrlData[index].state != ZDSECMGR_CTRL_NONE )
//  864       {
//  865         // check for entry match
//  866         if ( ZDSecMgrCtrlData[index].entry == entry )
//  867         {
//  868           // return this control data
//  869           *ctrl = &ZDSecMgrCtrlData[index];
//  870 
//  871           // break from loop
//  872           index = ZDSECMGR_CTRL_MAX;
//  873         }
//  874       }
//  875     }
//  876   }
//  877 }
//  878 #endif // defined ( ZDO_COORDINATOR )
//  879 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  880 
//  881 
//  882 #if defined ( ZDSECMGR_COMMERCIAL )
//  883 #if defined ( ZDO_COORDINATOR )
//  884 /******************************************************************************
//  885  * @fn          ZDSecMgrCtrlSet
//  886  *
//  887  * @brief       Set control data.
//  888  *
//  889  * @param       device - [in] valid device data
//  890  * @param       entry  - [in] valid entry data
//  891  * @param       ctrl   - [in] valid control data
//  892  *
//  893  * @return      none
//  894  */
//  895 void ZDSecMgrCtrlSet( ZDSecMgrDevice_t* device,
//  896                       ZDSecMgrEntry_t*  entry,
//  897                       ZDSecMgrCtrl_t*   ctrl )
//  898 {
//  899   // set control date
//  900   ctrl->parentAddr = device->parentAddr;
//  901   ctrl->secure     = device->secure;
//  902   ctrl->entry      = entry;
//  903   ctrl->state      = ZDSECMGR_CTRL_INIT;
//  904   ctrl->cntr       = 0;
//  905 
//  906   // set device pointer
//  907   device->ctrl = ctrl;
//  908 }
//  909 #endif // defined ( ZDO_COORDINATOR )
//  910 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  911 
//  912 #if defined ( ZDSECMGR_COMMERCIAL )
//  913 /******************************************************************************
//  914  * @fn          ZDSecMgrCtrlAdd
//  915  *
//  916  * @brief       Add control data.
//  917  *
//  918  * @param       device - [in] valid device data
//  919  * @param       entry  - [in] valid entry data
//  920  *
//  921  * @return      none
//  922  */
//  923 ZStatus_t ZDSecMgrCtrlAdd( ZDSecMgrDevice_t* device, ZDSecMgrEntry_t*  entry )
//  924 {
//  925   //---------------------------------------------------------------------------
//  926   #if defined ( ZDO_COORDINATOR )
//  927   //---------------------------------------------------------------------------
//  928   ZStatus_t status;
//  929   uint16    index;
//  930 
//  931 
//  932   // initialize results
//  933   status = ZNwkUnknownDevice;
//  934 
//  935   // verify data is available
//  936   if ( ZDSecMgrCtrlData != NULL )
//  937   {
//  938     // look for an empty slot
//  939     for ( index = 0; index < ZDSECMGR_CTRL_MAX; index++ )
//  940     {
//  941       if ( ZDSecMgrCtrlData[index].state == ZDSECMGR_CTRL_NONE )
//  942       {
//  943         // return successful results
//  944         ZDSecMgrCtrlSet( device, entry, &ZDSecMgrCtrlData[index] );
//  945 
//  946         status = ZSuccess;
//  947 
//  948         // break from loop
//  949         index = ZDSECMGR_CTRL_MAX;
//  950       }
//  951     }
//  952   }
//  953 
//  954   return status;
//  955   //---------------------------------------------------------------------------
//  956   #else // !defined ( ZDO_COORDINATOR )
//  957   //---------------------------------------------------------------------------
//  958   return ZSuccess;
//  959   //---------------------------------------------------------------------------
//  960   #endif // !defined ( ZDO_COORDINATOR )
//  961   //---------------------------------------------------------------------------
//  962 }
//  963 #endif // defined ( ZDSECMGR_COMMERCIAL )
//  964 

⌨️ 快捷键说明

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