summaryrefslogtreecommitdiff
path: root/dependence/include/stellar/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'dependence/include/stellar/utils.h')
-rw-r--r--dependence/include/stellar/utils.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/dependence/include/stellar/utils.h b/dependence/include/stellar/utils.h
new file mode 100644
index 0000000..8158916
--- /dev/null
+++ b/dependence/include/stellar/utils.h
@@ -0,0 +1,43 @@
+#pragma once
+
+#include <stdlib.h> //calloc
+#include <stddef.h> //NULL
+
+#define CALLOC(type, number) ((type *)calloc(sizeof(type), number))
+
+#define REALLOC(type, ptr, number) ((type *)realloc(ptr, (number) * sizeof(type)))
+
+#define FREE(p) {free(p); p = NULL;}
+
+#define TRUE 1
+#define FALSE 0
+
+#ifndef MAX
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+#endif
+
+#ifndef MIN
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#endif
+
+#ifndef offsetof
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#endif
+
+#ifndef container_of
+#define container_of(ptr, type, member) ({ \
+ const typeof( ((type *)0)->member ) *__mptr = (ptr); \
+ (type *)( (char *)__mptr - offsetof(type,member) );})
+#endif
+
+#ifndef __unused
+#define __unused __attribute__((__unused__))
+#endif
+
+#ifndef likely
+#define likely(x) __builtin_expect((x),1)
+#endif /* likely */
+
+#ifndef unlikely
+#define unlikely(x) __builtin_expect((x),0)
+#endif /* unlikely */