X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Facess.h;h=f046a11ff67cfda9e619f89c8fe2145b98aa7ab1;hb=df1d534cfe822903fc38e1cc13c4b18941c91908;hp=4286f5ee7d1a65616a6cbd93ab85c6cece485870;hpb=9d85201216cb35e1b1e051b1d7cdc38eaa5befa4;p=tpg%2Facess2.git diff --git a/Kernel/include/acess.h b/Kernel/include/acess.h index 4286f5ee..f046a11f 100644 --- a/Kernel/include/acess.h +++ b/Kernel/include/acess.h @@ -20,16 +20,8 @@ typedef int tTID; typedef Uint tUID; typedef Uint tGID; typedef Sint64 tTimestamp; +typedef Sint64 tTime; typedef struct sShortSpinlock tShortSpinlock; -typedef struct sMutex tMutex; - -struct sMutex { - tShortSpinlock Protector; //!< Protector for the lock strucure - const char *Name; //!< Human-readable name - struct sThread *volatile Owner; //!< Owner of the lock (set upon getting the lock) - struct sThread *Waiting; //!< Waiting threads - struct sThread *LastWaiting; //!< Waiting threads -}; // --- Helper Macros --- /** @@ -315,10 +307,19 @@ extern int CheckMem(const void *Mem, int Num); * \name Endianness Swapping * \{ */ -extern Uint16 LittleEndian16(Uint16 Val); -extern Uint16 BigEndian16(Uint16 Val); -extern Uint32 LittleEndian32(Uint32 Val); -extern Uint32 BigEndian32(Uint32 Val); +#if __ENDIAN == BIG_ENDIAN +#define LittleEndian16(_val) SwapEndian16(_val) +#define LittleEndian32(_val) SwapEndian32(_val) +#define BigEndian16(_val) (_val) +#define BigEndian32(_val) (_val) +#else +#define LittleEndian16(_val) (_val) +#define LittleEndian32(_val) (_val) +#define BigEndian16(_val) SwapEndian16(_val) +#define BigEndian32(_val) SwapEndian32(_val) +#endif +extern Uint16 SwapEndian16(Uint16 Val); +extern Uint32 SwapEndian32(Uint32 Val); /** * \} */ @@ -336,8 +337,7 @@ 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); -//extern char *strdup(const char *Str); -#define strdup(Str) _strdup(_MODULE_NAME_"/"__FILE__, __LINE__, (Str)) +// strdup macro is defined in heap.h extern char *_strdup(const char *File, int Line, const char *Str); extern char **str_split(const char *__str, char __ch); extern char *strchr(const char *__s, int __c); @@ -427,9 +427,6 @@ extern tGID Threads_GetGID(void); extern int SpawnTask(tThreadFunction Function, void *Arg); extern Uint *Threads_GetCfgPtr(int Id); extern int Threads_SetName(const char *NewName); -extern int Mutex_Acquire(tMutex *Mutex); -extern void Mutex_Release(tMutex *Mutex); -extern int Mutex_IsLocked(tMutex *Mutex); /** * \} */ @@ -440,5 +437,6 @@ extern int DivUp(int num, int dem); #include #include #include +#include #endif