1 /*
2  * Copyright (c) 2008 Travis Geiselbrecht
3  *
4  * Use of this source code is governed by a MIT-style
5  * license that can be found in the LICENSE file or at
6  * https://opensource.org/licenses/MIT
7  */
8 #pragma once
9 
10 #include <lk/compiler.h>
11 #include <sys/types.h>
12 
13 __BEGIN_CDECLS
14 
15 /* Routines implemented by the platform or system specific interrupt controller
16  * to allow for installation and masking/unmask of interrupt vectors.
17  *
18  * Some platforms do not allow for dynamic registration.
19  */
20 status_t mask_interrupt(unsigned int vector);
21 status_t unmask_interrupt(unsigned int vector);
22 
23 typedef enum handler_return (*int_handler)(void *arg);
24 
25 void register_int_handler(unsigned int vector, int_handler handler, void *arg);
26 
27 __END_CDECLS
28