From f8a2fec8f399229d15d3481be0ce8567b2ed6851 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 6 Mar 2012 23:06:18 +0100 Subject: Simplify queue functions --- src/fastd.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/fastd.h') diff --git a/src/fastd.h b/src/fastd.h index c8cad39..e4bef44 100644 --- a/src/fastd.h +++ b/src/fastd.h @@ -121,6 +121,11 @@ struct _fastd_context { #define exit_errno(ctx, message) exit_error(ctx, "%s: %s", message, strerror(errno)) +#define container_of(ptr, type, member) ({ \ + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type,member) );}) + + static inline fastd_buffer fastd_buffer_alloc(size_t len, size_t head_space, size_t tail_space) { size_t base_len = head_space+len+tail_space; uint8_t *ptr = malloc(head_space+len); -- cgit v1.2.3