Usermode/libc,libposix - Fixing errors in headers
[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 extern off_t    lseek(int fd, off_t offset, int whence);
43
44 extern int      fork(void);
45 extern int      execv(const char *b, char *v[]);
46
47 extern int      dup2(int oldfd, int newfd);
48
49 extern int      chown(const char *path, uid_t owner, gid_t group);
50
51 #define S_ISUID 04000
52 #define S_ISGID 02000
53 #define S_ISVTX 01000
54 #define S_IRWXU 00700
55 #define S_IRUSR 00400
56 #define S_IWUSR 00300
57 #define S_IXUSR 00100
58 #define S_IRWXG 00070
59 #define S_IRGRP 00040
60 #define S_IWGRP 00020
61 #define S_IXGRP 00010
62 #define S_IRWXO 0007
63 #define S_IROTH 00004
64 #define S_IWOTH 00002
65 #define S_IXOTH 00001
66 extern int      chmod(const char *path, mode_t mode);
67
68 extern pid_t    setsid(void);
69
70 extern uid_t    getuid(void);
71 extern uid_t    geteuid(void);
72 extern pid_t    getpid(void);
73
74 // signal.h / sys/types.h
75 #define SIGWINCH        101
76 #define SIGTSTP         102
77 extern int kill(pid_t pid, int sig);
78
79 extern int chdir(const char *dir);
80
81 // Deprecated POSIX.1-2001
82 #define PASS_MAX        63
83 extern char *getpass(const char *prompt);
84
85 #endif
86

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