Usermode - POSIX and C conformance changes
[tpg/acess2.git] / Usermode / Libraries / libposix.so_src / include_exp / unistd.h
1 /*
2  * Acess2 POSIX Emulation Layer
3  * - By John Hodge
4  * 
5  * unistd.h
6  * - 
7  */
8 #ifndef _UNISTD_H_
9 #define _UNISTD_H_
10
11 #include <stddef.h>
12
13 //! \brief flags for open(2)
14 #define O_WRONLY        0x01
15 #define O_RDONLY        0x02
16 #define O_RDWR          0x03
17 #define O_APPEND        0x04
18 #define O_CREAT         0x08
19 #define O_DIRECTORY     0x10
20 #define O_ASYNC         0x20
21 #define O_TRUNC         0x40
22 #define O_NOFOLLOW      0x80    // don't follow symlinks
23 #define O_EXCL          0x100
24 #define O_NOCTTY        0       // unsupported
25 #define O_NONBLOCK      0x200
26 #define O_SYNC  0       // not supported
27
28 #define STDIN_FILENO    0
29 #define STDOUT_FILENO   1
30 #define STDERR_FILENO   2
31
32 typedef signed long     ssize_t;
33
34 #include "sys/stat.h"   // mode_t
35
36 extern int      open(const char *path, int flags, ...);
37 extern int      creat(const char *path, mode_t mode);
38 extern int      close(int fd);
39
40 extern ssize_t  write(int fd, const void *buf, size_t count);
41 extern ssize_t  read(int fd, void *buf, size_t count);
42
43 extern int      fork(void);
44 extern int      execv(const char *b, char *v[]);
45
46 extern int      dup2(int oldfd, int newfd);
47
48 extern int      chown(const char *path, uid_t owner, gid_t group);
49
50 #define S_ISUID 04000
51 #define S_ISGID 02000
52 #define S_ISVTX 01000
53 #define S_IRWXU 00700
54 #define S_IRUSR 00400
55 #define S_IWUSR 00300
56 #define S_IXUSR 00100
57 #define S_IRWXG 00070
58 #define S_IRGRP 00040
59 #define S_IWGRP 00020
60 #define S_IXGRP 00010
61 #define S_IRWXO 0007
62 #define S_IROTH 00004
63 #define S_IWOTH 00002
64 #define S_IXOTH 00001
65 extern int      chmod(const char *path, mode_t mode);
66
67 extern uid_t    getuid(void);
68 extern uid_t    geteuid(void);
69 extern pid_t    getpid(void);
70
71 // signal.h / sys/types.h
72 #define SIGWINCH        101
73 #define SIGTSTP         102
74 extern int kill(pid_t pid, int sig);
75
76
77 #endif
78

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