summaryrefslogtreecommitdiff
path: root/sys/include/ape/fcntl.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/include/ape/fcntl.h')
-rwxr-xr-xsys/include/ape/fcntl.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/sys/include/ape/fcntl.h b/sys/include/ape/fcntl.h
new file mode 100755
index 000000000..171a0ca4f
--- /dev/null
+++ b/sys/include/ape/fcntl.h
@@ -0,0 +1,59 @@
+#ifndef __FCNTL_H
+#define __FCNTL_H
+#ifndef _POSIX_SOURCE
+ This header file is not defined in pure ANSI
+#endif
+#pragma lib "/$M/lib/ape/libap.a"
+
+#include <sys/types.h>
+
+#define O_RDONLY 0
+#define O_WRONLY 1
+#define O_RDWR 2
+#define O_ACCMODE 0x003
+#define O_NONBLOCK 0x004
+#define O_APPEND 0x008
+#define O_CREAT 0x100
+#define O_TRUNC 0x200
+#define O_EXCL 0x400
+#define O_NOCTTY 0x800
+#define O_DSYNC 0x1000
+#define O_RSYNC 0x2000
+#define O_SYNC 0x4000
+
+#define F_DUPFD 0 /* Duplicate fildes */
+#define F_GETFD 1 /* Get fildes flags */
+#define F_SETFD 2 /* Set fildes flags */
+#define F_GETFL 3 /* Get file flags */
+#define F_SETFL 4 /* Set file flags */
+#define F_GETLK 5 /* Get file lock */
+#define F_SETLK 6 /* Set file lock */
+#define F_SETLKW 7 /* Set file lock and wait */
+
+#define FD_CLOEXEC 1
+
+struct flock {
+ short l_type;
+ short l_whence;
+ off_t l_start;
+ off_t l_len;
+ pid_t l_pid;
+};
+
+#define F_RDLCK 1 /* shared or read lock */
+#define F_UNLCK 2 /* unlock */
+#define F_WRLCK 3 /* exclusive or write lock */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int fcntl(int, int, ...);
+extern int open(const char *, int, ...);
+extern int creat(const char *, mode_t);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif