/* os dependent */ #if defined(__linux__) #define HAIL_FAIL(info) printk("%s\n", info) #define HAIL_ASSERT(x, file, line, func) if(!(x)) printk("assert fail %s, at %s:%d (%s)\n", #x, file, line, func) #define HAIL_DISABLE_INTERRUPT(s) local_irq_save(s) #define HAIL_ENABLE_INTERRUPT(s) local_irq_restore(s) typedef unsigned long HAIL_FLAG_TYPE; #elif defined(__NetBSD__) #include #include #include #define HAIL_FAIL(info) printf("%s\n", info) #define HAIL_ASSERT(x, file, line, func) if(!(x)) printf("assert fail %s, at %s:%d (%s)\n", #x, file, line, func) #define HAIL_DISABLE_INTERRUPT(s) do { s = splhi(); } while (0) #define HAIL_ENABLE_INTERRUPT(s) splx(s) typedef unsigned long HAIL_FLAG_TYPE; #else #endif