summaryrefslogtreecommitdiff
path: root/src/open.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/open.c')
-rw-r--r--src/open.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/open.c b/src/open.c
new file mode 100644
index 0000000..842955a
--- /dev/null
+++ b/src/open.c
@@ -0,0 +1,25 @@
+#include <sys/types.h>
+#include <fcntl.h>
+#include "open.h"
+
+/**
+ * @file open.c
+ * @author djb
+ * @ref qmail
+ * @brief open a file
+ */
+
+int open_append(const char *fn)
+{ return open(fn,O_WRONLY | O_NDELAY | O_APPEND | O_CREAT,0600); }
+
+int open_excl(const char *fn)
+{ return open(fn,O_WRONLY | O_EXCL | O_CREAT,0644); }
+
+int open_read(const char *fn)
+{ return open(fn,O_RDONLY | O_NDELAY); }
+
+int open_trunc(const char *fn)
+{ return open(fn,O_WRONLY | O_NDELAY | O_TRUNC | O_CREAT,0644); }
+
+int open_write(const char *fn)
+{ return open(fn,O_WRONLY | O_NDELAY); }