5.2.1.6 APS_DataInd_t Structure

Syntax
typedef struct
{
 /** \cond SERVICE_FIELDS **/
 struct
 {
 void *next; /*!< Service field for queue support */
 #ifdef _ZAPPSI_
 /* to be compatible with MAC service. */
 uint8_t requestId;
 /* Sequence number to identify request-response pair. */
 uint8_t sequenceNumber;
 union
 {
 /* Callback wrapper routine pointer */
 void (*callback)(void*);
 /* Processing routine pointer to call after required memory will become free */
 void (*process)(void*);
 } zsi;
 #endif /* # _ZAPPSI_ */
 } service;
 /** \endcond **/
 /** The addressing mode used to identify the destination
 * in the data frame that has been received.
 * May take any non-reserved value from the following list:
 APS_NO_ADDRESS (0x00) - used for binding; set dstAddress and dstEndpoint
 APS_GROUP_ADDRESS (0x01) - used for group transmission; 16-bit group address should be specified in dstAddress; dstEndpoint is not set
 APS_SHORT_ADDRESS (0x02) - identifying the destination (unicast or broadcast) with a 16-bit short address specified
 * in dstAddress and the endpoint set in dstEndpoint
 APS_EXT_ADDRESS (0x03) - identifying the destination with a 64-bit extended address specified in dstAddress and the endpoint set in dstEndpoint
 0x04..0xff - reserved values, must not be used by the application*/
 APS_AddrMode_t dstAddrMode;
 /** Endian "[LE]" The individual device address or group addressto which
 * the ASDU is directed. Value size depends on the dstAddrMode parameter. */
 APS_Address_t dstAddress;
 /** The target endpoint on the local entity to which the ASDU is directed. */
 Endpoint_t dstEndpoint;
 /** The addressing mode for the source address used in this primitive
 * and of the APDU that has been received. May possess any non-reserved value
 * from the following list:
 APS_SHORT_ADDRESS (0x02) - short address is used in srcAddress and srcEndpoint is specified
 APS_EXT_ADDRESS (0x03) - extended address is used in srcAddress and srcEndpoint is specified
 * */
 APS_AddrMode_t srcAddrMode;
 /** Endian "[LE]" The individual device address of the entity from which
 * the ASDU has been received.
 * Value type and size is depend of the srcAddrMode parameter. */
 APS_Address_t srcAddress;
 /** Endian "[LE]" Network address of previous hop from which the packet
 * received. */
 ShortAddr_t prevHopAddr;
 /** The number of the individual endpoint of the entity from
 * which the ASDU has been received. */
 Endpoint_t srcEndpoint;
 /** Endian "[LE]" The identifier of the profile from
 * which this frame originates. */
 ProfileId_t profileId;
 /** Endian "[LE]" The identifier of the received object. */
 ClusterId_t clusterId;
 /** The number of octets comprising the ASDU being indicated by the APSDE. */
 uint16_t asduLength;
 /** The set of octets comprising the ASDU being indicated by the APSDE. */
 uint8_t *asdu;
 /** The status of the incoming frame processing. */
 APS_Status_t status;
 /**
 APS_UNSECURED_STATUS=0xaf if the ASDU was received without any security.
 APS_SECURED_NWK_KEY_STATUS=0xac if the received ASDU was secured
 with the NWK key,
 APS_SECURED_LINK_KEY_STATUS=0xab if the ASDU was secured with a link key,
 APS_SECURED_TRUST_CENTER_LINK_KEY_STATUS=0xb1 if the ASDU was secured
 with the trust center link key,
 APS_SECURED_HASH_OF_TRUST_CENTER_LINK_KEY_STATUS=0xb2 if secured
 with hash of the trust center link key.
 */
 APS_Status_t securityStatus;
 /** The status of whether the NSDU is using security: TRUE = use,
 * FALSE = doesn't use. */
 bool nwkSecurityStatus;
 /** The link quality indication delivered by the NLDE. */
 uint8_t linkQuality;
 /** Timestamp for the received packet based on the local clock,
 * as provided by the NWK layer. */
 uint32_t rxTime;
 int8_t rssi;
} APS_DataInd_t;

Description

The apsdeData.h file defines the structure APS_DataInd_t, which the aps.h file includes. This structure serves as an indication to data reception. If receiving the data intended for the endpoint, the system passes a pointer to an instance of this type to the data indication callback registered for that endpoint. The structure’s definition complies with the APSDE-DATA.indication primitive. For more details, refer to the Zigbee® Specification Revision 22 1.0 (05-3474-22), section 2.2.4.1.3 on page 25.