1
/*
2
* \brief Hardware-interrupt subsystem
3
* \author Christian Helmuth
4
* \date 2008-08-15
5
*
6
* The DDE kit supports registration of one handler function per interrupt. If
7
* any specific DDE implementation needs to register more than one handler,
8
* multiplexing has to be implemented there!
9
*/
10
11
/*
12
* Copyright (C) 2008-2013 Genode Labs GmbH
13
*
14
* This file is part of the Genode OS framework, which is distributed
15
* under the terms of the GNU General Public License version 2.
16
*/
17
18
#
ifndef _INCLUDE__DDE_KIT__INTERRUPT_H_
19
#
define _INCLUDE__DDE_KIT__INTERRUPT_H_
20
21
/**
22
* Attach to hardware interrupt
23
*
24
* \param irq IRQ number to attach to
25
* \param shared set to 1 if interrupt sharing is supported; set to 0
26
* otherwise
27
* \param thread_init called just after DDE kit internal init and before any
28
* other function
29
* \param handler IRQ handler for interrupt irq
30
* \param priv private token (argument for thread_init and handler)
31
*
32
* \return attachment state
33
* \retval 0 success
34
* \retval !0 error
35
*/
36
int
dde_kit_interrupt_attach(
int
irq
,
int
shared
,
void(
*
thread_init)
(
void *
)
,
37
void(
*
handler)
(
void *
)
,
void *
priv
)
;
38
39
/**
40
* Detach from a previously attached interrupt.
41
*
42
* \param irq IRQ number
43
*/
44
void
dde_kit_interrupt_detach(
int
irq
)
;
45
46
/**
47
* Block interrupt.
48
*
49
* \param irq IRQ number to block
50
*/
51
void
dde_kit_interrupt_disable(
int
irq
)
;
52
53
/**
54
* Enable interrupt.
55
*
56
* \param irq IRQ number to block
57
*/
58
void
dde_kit_interrupt_enable(
int
irq
)
;
59
60
#
endif /* _INCLUDE__DDE_KIT__INTERRUPT_H_ */