modified: Makefile
new file: include/OSAL_Memory.c new file: include/OSAL_Memory.h new file: include/OSAL_Timers.c new file: include/OSAL_Timers.h new file: include/comdef.h new file: include/saddr.c new file: include/saddr.h modified: main.c
This commit is contained in:
175
include/saddr.h
Normal file
175
include/saddr.h
Normal file
@@ -0,0 +1,175 @@
|
||||
/**************************************************************************************************
|
||||
Filename: saddr.h
|
||||
Revised: $Date: 2009-12-10 08:32:15 -0800 (Thu, 10 Dec 2009) $
|
||||
Revision: $Revision: 21311 $
|
||||
|
||||
Description: Zigbee and 802.15.4 device address utility functions.
|
||||
|
||||
|
||||
Copyright 2005-2010 Texas Instruments Incorporated. All rights reserved.
|
||||
|
||||
IMPORTANT: Your use of this Software is limited to those specific rights
|
||||
granted under the terms of a software license agreement between the user
|
||||
who downloaded the software, his/her employer (which must be your employer)
|
||||
and Texas Instruments Incorporated (the "License"). You may not use this
|
||||
Software unless you agree to abide by the terms of the License. The License
|
||||
limits your use, and you acknowledge, that the Software may not be modified,
|
||||
copied or distributed unless embedded on a Texas Instruments microcontroller
|
||||
or used solely and exclusively in conjunction with a Texas Instruments radio
|
||||
frequency transceiver, which is integrated into your product. Other than for
|
||||
the foregoing purpose, you may not use, reproduce, copy, prepare derivative
|
||||
works of, modify, distribute, perform, display or sell this Software and/or
|
||||
its documentation for any purpose.
|
||||
|
||||
YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
|
||||
PROVIDED <20>AS IS<49> WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
|
||||
INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
|
||||
NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
|
||||
TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
|
||||
NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
|
||||
LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
||||
INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
|
||||
OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
|
||||
OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
||||
|
||||
Should you have any questions regarding your right to use this Software,
|
||||
contact Texas Instruments Incorporated at www.TI.com.
|
||||
**************************************************************************************************/
|
||||
|
||||
#ifndef SADDR_H
|
||||
#define SADDR_H
|
||||
|
||||
|
||||
#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 */
|
||||
|
||||
/****************************************************************************
|
||||
* 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 sAddrIden
|
||||
*
|
||||
* @brief Check if two device addresses are identical.
|
||||
*
|
||||
* This routine is virtually the same as sAddrCmp, which is used
|
||||
* to determine if two different addresses are the same. However,
|
||||
* this routine can be used to determine if an address is the
|
||||
* same as a previously stored address. The key difference is in
|
||||
* the former case, if the address mode is "none", then the
|
||||
* assumption is that the two addresses can not be the same. But
|
||||
* in the latter case, the address mode itself is being compared.
|
||||
* So two addresses can be identical even if the address mode is
|
||||
* "none", as long as the address mode of both addresses being
|
||||
* compared is the "none".
|
||||
*
|
||||
* input parameters
|
||||
*
|
||||
* @param pAddr1 - Pointer to first address.
|
||||
* @param pAddr2 - Pointer to second address.
|
||||
*
|
||||
* output parameters
|
||||
*
|
||||
* @return TRUE if addresses are identical, FALSE otherwise
|
||||
*/
|
||||
extern bool sAddrIden(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 */
|
||||
Reference in New Issue
Block a user