summaryrefslogtreecommitdiff
path: root/UICaboodle/UCPlatform.h
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2009-06-17 06:42:06 +0000
committerJay Freeman (saurik) <saurik@saurik.com>2010-09-30 07:13:15 +0000
commit11cd030858934f62f5e91b0bff5924f8fa098f90 (patch)
treedce7be141e4bbb59c5d1bfed671262694b086e87 /UICaboodle/UCPlatform.h
parent43f3d7f667a56659b4ac4b2e8171fbf8b7cc3c94 (diff)
20 minutes of typing.
Diffstat (limited to 'UICaboodle/UCPlatform.h')
-rw-r--r--UICaboodle/UCPlatform.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/UICaboodle/UCPlatform.h b/UICaboodle/UCPlatform.h
new file mode 100644
index 0000000..0940406
--- /dev/null
+++ b/UICaboodle/UCPlatform.h
@@ -0,0 +1,49 @@
+#define __STDC_LIMIT_MACROS
+#include <stdint.h>
+
+#include <objc/objc.h>
+
+#include <sys/time.h>
+#include <time.h>
+
+#define _forever \
+ for (;;)
+
+extern struct timeval _ltv;
+extern bool _itv;
+
+#define _trace() do { \
+ struct timeval _ctv; \
+ gettimeofday(&_ctv, NULL); \
+ if (!_itv) { \
+ _itv = true; \
+ _ltv = _ctv; \
+ } \
+ fprintf(stderr, "%lu.%.6u[%f]:_trace()@%s:%u[%s]\n", \
+ _ctv.tv_sec, _ctv.tv_usec, \
+ (_ctv.tv_sec - _ltv.tv_sec) + (_ctv.tv_usec - _ltv.tv_usec) / 1000000.0, \
+ __FILE__, __LINE__, __FUNCTION__\
+ ); \
+ _ltv = _ctv; \
+} while (false)
+
+#define _assert(test) do \
+ if (!(test)) { \
+ fprintf(stderr, "_assert(%d:%s)@%s:%u[%s]\n", errno, #test, __FILE__, __LINE__, __FUNCTION__); \
+ exit(-1); \
+ } \
+while (false)
+
+#define _not(type) ((type) ~ (type) 0)
+
+#define _transient
+
+#define _label__(x) _label ## x
+#define _label_(y) _label__(y)
+#define _label _label_(__LINE__)
+
+#define _packed \
+ __attribute__((packed))
+
+//#define _finline __attribute__((force_inline))
+#define _finline inline