Kernel - Slight reworks to timer code
[tpg/acess2.git] / Kernel / include / acess.h
index df36060..2cd2cff 100644 (file)
@@ -88,6 +88,8 @@ extern const char gsGitHash[];
  */
 //! Clone the entire process
 #define CLONE_VM       0x10
+//! Don't copy user pages
+#define CLONE_NOUSER   0x20
 /**
  * \}
  */
@@ -415,12 +417,14 @@ extern int        strpos(const char *Str, char Ch);
 extern int     strpos8(const char *str, Uint32 search);
 extern void    itoa(char *buf, Uint64 num, int base, int minLength, char pad);
 extern int     atoi(const char *string);
+extern int     ParseInt(const char *string, int *Val);
 extern int     ReadUTF8(const Uint8 *str, Uint32 *Val);
 extern int     WriteUTF8(Uint8 *str, Uint32 Val);
 extern int     ModUtil_SetIdent(char *Dest, const char *Value);
 extern int     ModUtil_LookupString(const char **Array, const char *Needle);
 
 extern Uint8   ByteSum(const void *Ptr, int Size);
+extern int     Hex(char *Dest, size_t Size, const Uint8 *SourceData);
 extern int     UnHex(Uint8 *Dest, size_t DestSize, const char *SourceString);
 /**
  * \}
@@ -443,6 +447,10 @@ extern int CallWithArgArray(void *Function, int NArgs, Uint *Args);
 
 // --- Heap ---
 #include <heap.h>
+/**
+ * \brief Magic heap allocation function
+ */
+extern void    *alloca(size_t Size);
 
 // --- Modules ---
 /**
@@ -463,30 +471,15 @@ extern int        Module_LoadFile(const char *Path, const char *ArgStr);
 /**
  * \brief Create a timestamp from a time
  */
-extern Sint64  timestamp(int sec, int mins, int hrs, int day, int month, int year);
-/**
- * \brief Gets the current timestamp (miliseconds since Midnight 1st January 1970)
- */
-extern Sint64  now(void);
-/**
- * \brief Timer callback function
- */
-typedef void (tTimerCallback)(void *);
-/**
- * \brief Creates a one-shot timer
- * \param Delta        Period of the timer
- * \param Callback     Function to call each time
- * \param Argument     Argument to pass to the callback
- */
-extern int     Time_CreateTimer(int Delta, tTimerCallback *Callback, void *Argument);
+extern tTime   timestamp(int sec, int mins, int hrs, int day, int month, int year);
 /**
- * \brief Removed an active timer
+ * \brief Extract the date/time from a timestamp
  */
-extern void    Time_RemoveTimer(int ID);
+extern void    format_date(tTime TS, int *year, int *month, int *day, int *hrs, int *mins, int *sec, int *ms);
 /**
- * \brief Wait for a period of milliseconds
+ * \brief Gets the current timestamp (miliseconds since Midnight 1st January 1970)
  */
-extern void    Time_Delay(int Delay);
+extern Sint64  now(void);
 /**
  * \}
  */
@@ -498,6 +491,8 @@ extern void Time_Delay(int Delay);
  */
 extern int     Proc_SpawnWorker(void (*Fcn)(void*), void *Data);
 extern int     Proc_Spawn(const char *Path);
+extern int     Proc_SysSpawn(const char *Binary, const char **ArgV, const char **EnvP, int nFD, int *FDs);
+extern int     Proc_Execve(const char *File, const char **ArgV, const char **EnvP, int DataSize);
 extern void    Threads_Exit(int TID, int Status);
 extern void    Threads_Yield(void);
 extern void    Threads_Sleep(void);

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