1 /* 2 * Copyright 2003-2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 6 * Distributed under the terms of the NewOS License. 7 */ 8 #ifndef _KERNEL_INT_H 9 #define _KERNEL_INT_H 10 11 12 #include <KernelExport.h> 13 #include <arch/int.h> 14 15 struct kernel_args; 16 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 status_t int_init(struct kernel_args *args); 23 status_t int_init_post_vm(struct kernel_args *args); 24 int int_io_interrupt_handler(int vector); 25 26 bool interrupts_enabled(void); 27 28 static inline void 29 enable_interrupts(void) 30 { 31 arch_int_enable_interrupts(); 32 } 33 34 static inline bool 35 are_interrupts_enabled(void) 36 { 37 return arch_int_are_interrupts_enabled(); 38 } 39 40 #ifdef __cplusplus 41 } 42 #endif 43 44 #endif /* _KERNEL_INT_H */ 45