Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / Usermode / include / sys / types.h
1 /*
2  */
3 #ifndef _SYS_TYPES_H
4 #define _SYS_TYPES_H
5
6 #include <acess/intdefs.h>
7
8 typedef struct stat     t_fstat;
9
10 #define FD_SETSIZE      128
11
12
13 #define CLONE_VM        0x10
14
15 typedef unsigned long   pid_t;
16 typedef unsigned long   tid_t;
17 typedef signed long long int    time_t;
18 typedef long long int   off_t;
19
20 typedef unsigned int    uint;
21
22 typedef unsigned short  fd_set_ent_t;
23
24 /**
25  * \brief fd_set for select()
26  */
27 typedef struct
28 {
29         fd_set_ent_t    flags[FD_SETSIZE/16];
30 }       fd_set;
31
32 struct s_sysACL {
33         unsigned long   object; /*!< Group or user (bit 31 determines) */
34         unsigned long   perms;  /*!< Inverted by bit 31 */
35 };
36 struct s_sysFInfo {
37         unsigned int    mount;
38         unsigned long long      inode;
39         unsigned int    uid;
40         unsigned int    gid;
41         unsigned int    flags;
42         unsigned long long      size;
43         time_t  atime;
44         time_t  mtime;
45         time_t  ctime;
46          int    numacls;
47         struct s_sysACL acls[];
48 } __attribute__((packed));
49 typedef struct s_sysFInfo       t_sysFInfo;
50 typedef struct s_sysACL t_sysACL;
51
52 extern void     FD_ZERO(fd_set *fdsetp);
53 extern void     FD_CLR(int fd, fd_set *fdsetp);
54 extern void     FD_SET(int fd, fd_set *fdsetp);
55 extern int      FD_ISSET(int fd, fd_set *fdsetp);
56
57 typedef __uint8_t       u_int8_t;
58 typedef __uint16_t      u_int16_t;
59 typedef __uint32_t      u_int32_t;
60
61 #include "../sys/stat.h"
62
63 #endif

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