X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=c_auto.h;h=b3b1afc162ae2f8ca249f1c144d6bbabe36f2708;hb=7a7487bee79c16312270eb30275b095c92324348;hp=d76e59611f8594dcbdb0627641fe913e8b81ad97;hpb=09fe1097c643350b0dc62a66823682b285fd2ae4;p=ia32rtools.git diff --git a/c_auto.h b/c_auto.h index d76e596..b3b1afc 100644 --- a/c_auto.h +++ b/c_auto.h @@ -35,6 +35,12 @@ typedef struct { #define BYTE2(x) (*((u8*)&(x)+2)) #define BYTE3(x) (*((u8*)&(x)+3)) +#ifndef __WINE__ +#define DECL_IMPORT __declspec(dllimport) +#else +#define DECL_IMPORT +#endif + #define memcpy_0 memcpy #define noreturn __attribute__((noreturn)) @@ -44,3 +50,17 @@ static inline BOOL PtInRect_sa(LPCRECT r, int x, int y) POINT p = { x, y }; return PtInRect(r, p); } + +static inline int do_parity(unsigned int v) +{ + v ^= v >> 4; + v ^= v >> 2; + v ^= v >> 1; + return (v ^ 1) & 1; +} + +#define do_skip_code_abort() \ + printf("%s:%d: skip_code_abort\n", __FILE__, __LINE__); \ + *(volatile int *)0 = 1 + +// vim:ts=2:sw=2:expandtab