From 82bcbfbe25df69652bc7cb3e5d66ae0886894488 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 21 Feb 2012 23:37:19 +0000 Subject: Clean up includes To use the standard hurd Makeconf rules and permit external dde_* build --- libddekit/ddekit/interrupt.h | 57 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 libddekit/ddekit/interrupt.h (limited to 'libddekit/ddekit/interrupt.h') diff --git a/libddekit/ddekit/interrupt.h b/libddekit/ddekit/interrupt.h new file mode 100644 index 00000000..3f789210 --- /dev/null +++ b/libddekit/ddekit/interrupt.h @@ -0,0 +1,57 @@ +/* + * \brief Hardware-interrupt subsystem + * \author Thomas Friebel + * \author Christian Helmuth + * \date 2007-01-26 + * + * DDEKit supports registration of one handler function per interrupt. If any + * specific DDE implementation needs to register more than one handler, + * multiplexing has to be implemented there! + */ + +#ifndef _ddekit_interrupt_h +#define _ddekit_interrupt_h + +#include "ddekit/thread.h" + +#define DDEKIT_IRQ_PRIO 2 + +/** + * Attach to hardware interrupt + * + * \param irq IRQ number to attach to + * \param shared set to 1 if interrupt sharing is supported; set to 0 + * otherwise + * \param thread_init called just after DDEKit internal init and before any + * other function + * \param handler IRQ handler for interrupt irq + * \param priv private token (argument for thread_init and handler) + * + * \return pointer to interrupt thread created + */ +ddekit_thread_t *ddekit_interrupt_attach(int irq, int shared, + void(*thread_init)(void *), + void(*handler)(void *), void *priv); + +/** + * Detach from a previously attached interrupt. + * + * \param irq IRQ number + */ +void ddekit_interrupt_detach(int irq); + +/** + * Block interrupt. + * + * \param irq IRQ number to block + */ +void ddekit_interrupt_disable(int irq); + +/** + * Enable interrupt. + * + * \param irq IRQ number to block + */ +void ddekit_interrupt_enable(int irq); + +#endif -- cgit v1.2.3