Subversion Repositories HelenOS

Rev

Rev 2927 | Rev 4342 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2927 Rev 3674
Line 81... Line 81...
81
} irq_trigger_t;
81
} irq_trigger_t;
82
 
82
 
83
struct irq;
83
struct irq;
84
typedef void (* irq_handler_t)(struct irq *irq, void *arg, ...);
84
typedef void (* irq_handler_t)(struct irq *irq, void *arg, ...);
85
 
85
 
-
 
86
/** Type for function used to clear the interrupt. */
-
 
87
typedef void (* cir_t)(void *arg, inr_t inr);
-
 
88
 
86
/** IPC notification config structure.
89
/** IPC notification config structure.
87
 *
90
 *
88
 * Primarily, this structure is encapsulated in the irq_t structure.
91
 * Primarily, this structure is encapsulated in the irq_t structure.
89
 * It is protected by irq_t::lock.
92
 * It is protected by irq_t::lock.
90
 */
93
 */
Line 142... Line 145...
142
    /** Handler for this IRQ and device. */
145
    /** Handler for this IRQ and device. */
143
    irq_handler_t handler;
146
    irq_handler_t handler;
144
    /** Argument for the handler. */
147
    /** Argument for the handler. */
145
    void *arg;
148
    void *arg;
146
 
149
 
-
 
150
    /** Clear interrupt routine. */
-
 
151
    cir_t cir;
-
 
152
    /** First argument to the clear interrupt routine. */
-
 
153
    void *cir_arg;
-
 
154
 
147
    /** Notification configuration structure. */
155
    /** Notification configuration structure. */
148
    ipc_notif_cfg_t notif_cfg;
156
    ipc_notif_cfg_t notif_cfg;
149
} irq_t;
157
} irq_t;
150
 
158
 
151
extern void irq_init(count_t inrs, count_t chains);
159
extern void irq_init(count_t inrs, count_t chains);