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.