wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Functions
wpabuf.h File Reference

Dynamic data buffer. More...

Go to the source code of this file.

Data Structures

struct  wpabuf
 

Macros

#define WPABUF_FLAG_EXT_DATA   BIT(0)
 

Functions

int wpabuf_resize (struct wpabuf **buf, size_t add_len)
 
struct wpabufwpabuf_alloc (size_t len)
 Allocate a wpabuf of the given size. More...
 
struct wpabufwpabuf_alloc_ext_data (u8 *data, size_t len)
 
struct wpabufwpabuf_alloc_copy (const void *data, size_t len)
 
struct wpabufwpabuf_dup (const struct wpabuf *src)
 
void wpabuf_free (struct wpabuf *buf)
 Free a wpabuf. More...
 
void wpabuf_clear_free (struct wpabuf *buf)
 
void * wpabuf_put (struct wpabuf *buf, size_t len)
 
struct wpabufwpabuf_concat (struct wpabuf *a, struct wpabuf *b)
 Concatenate two buffers into a newly allocated one. More...
 
struct wpabufwpabuf_zeropad (struct wpabuf *buf, size_t len)
 Pad buffer with 0x00 octets (prefix) to specified length. More...
 
void wpabuf_printf (struct wpabuf *buf, char *fmt,...) PRINTF_FORMAT(2
 

Detailed Description

Dynamic data buffer.

Function Documentation

struct wpabuf* wpabuf_alloc ( size_t  len)

Allocate a wpabuf of the given size.

Parameters
lenLength for the allocated buffer
Returns
Buffer to the allocated wpabuf or NULL on failure
struct wpabuf* wpabuf_concat ( struct wpabuf a,
struct wpabuf b 
)

Concatenate two buffers into a newly allocated one.

Parameters
aFirst buffer
bSecond buffer
Returns
wpabuf with concatenated a + b data or NULL on failure

Both buffers a and b will be freed regardless of the return value. Input buffers can be NULL which is interpreted as an empty buffer.

void wpabuf_free ( struct wpabuf buf)

Free a wpabuf.

Parameters
bufwpabuf buffer
struct wpabuf* wpabuf_zeropad ( struct wpabuf buf,
size_t  len 
)

Pad buffer with 0x00 octets (prefix) to specified length.

Parameters
bufBuffer to be padded
lenLength for the padded buffer
Returns
wpabuf padded to len octets or NULL on failure

If buf is longer than len octets or of same size, it will be returned as-is. Otherwise a new buffer is allocated and prefixed with 0x00 octets followed by the source data. The source buffer will be freed on error, i.e., caller will only be responsible on freeing the returned buffer. If buf is NULL, NULL will be returned.