Logo
Developing with ZBOSS for Zigbee
zboss_api_buf.h File Reference
#include "zboss_api_core.h"

Data Structures

struct  zb_buf_hdr_s
 
struct  zb_mult_buf_s
 
struct  zb_leg_buf_s
 

Macros

#define ZB_RESERVED_BUF_TO_ALIGN_HDR_SIZE   1u
 
#define ZB_BUF_INVALID   0U
 
#define ZB_UNDEFINED_BUFFER   0U
 
#define TRACE_PROTO_VOID   void
 
#define TRACE_PROTO
 
#define TRACE_CALL_VOID
 
#define TRACE_CALL
 
#define ZB_TRACE_BUFS_USAGE()
 
#define zb_buf_get(is_in, max_size)   zb_buf_get_func(TRACE_CALL (is_in), (max_size))
 
#define zb_buf_get_out()   zb_buf_get_out_func(TRACE_CALL_VOID)
 
#define zb_buf_get_any()   zb_buf_get_any_func(TRACE_CALL_VOID)
 
#define zb_buf_get_hipri(a)   zb_buf_get_hipri_func(TRACE_CALL (a))
 
#define zb_buf_get_max_size(a)   zb_buf_get_max_size_func(TRACE_CALL (a))
 
#define zb_buf_get_out_delayed(callback)   zb_buf_get_out_delayed_func(TRACE_CALL (callback))
 Allocate OUT buffer, call a callback when the buffer is available. More...
 
#define zb_buf_get_in_delayed(callback)   zb_buf_get_in_delayed_func(TRACE_CALL (callback))
 Allocate IN buffer, call a callback when the buffer is available. More...
 
#define zb_buf_get_out_delayed_ext(callback, arg, max_size)   zb_buf_get_out_delayed_ext_func(TRACE_CALL (callback),(arg),(max_size))
 Allocate OUT buffer, call a callback when the buffer is available. More...
 
#define zb_buf_get_in_delayed_ext(callback, arg, max_size)   zb_buf_get_in_delayed_ext_func(TRACE_CALL (callback),(arg),(max_size))
 Allocate IN buffer, call a callback when the buffer is available. More...
 
#define zb_buf_free(buf)   zb_buf_free_func(TRACE_CALL (buf))
 Free packet buffer and put it into free list. More...
 
#define zb_buf_begin(buf)   zb_buf_begin_func(TRACE_CALL (buf))
 
#define zb_buf_end(buf)   zb_buf_end_func(TRACE_CALL (buf))
 
#define zb_buf_len(buf)   zb_buf_len_func(TRACE_CALL (buf))
 
#define zb_buf_copy(dst_buf, src_buf)   zb_buf_copy_func(TRACE_CALL (dst_buf),(src_buf))
 
#define zb_buf_initial_alloc(buf, size)   zb_buf_initial_alloc_func(TRACE_CALL (buf),(size))
 Initial data space allocation in buffer. More...
 
#define zb_buf_reuse(buf)   zb_buf_reuse_func(TRACE_CALL (buf))
 
#define zb_buf_alloc_tail(buf, size)   zb_buf_alloc_tail_func(TRACE_CALL (buf),(size))
 
#define zb_buf_get_tail(buf, size)   zb_buf_get_tail_func(TRACE_CALL (buf),(size))
 
#define ZB_BUF_GET_PARAM(buf, type)   ((type *)zb_buf_get_tail_func(TRACE_CALL (buf), sizeof(type)))
 
#define zb_buf_cut_right(buf, size)   zb_buf_cut_right_func(TRACE_CALL (buf),(size))
 
#define zb_buf_cut_left(buf, size)   zb_buf_cut_left_func(TRACE_CALL (buf),(size))
 
#define zb_buf_alloc_right(buf, size)   zb_buf_alloc_right_func(TRACE_CALL (buf),(size))
 
#define zb_buf_alloc_left(buf, size)   zb_buf_alloc_left_func(TRACE_CALL (buf),(size))
 
#define zb_buf_flags_or(buf, val)   zb_buf_flags_or_func(TRACE_CALL (buf),(val))
 
#define zb_buf_flags_clr(buf, mask)   zb_buf_flags_clr_func(TRACE_CALL (buf),(mask))
 
#define zb_buf_flags_clr_encr(buf)   zb_buf_flags_clr_encr_func(TRACE_CALL (buf))
 
#define zb_buf_flags_get(buf)   zb_buf_flags_get_func(TRACE_CALL (buf))
 
#define zb_buf_get_status(buf)   zb_buf_get_status_func(TRACE_CALL (buf))
 
#define zb_buf_set_status(buf, status)   zb_buf_set_status_func(TRACE_CALL (buf), (zb_ret_t)(status))
 
#define zb_buf_get_handle(buf)   zb_buf_get_handle_func(TRACE_CALL (buf))
 
#define zb_buf_set_handle(buf, handle)   zb_buf_set_handle_func(TRACE_CALL (buf),(handle))
 
#define ZB_BUF_COPY_FLAG_APS_PAYLOAD(dst, src)
 
Buffer type (direction)

#define ZB_OUT_BUFFER   0U
 
#define ZB_IN_BUFFER   1U
 
Buffer's internals flags bitmask

#define ZB_BUF_SECUR_NO_ENCR   0U
 
#define ZB_BUF_IS_IN   (1U << 0)
 
#define ZB_BUF_SECUR_NWK_ENCR   (1U << 1)
 
#define ZB_BUF_SECUR_APS_ENCR   (1U << 2)
 
#define ZB_BUF_SECUR_MAC_ENCR   (1U << 3)
 
#define ZB_BUF_SECUR_ALL_ENCR   (ZB_BUF_SECUR_NWK_ENCR | ZB_BUF_SECUR_APS_ENCR | ZB_BUF_SECUR_MAC_ENCR)
 
#define ZB_BUF_USE_SAME_KEY   (1U << 4)
 
#define ZB_BUF_ZDO_CMD_NO_RESP   (1U << 5)
 
#define ZB_BUF_HAS_APS_PAYLOAD   (1U << 6)
 
#define ZB_BUF_HAS_APS_USER_PAYLOAD   (1U << 7)
 

Typedefs

typedef struct zb_buf_hdr_s zb_buf_hdr_t
 
typedef struct zb_mult_buf_s zb_mult_buf_t
 
typedef struct zb_leg_buf_s zb_leg_buf_t
 
typedef zb_mult_buf_t zb_buf_ent_t
 
typedef zb_uint8_t zb_buffer_types_t
 Type for Buffer type (direction). More...
 
typedef zb_uint8_t zb_bufid_t
 
typedef zb_uint8_t zb_buf_flags_bm_t
 Type for buffer's internals flags bitmask. More...
 

Functions

zb_bool_t zb_buf_is_oom_state (void)
 
void zb_buf_oom_trace (void)
 
zb_bool_t zb_buf_memory_low (void)
 
void zb_buf_set_mac_rx_need (zb_bool_t needs)
 
zb_bool_t zb_buf_get_mac_rx_need (void)
 
zb_bool_t zb_buf_have_rx_bufs (void)