X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Fcommon.h;h=7bf59382f9080622709eae0a8cf3dcaa499290c7;hb=49337730d17bb690fef6fc4429b25b84e6a44479;hp=f199ef591295bf039ce0868b445ef0c447a18047;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/include/common.h b/Kernel/include/common.h index f199ef59..7bf59382 100644 --- a/Kernel/include/common.h +++ b/Kernel/include/common.h @@ -47,9 +47,15 @@ extern void Debug_Enter(char *FuncName, char *ArgTypes, ...); extern void Debug_Log(char *FuncName, char *Fmt, ...); extern void Debug_Leave(char *FuncName, char RetType, ...); extern void Debug_HexDump(char *Header, void *Data, Uint Length); -#define ENTER(_types...) Debug_Enter((char*)__func__, _types) -#define LOG(_fmt...) Debug_Log((char*)__func__, _fmt) -#define LEAVE(_t...) Debug_Leave((char*)__func__, _t) +#if DEBUG +# define ENTER(_types...) Debug_Enter((char*)__func__, _types) +# define LOG(_fmt...) Debug_Log((char*)__func__, _fmt) +# define LEAVE(_t...) Debug_Leave((char*)__func__, _t) +#else +# define ENTER(...) +# define LOG(...) +# define LEAVE(...) +#endif // --- IO --- extern void outb(Uint16 Port, Uint8 Data); extern void outw(Uint16 Port, Uint16 Data); @@ -82,27 +88,35 @@ extern char *strcpy(char *__dest, char *__src); extern int strcmp(char *__dest, char *__src); extern int strncmp(char *Str1, char *Str2, size_t num); extern int strucmp(char *Str1, char *Str2); +extern char *strdup(char *__str); extern int strpos(char *Str, char Ch); extern int strpos8(char *str, Uint32 search); extern void itoa(char *buf, Uint num, int base, int minLength, char pad); extern int ReadUTF8(Uint8 *str, Uint32 *Val); +extern int WriteUTF8(Uint8 *str, Uint32 Val); +extern Uint rand(); // --- Heap --- extern void *malloc(size_t size); extern void *realloc(void *ptr, size_t size); extern void free(void *Ptr); +extern int IsHeap(void *Ptr); // --- Modules --- extern int Module_LoadMem(void *Buffer, Uint Length, char *ArgStr); extern int Module_LoadFile(char *Path, char *ArgStr); // --- Timing --- extern Sint64 timestamp(int sec, int mins, int hrs, int day, int month, int year); extern Sint64 now(); +extern int Time_CreateTimer(int Delta, void *Callback, void *Argument); +extern void Time_RemoveTimer(int ID); +extern void Time_Delay(int Delay); // --- Threads --- extern int Proc_Spawn(char *Path); -extern void Proc_Exit(); -extern void Proc_Yield(); -extern int Proc_GetCfg(int Index); -extern int Proc_GetUID(); -extern int Proc_GetGID(); +extern void Threads_Exit(); +extern void Threads_Yield(); +extern void Threads_Sleep(); +extern int Threads_GetCfg(int Index); +extern int Threads_GetUID(); +extern int Threads_GetGID(); extern int SpawnTask(tThreadFunction Function, void *Arg); #include