SimAVR
AVR Simulator
sim_irq.h File Reference
#include <stdint.h>
Include dependency graph for sim_irq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  avr_irq_pool_t
 IRQ Pool structure. More...
 
struct  avr_irq_t
 Public IRQ structure. More...
 

Typedefs

typedef void(* avr_irq_notify_t) (struct avr_irq_t *irq, uint32_t value, void *param)
 Callback Prototype. More...
 
typedef struct avr_irq_pool_t avr_irq_pool_t
 IRQ Pool structure. More...
 
typedef struct avr_irq_t avr_irq_t
 Public IRQ structure. More...
 

Enumerations

enum  { IRQ_FLAG_NOT = (1 << 0), IRQ_FLAG_FILTERED = (1 << 1), IRQ_FLAG_ALLOC = (1 << 2), IRQ_FLAG_INIT = (1 << 3) }
 

Functions

avr_irq_tavr_alloc_irq (avr_irq_pool_t *pool, uint32_t base, uint32_t count, const char **names)
 Allocates 'count' IRQs, initializes their "irq" starting from 'base' and increment. More...
 
void avr_free_irq (avr_irq_t *irq, uint32_t count)
 Free allocated IRQs. More...
 
void avr_init_irq (avr_irq_pool_t *pool, avr_irq_t *irq, uint32_t base, uint32_t count, const char **names)
 Init 'count' IRQs, initializes their "irq" starting from 'base' and increment. More...
 
void avr_raise_irq (avr_irq_t *irq, uint32_t value)
 Raise an IRQ. I.e. call their 'hooks', and raise any chained IRQs, and set the new 'value'. More...
 
void avr_connect_irq (avr_irq_t *src, avr_irq_t *dst)
 Connect a source IRQ to a destination IRQ. More...
 
void avr_unconnect_irq (avr_irq_t *src, avr_irq_t *dst)
 Disconnect a source IRQ to a destination IRQ. More...
 
void avr_irq_register_notify (avr_irq_t *irq, avr_irq_notify_t notify, void *param)
 Register a notification hook (callback) for an irq. More...
 
void avr_irq_unregister_notify (avr_irq_t *irq, avr_irq_notify_t notify, void *param)
 Unregister a callback for an irq. More...