changeset 530:6afff0596646

Add mkfifo.
author Georgi Chorbadzhiyski <gf@unixsol.org>
date Tue, 06 Mar 2012 20:58:13 -0600
parents b93517f238d1
children 6fedb88874a4
files toys/mkfifo.c
diffstat 1 files changed, 34 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toys/mkfifo.c	Tue Mar 06 20:58:13 2012 -0600
@@ -0,0 +1,34 @@
+/* vi: set sw=4 ts=4:
+ *
+ * mkfifo.c - Create FIFOs (named pipes)
+ *
+ * Copyright 2012 Georgi Chorbadzhiyski <georgi@unixsol.org>
+ *
+ * See http://pubs.opengroup.org/onlinepubs/009695399/utilities/mkfifo.html
+ *
+ * TODO: Add -m
+
+USE_MKFIFO(NEWTOY(mkfifo, "<1", TOYFLAG_BIN))
+
+config MKFIFO
+	bool "mkfifo"
+	default y
+	help
+	  usage: mkfifo [fifo_name...]
+	  Create FIFOs (named pipes).
+
+*/
+
+#include "toys.h"
+
+void mkfifo_main(void)
+{
+	char **s;
+	mode_t mode = 0666;
+	for (s = toys.optargs; *s; s++) {
+		if (mknod(*s, S_IFIFO | mode, 0) < 0) {
+			fprintf(stderr, "mkfifo: cannot create fifo `%s': %s\n", *s, strerror(errno));
+			toys.exitval = 1;
+		}
+	}
+}