Added Timer functions, DMA Driver and FDD driver
[tpg/acess2.git] / Kernel / include / common.h
index 827d8ff..7bf5938 100644 (file)
@@ -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,28 +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 <binary_ext.h>

UCC git Repository :: git.ucc.asn.au