* \{
* \todo Move to mm_virt.h
*/
-#define MM_PFLAG_RO 0x01 // Writes disallowed
-#define MM_PFLAG_EXEC 0x02 // Allow execution
-#define MM_PFLAG_NOPAGE 0x04 // Prevent from being paged out
-#define MM_PFLAG_COW 0x08 // Copy-On-Write
-#define MM_PFLAG_KERNEL 0x10 // Kernel-Only (Ring0)
+#define MM_PFLAG_RO 0x01 //!< Writes disallowed
+#define MM_PFLAG_EXEC 0x02 //!< Allow execution
+#define MM_PFLAG_NOPAGE 0x04 //!< Prevent from being paged out
+#define MM_PFLAG_COW 0x08 //!< Copy-On-Write
+#define MM_PFLAG_KERNEL 0x10 //!< Kernel-Only (Ring0)
/**
* \}
*/
* \name IRQ hander registration
* \{
*/
+//! Register a callback for when an IRQ is raised
extern int IRQ_AddHandler(int Num, void (*Callback)(int, void*), void *Ptr);
+//! Remove a previously registered IRQ handler
extern void IRQ_RemHandler(int Handle);
/**
* \}
#include <stdarg.h>
/**
- * \name Strings
+ * \name String Manipulation
* \{
*/
// - stdio.h in userland
extern signed long long strtoll(const char *str, char **end, int base);
extern signed long strtol(const char *str, char **end, int base);
+//! \brief String comparison (case-insensitive)
extern int strucmp(const char *Str1, const char *Str2);
extern int strpos(const char *Str, char Ch);
extern int strpos8(const char *str, Uint32 search);
* user.
* - Drivers for specific types of hardware must behave in the specific
* way described here.
+ * - \ref library "Library Functions"
+ * - Kernel's version of libc and other helper functions
*
* \page drivers Device Drivers
*