zephyr/include/net
Johan Hedberg c1f007687f net: Add initial generic buffer implementation
We need to have a generic buffer API in order to efficiently transfer
data between different subsystems. The first such case will be the
Networking and Bluetooth subsystems where 6LoWPAN data will be passed
back and forth.

The needed API needs to provide enough flexibility for different
buffer sizes as well as custom protocol-specific context data.

The implementation offered in this patch follows the general design of
the existing Networking and Bluetooth buffer implementations by using
a backing array of buffer which is fed into a "free buffers" FIFO for
management. The main difference is that the API allows specifying
variable sized buffers for each created pool, as well as a minimum
amount of "user data" that's allocated as part of each buffer.

There's also an optional destroy callback that's e.g. useful for HCI
flow control in Bluetooth (for notifying the controller of available
buffers).

Change-Id: I00b7007135a0ff35219f38f48658f31728fbb7ca
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:24:38 -05:00
..
buf.h net: Add initial generic buffer implementation 2016-02-05 20:24:38 -05:00
net_buf.h checkpatch: error - trailing_whitespace 2016-02-05 20:24:33 -05:00
net_core.h checkpatch: warning - spacing 2016-02-05 20:24:35 -05:00
net_ip.h checkpatch: error - trailing_whitespace 2016-02-05 20:24:33 -05:00
net_socket.h checkpatch: warning - block_comment_style 2016-02-05 20:24:33 -05:00
tinydtls.h checkpatch: error - trailing_whitespace 2016-02-05 20:24:33 -05:00