X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Facess.h;h=efa487ca78dd117994c7314c789525bbff0efe0c;hb=5dedb7c02fe26f7a2ac05203af7d22dc01932ab7;hp=a87aaec179f44b9b6548203028a25832a7c6a9b3;hpb=56b770130dc830c6a9dccb6c50e6442a8bdb0b6c;p=tpg%2Facess2.git diff --git a/Kernel/include/acess.h b/Kernel/include/acess.h index a87aaec1..efa487ca 100644 --- a/Kernel/include/acess.h +++ b/Kernel/include/acess.h @@ -8,11 +8,14 @@ #define NULL ((void*)0) #define PACKED __attribute__ ((packed)) +#include #include #include #include "errno.h" // --- Types --- +typedef int tPID; +typedef int tTID; typedef Uint tUID; typedef Uint tGID; typedef Sint64 tTimestamp; @@ -27,7 +30,7 @@ typedef Sint64 tTimestamp; #define STR(x) #x #define EXPAND_STR(x) STR(x) -#define VER3(major,minor,patch) ((((major)&0xFF)<<16)|(((minor)&0xFF)<<8)|((patch)&0xFF)) +#define VER2(major,minor) ((((major)&0xFF)<<8)|((minor)&0xFF)) /** * \} */ @@ -98,6 +101,15 @@ extern void System_Init(char *ArgString); // --- IRQs --- extern int IRQ_AddHandler(int Num, void (*Callback)(int)); +// --- Logging --- +extern void Log_KernelPanic(char *Ident, char *Message, ...); +extern void Log_Panic(char *Ident, char *Message, ...); +extern void Log_Error(char *Ident, char *Message, ...); +extern void Log_Warning(char *Ident, char *Message, ...); +extern void Log_Notice(char *Ident, char *Message, ...); +extern void Log_Log(char *Ident, char *Message, ...); +extern void Log_Debug(char *Ident, char *Message, ...); + // --- Debug --- /** * \name Debugging and Errors @@ -177,11 +189,11 @@ extern void MM_Deallocate(tVAddr VAddr); */ extern int MM_Map(tVAddr VAddr, tPAddr PAddr); /** - * \brief Get the physical address of \a VAddr - * \param VAddr Address of the page to get the physical address of - * \return Physical page mapped at \a VAddr + * \brief Get the physical address of \a Addr + * \param Addr Address of the page to get the physical address of + * \return Physical page mapped at \a Addr */ -extern tPAddr MM_GetPhysAddr(tVAddr VAddr); +extern tPAddr MM_GetPhysAddr(tVAddr Addr); /** * \brief Checks is a memory range is user accessable * \param VAddr Base address to check @@ -257,11 +269,11 @@ extern void MM_DerefPhys(tPAddr PAddr); * \name Memory Manipulation * \{ */ -extern int memcmp(const void *m1, const void *m2, Uint count); -extern void *memcpy(void *dest, const void *src, Uint count); -extern void *memcpyd(void *dest, const void *src, Uint count); -extern void *memset(void *dest, int val, Uint count); -extern void *memsetd(void *dest, Uint val, Uint count); +extern int memcmp(const void *m1, const void *m2, size_t count); +extern void *memcpy(void *dest, const void *src, size_t count); +extern void *memcpyd(void *dest, const void *src, size_t count); +extern void *memset(void *dest, int val, size_t count); +extern void *memsetd(void *dest, Uint32 val, size_t count); /** * \} */ @@ -293,8 +305,11 @@ extern Uint32 BigEndian32(Uint32 Val); * \name Strings * \{ */ +extern int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args); +extern int sprintf(char *__s, const char *__format, ...); extern Uint strlen(const char *Str); extern char *strcpy(char *__dest, const char *__src); +extern char *strncpy(char *__dest, const char *__src, size_t max); extern int strcmp(const char *__str1, const char *__str2); extern int strncmp(const char *Str1, const char *Str2, size_t num); extern int strucmp(const char *Str1, const char *Str2); @@ -302,9 +317,11 @@ extern char *strdup(const char *Str); extern int strpos(const char *Str, char Ch); extern int strpos8(const char *str, Uint32 search); extern void itoa(char *buf, Uint num, int base, int minLength, char pad); +extern int atoi(const char *string); extern int ReadUTF8(Uint8 *str, Uint32 *Val); extern int WriteUTF8(Uint8 *str, Uint32 Val); -extern int LookupString(char **Array, char *Needle); +extern int ModUtil_SetIdent(char *Dest, char *Value); +extern int ModUtil_LookupString(char **Array, char *Needle); extern Uint8 ByteSum(void *Ptr, int Size); /** * \} @@ -364,6 +381,8 @@ extern int Proc_Spawn(char *Path); extern void Threads_Exit(); extern void Threads_Yield(); extern void Threads_Sleep(); +extern tPID Threads_GetPID(); +extern tTID Threads_GetTID(); extern tUID Threads_GetUID(); extern tGID Threads_GetGID(); extern int SpawnTask(tThreadFunction Function, void *Arg);