X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Kernel%2Finclude%2Facess.h;h=efa487ca78dd117994c7314c789525bbff0efe0c;hb=5dedb7c02fe26f7a2ac05203af7d22dc01932ab7;hp=efc925eb5d2969c01230eafc270ae96a1d0b5acc;hpb=2c062acbdcb884fd1c93b9bca0fab3a3c18e105c;p=tpg%2Facess2.git diff --git a/Kernel/include/acess.h b/Kernel/include/acess.h index efc925eb..efa487ca 100644 --- a/Kernel/include/acess.h +++ b/Kernel/include/acess.h @@ -8,8 +8,17 @@ #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; // --- Helper Macros --- /** @@ -20,6 +29,8 @@ #define EXPAND_CONCAT(x,y) CONCAT(x,y) #define STR(x) #x #define EXPAND_STR(x) STR(x) + +#define VER2(major,minor) ((((major)&0xFF)<<8)|((minor)&0xFF)) /** * \} */ @@ -90,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 @@ -169,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 @@ -249,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); /** * \} */ @@ -285,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); @@ -294,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); /** * \} @@ -356,8 +381,10 @@ extern int Proc_Spawn(char *Path); extern void Threads_Exit(); extern void Threads_Yield(); extern void Threads_Sleep(); -extern int Threads_GetUID(); -extern int Threads_GetGID(); +extern tPID Threads_GetPID(); +extern tTID Threads_GetTID(); +extern tUID Threads_GetUID(); +extern tGID Threads_GetGID(); extern int SpawnTask(tThreadFunction Function, void *Arg); extern Uint *Threads_GetCfgPtr(int Id); /**