APS_DataInd_t struct

C

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

struct APS_DataInd_t apsdeData.h "aps.h"

The structure for indication of data reception

A pointer to an instance of this type is passed to a data indication callback registered for a given
endpoint when the data is received destined to the endpoint.
The structure definition follows APSDE-DATA indication primitive described in
Zigbee Specification r18, 2.2.4.1.3 APSDE-DATA.indication, page 29.