#ifndef SOCKS_COMPILER_H_ #define SOCKS_COMPILER_H_ #define READ_ONCE(p) (*((const volatile typeof(p) *)&(p))) #define WRITE_ONCE(p, v) *(volatile typeof(p) *)&(p) = (v) #undef __used #define __used __attribute__((used)) #undef __packed #define __packed __attribute__((packed)) #undef __section #define __section(name) __attribute__((section(name))) #undef __aligned #define __aligned(x) __attribute__((aligned(x))) #endif