fix: corrected time conversion on alarm/sleep syscall
[lunaix-os.git] / lunaix-os / includes / lunaix / isrm.h
index 94b8de3cb6d83dfca2a41cc339ccb17a734f4d99..6dd4a6f09cb0f132a2d48a1cb2ae314b2d2802ff 100644 (file)
 #ifndef __LUNAIX_ISRM_H
 #define __LUNAIX_ISRM_H
 
 #ifndef __LUNAIX_ISRM_H
 #define __LUNAIX_ISRM_H
 
-#include <arch/i386/interrupts.h>
 #include <lunaix/types.h>
 #include <lunaix/types.h>
-
-#define IV_BASE 32
-#define IV_OS IV_BASE
-#define IV_EX 48
-#define IV_MAX 256
+#include <sys/interrupts.h>
 
 typedef void (*isr_cb)(const isr_param*);
 
 void
 isrm_init();
 
 
 typedef void (*isr_cb)(const isr_param*);
 
 void
 isrm_init();
 
+/**
+ * @brief Release a iv resource
+ *
+ * @param iv
+ */
 void
 isrm_ivfree(int iv);
 
 void
 isrm_ivfree(int iv);
 
+/**
+ * @brief Allocate an iv resource for os services
+ *
+ * @param iv
+ */
 int
 isrm_ivosalloc(isr_cb handler);
 
 int
 isrm_ivosalloc(isr_cb handler);
 
+/**
+ * @brief Allocate an iv resource for external events
+ *
+ * @param iv
+ */
 int
 isrm_ivexalloc(isr_cb handler);
 
 int
 isrm_ivexalloc(isr_cb handler);
 
+/**
+ * @brief Bind a given irq and associated handler to an iv
+ *
+ * @param iv iv allocated by system
+ */
 int
 isrm_bindirq(int irq, isr_cb irq_handler);
 
 int
 isrm_bindirq(int irq, isr_cb irq_handler);
 
+/**
+ * @brief Bind given iv with it's associated handler
+ *
+ * @param iv
+ * @param handler
+ */
 void
 isrm_bindiv(int iv, isr_cb handler);
 
 void
 isrm_bindiv(int iv, isr_cb handler);
 
+/**
+ * @brief Get the handler associated with the given iv
+ *
+ * @param iv
+ * @return isr_cb
+ */
 isr_cb
 isrm_get(int iv);
 
 isr_cb
 isrm_get(int iv);