X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Facess.h;h=963cb9cf82e7943f0c272bd68ebf7fa96ee5375c;hb=990163cee7bc86c0c6123034234264abb7bbf53c;hp=c4a1c5f85fcf7285b931642ae9fcda29c50b8a12;hpb=24c1359ec88d5c00e1e8376b46856519f706a440;p=tpg%2Facess2.git diff --git a/Kernel/include/acess.h b/Kernel/include/acess.h index c4a1c5f8..963cb9cf 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; @@ -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 @@ -212,7 +224,7 @@ extern void MM_FreeTemp(tVAddr VAddr); * \param PAddr Physical address to map in * \param Number Number of pages to map */ -extern tVAddr MM_MapHWPage(tPAddr PAddr, Uint Number); +extern tVAddr MM_MapHWPages(tPAddr PAddr, Uint Number); /** * \brief Allocates DMA physical memory * \param Pages Number of pages required @@ -226,7 +238,7 @@ extern tVAddr MM_AllocDMA(int Pages, int MaxBits, tPAddr *PhysAddr); * \param VAddr Virtual address allocate by ::MM_MapHWPage or ::MM_AllocDMA * \param Number Number of pages to free */ -extern void MM_UnmapHWPage(tVAddr VAddr, Uint Number); +extern void MM_UnmapHWPages(tVAddr VAddr, Uint Number); /** * \brief Allocate a single physical page * \return Physical address allocated @@ -293,9 +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); @@ -303,6 +317,7 @@ 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 ModUtil_SetIdent(char *Dest, char *Value); @@ -313,6 +328,7 @@ extern Uint8 ByteSum(void *Ptr, int Size); */ extern Uint rand(); +extern int CallWithArgArray(void *Function, int NArgs, Uint *Args); // --- Heap --- /** @@ -366,10 +382,14 @@ extern int Proc_Spawn(char *Path); extern void Threads_Exit(); extern void Threads_Yield(); extern void Threads_Sleep(); +extern void Threads_WakeTID(tTID Thread); +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); +extern int Threads_SetName(char *NewName); /** * \} */