X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/321961050ad9eec4337d879ea5aa1901212183bc..5889429eaf76426e5b02a7dc8e31968c69adbbb2:/UICaboodle/UICaboodle.h diff --git a/UICaboodle/UICaboodle.h b/UICaboodle/UICaboodle.h index 499fc23a..f9a4eb3e 100644 --- a/UICaboodle/UICaboodle.h +++ b/UICaboodle/UICaboodle.h @@ -1,3 +1,6 @@ +#define __STDC_LIMIT_MACROS +#include + #include #include @@ -6,10 +9,22 @@ #define _forever \ for (;;) +extern struct timeval _ltv; +extern bool _itv; + #define _trace() do { \ - struct timeval _tv; \ - gettimeofday(&_tv, NULL); \ - fprintf(stderr, "%lu.%.6u:_trace()@%s:%u[%s]\n", _tv.tv_sec, _tv.tv_usec, __FILE__, __LINE__, __FUNCTION__); \ + 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 \ @@ -22,3 +37,10 @@ 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))