xref: /haiku/headers/private/kernel/arch/int.h (revision d3d8b26997fac34a84981e6d2b649521de2cc45a)
1 /*
2  * Copyright 2002-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_ARCH_INT_H
9 #define KERNEL_ARCH_INT_H
10 
11 
12 #include <boot/kernel_args.h>
13 #include <arch_int.h>
14 
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 status_t arch_int_init(kernel_args *args);
21 status_t arch_int_init_post_vm(kernel_args *args);
22 status_t arch_int_init_post_device_manager(struct kernel_args *args);
23 
24 void arch_int_enable_interrupts(void);
25 int arch_int_disable_interrupts(void);
26 void arch_int_restore_interrupts(int oldstate);
27 void arch_int_enable_io_interrupt(int irq);
28 void arch_int_disable_io_interrupt(int irq);
29 bool arch_int_are_interrupts_enabled(void);
30 
31 #ifdef __cplusplus
32 }
33 #endif
34 
35 #endif	/* KERNEL_ARCH_INT_H */
36