Digi XBee(R) ANSI C Host Library
Macros | Functions

Base WPAN/ZigBee layer, responsible for endpoints and clusters. More...

#include <errno.h>
#include <stddef.h>
#include <stdio.h>
#include "xbee/platform.h"
#include "wpan/types.h"
#include "wpan/aps.h"
#include "zigbee/zdo.h"
#include "zigbee/zcl.h"

Functions

const wpan_cluster_table_entry_twpan_cluster_match (uint16_t match, uint8_t mask, const wpan_cluster_table_entry_t *entry)
 Search a cluster table for a matching cluster ID. More...
 
const wpan_endpoint_table_entry_twpan_endpoint_get_next (wpan_dev_t *dev, const wpan_endpoint_table_entry_t *ep)
 Function used to walk a device's endpoint table. More...
 
const wpan_endpoint_table_entry_twpan_endpoint_match (wpan_dev_t *dev, uint8_t endpoint, uint16_t profile_id)
 Walk a device's endpoint table looking for a matching endpoint ID and profile ID. More...
 
const wpan_endpoint_table_entry_twpan_endpoint_of_envelope (const wpan_envelope_t *env)
 Look up the endpoint table entry for the source endpoint of an envelope. More...
 
const wpan_endpoint_table_entry_twpan_endpoint_of_cluster (wpan_dev_t *dev, uint16_t profile_id, uint16_t cluster_id, uint8_t mask)
 Walk a device's endpoint table looking for a matching profile ID and cluster ID. More...
 
int wpan_conversation_register (wpan_ep_state_t FAR *state, wpan_response_fn handler, const void FAR *context, uint16_t timeout)
 Add a conversation to the table of tracked conversations. More...
 
void wpan_conversation_delete (wpan_conversation_t FAR *conversation)
 Delete a conversation from an endpoint's conversation table. More...
 
void _wpan_endpoint_expire_conversations (wpan_ep_state_t FAR *state)
 Walk an endpoint's conversation table and expire any conversations that have timed out. More...
 
int wpan_conversation_response (wpan_ep_state_t FAR *state, uint8_t transaction_id, const wpan_envelope_t FAR *envelope)
 Searches the endpoint's table of active conversations (outstanding requests waiting for responses) for a given transaction. More...
 
uint8_t wpan_endpoint_next_trans (const wpan_endpoint_table_entry_t *ep)
 Increment and return the endpoint's transaction ID counter. More...
 
int _wpan_endpoint_dispatch (wpan_envelope_t *envelope, const wpan_endpoint_table_entry_t *ep)
 Dispatch a message for a given endpoint. More...
 
int wpan_envelope_dispatch (wpan_envelope_t *envelope)
 Find the matching endpoint for the provided envelope and have it process the frame. More...
 
void wpan_envelope_create (wpan_envelope_t *envelope, wpan_dev_t *dev, const addr64 FAR *ieee, uint16_t network_addr)
 Starting with a blank envelope, fill in the device, 64-bit IEEE address and 16-bit network address of the destination. More...
 
int wpan_envelope_reply (wpan_envelope_t FAR *reply, const wpan_envelope_t FAR *original)
 Create a reply envelope based on the envelope received from a remote node. More...
 
int wpan_envelope_send (const wpan_envelope_t FAR *envelope)
 Send a message to an endpoint using address and payload information stored in a wpan_envelope_t structure. More...
 
void wpan_envelope_dump (const wpan_envelope_t FAR *envelope)
 Debugging function to dump the contents of an envelope to stdout. More...
 
int wpan_tick (wpan_dev_t *dev)
 Calls the underlying hardware tick function to process received frames, and times out expired conversations. More...
 

Detailed Description

Base WPAN/ZigBee layer, responsible for endpoints and clusters.