92e279177714e16b8986f898bc3b4e6ae819169d
[tpg/acess2.git] / Usermode / include / sys / types.h
1 /*
2  */
3 #ifndef _SYS_TYPES_H
4 #define _SYS_TYPES_H
5 #include <stdint.h>
6
7 typedef struct {
8         int             st_dev;         //dev_t
9         int             st_ino;         //ino_t
10         int             st_mode;        //mode_t
11         unsigned int    st_nlink;
12         unsigned int    st_uid;
13         unsigned int    st_gid;
14         int             st_rdev;        //dev_t
15         unsigned int    st_size;
16         long    st_atime;       //time_t
17         long    st_mtime;
18         long    st_ctime;
19 } t_fstat;
20
21 #define S_IFMT          0170000 /* type of file */
22 #define         S_IFDIR 0040000 /* directory */
23 #define         S_IFCHR 0020000 /* character special */
24 #define         S_IFBLK 0060000 /* block special */
25 #define         S_IFREG 0100000 /* regular */
26 #define         S_IFLNK 0120000 /* symbolic link */
27 #define         S_IFSOCK        0140000 /* socket */
28 #define         S_IFIFO 0010000 /* fifo */
29
30 #define FD_SETSIZE      128
31
32 /**
33  * \brief fd_set for select()
34  */
35 typedef struct
36 {
37         uint16_t        flags[FD_SETSIZE/16];
38 }       fd_set;
39
40 static inline void FD_ZERO(fd_set *fdsetp) {int i=FD_SETSIZE/16;while(i--)fdsetp->flags[i]=0; }
41 static inline void FD_CLR(int fd, fd_set *fdsetp) { fdsetp->flags[fd/16]&=~(1<<(fd%16)); }
42 static inline void FD_SET(int fd, fd_set *fdsetp) { fdsetp->flags[fd/16]|=1<<(fd%16); }
43 static inline int FD_ISSET(int fd, fd_set *fdsetp) { return fdsetp->flags[fd/16]&(1<<(fd%16)); }
44
45 typedef uint32_t        pid_t;
46 typedef uint32_t        tid_t;
47 typedef  int64_t        time_t;
48
49 #endif

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