Lines Matching +full:magic +full:- +full:string
3 * Copyright (c) 2007-2012, Jouni Malinen <j@w1.fi>
19 unsigned int magic; member
25 ((const u8 *) buf - sizeof(struct wpabuf_trace)); in wpabuf_get_trace()
34 if (trace->magic != WPABUF_MAGIC) { in wpabuf_overflow()
35 wpa_printf(MSG_ERROR, "wpabuf: invalid magic %x", in wpabuf_overflow()
36 trace->magic); in wpabuf_overflow()
40 buf, (unsigned long) buf->size, (unsigned long) buf->used, in wpabuf_overflow()
56 return *_buf == NULL ? -1 : 0; in wpabuf_resize()
61 if (trace->magic != WPABUF_MAGIC) { in wpabuf_resize()
62 wpa_printf(MSG_ERROR, "wpabuf: invalid magic %x", in wpabuf_resize()
63 trace->magic); in wpabuf_resize()
64 wpa_trace_show("wpabuf_resize invalid magic"); in wpabuf_resize()
69 if (buf->used + add_len > buf->size) { in wpabuf_resize()
71 if (buf->flags & WPABUF_FLAG_EXT_DATA) { in wpabuf_resize()
72 nbuf = os_realloc(buf->buf, buf->used + add_len); in wpabuf_resize()
74 return -1; in wpabuf_resize()
75 os_memset(nbuf + buf->used, 0, add_len); in wpabuf_resize()
76 buf->buf = nbuf; in wpabuf_resize()
81 buf->used + add_len); in wpabuf_resize()
83 return -1; in wpabuf_resize()
87 sizeof(struct wpabuf) + buf->used, 0, in wpabuf_resize()
91 buf->used + add_len); in wpabuf_resize()
93 return -1; in wpabuf_resize()
95 os_memset(nbuf + sizeof(struct wpabuf) + buf->used, 0, in wpabuf_resize()
98 buf->buf = (u8 *) (buf + 1); in wpabuf_resize()
101 buf->size = buf->used + add_len; in wpabuf_resize()
109 * wpabuf_alloc - Allocate a wpabuf of the given size
121 trace->magic = WPABUF_MAGIC; in wpabuf_alloc()
129 buf->size = len; in wpabuf_alloc()
130 buf->buf = (u8 *) (buf + 1); in wpabuf_alloc()
143 trace->magic = WPABUF_MAGIC; in wpabuf_alloc_ext_data()
151 buf->size = len; in wpabuf_alloc_ext_data()
152 buf->used = len; in wpabuf_alloc_ext_data()
153 buf->buf = data; in wpabuf_alloc_ext_data()
154 buf->flags |= WPABUF_FLAG_EXT_DATA; in wpabuf_alloc_ext_data()
179 * wpabuf_free - Free a wpabuf
189 if (trace->magic != WPABUF_MAGIC) { in wpabuf_free()
190 wpa_printf(MSG_ERROR, "wpabuf_free: invalid magic %x", in wpabuf_free()
191 trace->magic); in wpabuf_free()
192 wpa_trace_show("wpabuf_free magic mismatch"); in wpabuf_free()
195 if (buf->flags & WPABUF_FLAG_EXT_DATA) in wpabuf_free()
196 os_free(buf->buf); in wpabuf_free()
201 if (buf->flags & WPABUF_FLAG_EXT_DATA) in wpabuf_free()
202 os_free(buf->buf); in wpabuf_free()
220 buf->used += len; in wpabuf_put()
221 if (buf->used > buf->size) { in wpabuf_put()
229 * wpabuf_concat - Concatenate two buffers into a newly allocated one
264 * wpabuf_zeropad - Pad buffer with 0x00 octets (prefix) to specified length
269 * If buf is longer than len octets or of same size, it will be returned as-is.
289 os_memset(wpabuf_put(ret, len - blen), 0, len - blen); in wpabuf_zeropad()
305 res = vsnprintf(tmp, buf->size - buf->used, fmt, ap); in wpabuf_printf()
307 if (res < 0 || (size_t) res >= buf->size - buf->used) in wpabuf_printf()
309 buf->used += res; in wpabuf_printf()
314 * wpabuf_parse_bin - Parse a null terminated string of binary data to a wpabuf
315 * @buf: Buffer with null terminated string (hexdump) of binary data
318 * The string len must be a multiple of two and contain only hexadecimal digits.