Misc fixes to libc, added ISADMA to core Makefile.cfg
[tpg/acess2.git] / Usermode / include / sys / types.h
index 03ee846..a1ed85b 100644 (file)
@@ -1,6 +1,8 @@
-
+/*
+ */
 #ifndef _SYS_TYPES_H
 #define _SYS_TYPES_H
+#include <stdint.h>
 
 typedef struct {
        int             st_dev;         //dev_t
@@ -25,4 +27,57 @@ typedef struct {
 #define                S_IFSOCK        0140000 /* socket */
 #define                S_IFIFO 0010000 /* fifo */
 
+#define FD_SETSIZE     128
+
+
+#define CLONE_VM       0x10
+
+/**
+ * \brief fd_set for select()
+ */
+typedef struct
+{
+       uint16_t        flags[FD_SETSIZE/16];
+}      fd_set;
+
+struct s_sysACL {
+       union {
+               struct {
+                       unsigned        group: 1;
+                       unsigned        id:     31;
+               };
+               uint32_t        object;
+       };
+       union {
+               struct {
+                       unsigned        invert: 1;
+                       unsigned        perms:  31;
+               };
+               uint32_t        rawperms;
+       };
+};
+struct s_sysFInfo {
+       unsigned int    uid, gid;
+       unsigned int    flags;
+       uint64_t        size;
+       uint64_t        atime;
+       uint64_t        mtime;
+       uint64_t        ctime;
+        int    numacls;
+       struct s_sysACL acls[];
+};
+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) { fdsetp->flags[fd/16]&=~(1<<(fd%16)); }
+static inline void FD_SET(int fd, fd_set *fdsetp) { fdsetp->flags[fd/16]|=1<<(fd%16); }
+static inline int FD_ISSET(int fd, fd_set *fdsetp) { return fdsetp->flags[fd/16]&(1<<(fd%16)); }
+
+typedef uint32_t       pid_t;
+typedef uint32_t       tid_t;
+typedef  int64_t       time_t;
+
+typedef unsigned int   uint;
+
 #endif

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