libdragon
interrupt.h
Go to the documentation of this file.
00001 
00006 #ifndef __LIBDRAGON_INTERRUPT_H
00007 #define __LIBDRAGON_INTERRUPT_H
00008 
00009 #ifdef __cplusplus
00010 extern "C" {
00011 #endif
00012 
00021 typedef enum
00022 {
00024     INTERRUPTS_UNINITIALIZED,
00026     INTERRUPTS_DISABLED,
00028     INTERRUPTS_ENABLED
00029 } interrupt_state_t;
00030 
00033 void register_AI_handler( void (*callback)() );
00034 void register_VI_handler( void (*callback)() );
00035 void register_PI_handler( void (*callback)() );
00036 void register_DP_handler( void (*callback)() );
00037 void register_TI_handler( void (*callback)() );
00038 void register_SI_handler( void (*callback)() );
00039 void register_SP_handler( void (*callback)() );
00040 
00041 void unregister_AI_handler( void (*callback)() );
00042 void unregister_VI_handler( void (*callback)() );
00043 void unregister_PI_handler( void (*callback)() );
00044 void unregister_DP_handler( void (*callback)() );
00045 void unregister_TI_handler( void (*callback)() );
00046 void unregister_SI_handler( void (*callback)() );
00047 void unregister_SP_handler( void (*callback)() );
00048 
00049 void set_AI_interrupt( int active );
00050 void set_VI_interrupt( int active, unsigned long line );
00051 void set_PI_interrupt( int active );
00052 void set_DP_interrupt( int active );
00053 void set_SI_interrupt( int active );
00054 void set_SP_interrupt( int active );
00055 
00056 void init_interrupts();
00057 
00058 void enable_interrupts();
00059 void disable_interrupts();
00060 
00061 interrupt_state_t get_interrupts_state(); 
00062 
00063 #ifdef __cplusplus
00064 }
00065 #endif
00066 
00067 #endif
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines