X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/423f8cb9332c025bce60a40dc6efaf49abc59de9..3e3977a2813ade57f892e24ec8b9da0e8bfdf69c:/UICaboodle/UICaboodle.h diff --git a/UICaboodle/UICaboodle.h b/UICaboodle/UICaboodle.h index afdf71bd..f9a4eb3e 100644 --- a/UICaboodle/UICaboodle.h +++ b/UICaboodle/UICaboodle.h @@ -1,6 +1,31 @@ +#define __STDC_LIMIT_MACROS +#include + #include -#define _trace() fprintf(stderr, "_trace()@%s:%u[%s]\n", __FILE__, __LINE__, __FUNCTION__) +#include +#include + +#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)) { \ @@ -12,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))