📄 saddr.h
字号:
#ifndef SADDR_H
#define SADDR_H
/****************************************************************************
Filename: saddr.h
Revised: $Date: 2006-04-06 08:19:08 -0700 (Thu, 06 Apr 2006) $
Revision: $Revision: 10396 $
Description:
Zigbee and 802.15.4 device address utility functions.
Copyright (c) 2006 by Texas Instruments, Inc.
All Rights Reserved. Permission to use, reproduce, copy, prepare
derivative works, modify, distribute, perform, display or sell this
software and/or its documentation for any purpose is prohibited
without the express written consent of Texas Instruments, Inc.
****************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
/****************************************************************************
* MACROS
*/
/* Extended address length */
#define SADDR_EXT_LEN 8
/* Address modes */
#define SADDR_MODE_NONE 0 /* Address not present */
#define SADDR_MODE_SHORT 2 /* Short address */
#define SADDR_MODE_EXT 3 /* Extended address */
#define SADDR_MODE_BROADCAST 15 /* Broadcast address */
/* Deprecated names used in old code. Do not use in new code. */
#if 0
#define AddrNotPresent SADDR_MODE_NONE
#define Addr16Bit SADDR_MODE_SHORT
#define Addr64Bit SADDR_MODE_EXT
#define AddrBroadcast SADDR_MODE_BROADCAST
#define ZLongAddr_t sAddrExt_t
#define zAddrType_t sAddr_t
#endif
/****************************************************************************
* TYPEDEFS
*/
/* Extended address */
typedef uint8 sAddrExt_t[SADDR_EXT_LEN];
/* Combined short/extended device address */
typedef struct
{
union
{
uint16 shortAddr; /* Short address */
sAddrExt_t extAddr; /* Extended address */
} addr;
uint8 addrMode; /* Address mode */
} sAddr_t;
/****************************************************************************
* @fn sAddrCmp
*
* @brief Compare two device addresses.
*
* input parameters
*
* @param pAddr1 - Pointer to first address.
* @param pAddr2 - Pointer to second address.
*
* output parameters
*
* @return TRUE if addresses are equal, FALSE otherwise
*/
extern bool sAddrCmp(const sAddr_t *pAddr1, const sAddr_t *pAddr2);
/****************************************************************************
* @fn sAddrCpy
*
* @brief Copy a device address.
*
* input parameters
*
* @param pSrc - Pointer to address to copy.
*
* output parameters
*
* @param pDest - Pointer to address of copy.
*
* @return None.
*/
extern void sAddrCpy(sAddr_t *pDest, const sAddr_t *pSrc);
/****************************************************************************
* @fn sAddrExtCmp
*
* @brief Compare two extended addresses.
*
* input parameters
*
* @param pAddr1 - Pointer to first address.
* @param pAddr2 - Pointer to second address.
*
* output parameters
*
* @return TRUE if addresses are equal, FALSE otherwise
*/
extern bool sAddrExtCmp(const uint8 * pAddr1, const uint8 * pAddr2);
/****************************************************************************
* @fn sAddrExtCpy
*
* @brief Copy an extended address.
*
* input parameters
*
* @param pSrc - Pointer to address to copy.
*
* output parameters
*
* @param pDest - Pointer to address of copy.
*
* @return pDest + SADDR_EXT_LEN.
*/
void *sAddrExtCpy(uint8 * pDest, const uint8 * pSrc);
#ifdef __cplusplus
}
#endif
#endif /* SADDR_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -