X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/11bc1216c9018a1e19ef776e10c1004ac1e7e33d..ec32cb10c89eddba7bd8ed868c2ecf2d8c5d8ab7:/UICaboodle/UICaboodle.h diff --git a/UICaboodle/UICaboodle.h b/UICaboodle/UICaboodle.h index 1cf37d13..f9a4eb3e 100644 --- a/UICaboodle/UICaboodle.h +++ b/UICaboodle/UICaboodle.h @@ -1,12 +1,30 @@ +#define __STDC_LIMIT_MACROS +#include + #include #include #include +#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 \ @@ -19,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))