X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Facess.h;h=e673290a6a18cdcb09a29c2766282018cca1214f;hb=65e8f70ac79804f4c7519c4c0237642984e4c0b0;hp=25077ca476766d33a7dccaa1ffea1bd9903b933d;hpb=880dd63bfcba522dab0a75cc63fdec1d04ff8c89;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/acess.h b/KernelLand/Kernel/include/acess.h index 25077ca4..e673290a 100644 --- a/KernelLand/Kernel/include/acess.h +++ b/KernelLand/Kernel/include/acess.h @@ -38,6 +38,7 @@ // --- Types --- typedef Uint32 tPID; //!< Process ID type +typedef Uint32 tPGID; //!< Process Group ID type typedef Uint32 tTID; //!< Thread ID Type typedef Uint32 tUID; //!< User ID Type typedef Uint32 tGID; //!< Group ID Type @@ -93,6 +94,8 @@ extern const char gsGitHash[]; #define CLONE_VM 0x10 //! Don't copy user pages #define CLONE_NOUSER 0x20 +//! Inherit the parent's PGID +#define CLONE_PGID 0x40 /** * \} */ @@ -275,12 +278,12 @@ extern Uint MM_GetFlags(tVAddr VAddr); * \return Virtual address of page in memory * \note There is only a limited ammount of slots avaliable */ -extern tVAddr MM_MapTemp(tPAddr PAddr); +extern void *MM_MapTemp(tPAddr PAddr); /** * \brief Free a temporarily mapped page * \param VAddr Allocate virtual addres of page */ -extern void MM_FreeTemp(tVAddr VAddr); +extern void MM_FreeTemp(void *Ptr); /** * \brief Map a physcal address range into the virtual address space * \param PAddr Physical address to map in @@ -383,16 +386,21 @@ extern int CheckMem(const void *Mem, int Num); #ifdef __BIG_ENDIAN__ #define LittleEndian16(_val) SwapEndian16(_val) #define LittleEndian32(_val) SwapEndian32(_val) +#define LittleEndian64(_val) SwapEndian32(_val) #define BigEndian16(_val) (_val) #define BigEndian32(_val) (_val) +#define BigEndian64(_val) (_val) #else #define LittleEndian16(_val) (_val) #define LittleEndian32(_val) (_val) +#define LittleEndian64(_val) (_val) #define BigEndian16(_val) SwapEndian16(_val) #define BigEndian32(_val) SwapEndian32(_val) +#define BigEndian64(_val) SwapEndian64(_val) #endif extern Uint16 SwapEndian16(Uint16 Val); extern Uint32 SwapEndian32(Uint32 Val); +extern Uint64 SwapEndian64(Uint64 Val); /** * \} */ @@ -501,6 +509,7 @@ extern void Threads_Exit(int TID, int Status); extern void Threads_Yield(void); extern void Threads_Sleep(void); extern int Threads_WakeTID(tTID Thread); +extern tPGID Threads_GetPGID(void); extern tPID Threads_GetPID(void); extern tTID Threads_GetTID(void); extern tUID Threads_GetUID(void);