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