X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2Finclude%2Fsys%2Ftypes.h;h=4e38de37ada12fe90a513fbba79f904c1fe2318f;hb=dfe6387e68caf8ffd75f7814131ca2af3be53eb1;hp=acf6b7e5f0cbda2a414167a9eb23484f33aea93d;hpb=d9ebb5f5afe298b388e45e8cd421ea715749fc88;p=tpg%2Facess2.git diff --git a/Usermode/include/sys/types.h b/Usermode/include/sys/types.h index acf6b7e5..4e38de37 100644 --- a/Usermode/include/sys/types.h +++ b/Usermode/include/sys/types.h @@ -2,7 +2,8 @@ */ #ifndef _SYS_TYPES_H #define _SYS_TYPES_H -//#include + +#include "../acess/intdefs.h" typedef struct stat t_fstat; @@ -13,7 +14,8 @@ typedef struct stat t_fstat; typedef unsigned long pid_t; typedef unsigned long tid_t; -typedef signed long long time_t; +typedef signed long long int time_t; +typedef long long int off_t; typedef unsigned int uint; @@ -28,8 +30,8 @@ typedef struct } fd_set; struct s_sysACL { - unsigned long object; //!< Group or user (bit 31 determines) - unsigned long perms; //!< Inverted by bit 31 + unsigned long object; /*!< Group or user (bit 31 determines) */ + unsigned long perms; /*!< Inverted by bit 31 */ }; struct s_sysFInfo { unsigned int mount; @@ -43,24 +45,19 @@ struct s_sysFInfo { time_t ctime; int numacls; struct s_sysACL acls[]; -}; +} __attribute__((packed)); typedef struct s_sysFInfo t_sysFInfo; typedef struct s_sysACL t_sysACL; -static inline void FD_ZERO(fd_set *fdsetp) {int i=FD_SETSIZE/16;while(i--)fdsetp->flags[i]=0; } -static inline void FD_CLR(int fd, fd_set *fdsetp) { - if(fd < 0 || fd > FD_SETSIZE) return; - fdsetp->flags[fd/16] &= (fd_set_ent_t) ((~1 << (fd%16))) & 0xFFFF; -} -static inline void FD_SET(int fd, fd_set *fdsetp) { - if(fd < 0 || fd > FD_SETSIZE) return; - fdsetp->flags[fd/16] |= (fd_set_ent_t) (1 << (fd%16)); -} -static inline int FD_ISSET(int fd, fd_set *fdsetp) { - if(fd < 0 || fd > FD_SETSIZE) return 0; - return !!( fdsetp->flags[fd/16] & (1<<(fd%16)) ); -} +extern void FD_ZERO(fd_set *fdsetp); +extern void FD_CLR(int fd, fd_set *fdsetp); +extern void FD_SET(int fd, fd_set *fdsetp); +extern int FD_ISSET(int fd, fd_set *fdsetp); + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; -#include +#include "../sys/stat.h" #endif