Rob Landley | 7aa651a | 2012-11-13 17:14:08 -0600 | [diff] [blame] | 1 | /* mkfifo.c - Create FIFOs (named pipes) |
Georgi Chorbadzhiyski | f656fc9 | 2012-03-06 20:58:13 -0600 | [diff] [blame] | 2 | * |
3 | * Copyright 2012 Georgi Chorbadzhiyski <georgi@unixsol.org> | ||||
4 | * | ||||
Rob Landley | f91b7c8 | 2012-08-25 18:08:51 -0500 | [diff] [blame] | 5 | * See http://opengroup.org/onlinepubs/9699919799/utilities/mkfifo.html |
Georgi Chorbadzhiyski | f656fc9 | 2012-03-06 20:58:13 -0600 | [diff] [blame] | 6 | |
Paul Barker | 1dd3704 | 2015-04-04 11:58:06 -0500 | [diff] [blame] | 7 | USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_USR|TOYFLAG_BIN)) |
Georgi Chorbadzhiyski | f656fc9 | 2012-03-06 20:58:13 -0600 | [diff] [blame] | 8 | |
9 | config MKFIFO | ||||
Rob Landley | 7aa651a | 2012-11-13 17:14:08 -0600 | [diff] [blame] | 10 | bool "mkfifo" |
11 | default y | ||||
12 | help | ||||
13 | usage: mkfifo [fifo_name...] | ||||
Georgi Chorbadzhiyski | f656fc9 | 2012-03-06 20:58:13 -0600 | [diff] [blame] | 14 | |
Rob Landley | 7aa651a | 2012-11-13 17:14:08 -0600 | [diff] [blame] | 15 | Create FIFOs (named pipes). |
Georgi Chorbadzhiyski | f656fc9 | 2012-03-06 20:58:13 -0600 | [diff] [blame] | 16 | */ |
17 | |||||
Rob Landley | c0e56ed | 2012-10-08 00:02:30 -0500 | [diff] [blame] | 18 | #define FOR_mkfifo |
Georgi Chorbadzhiyski | f656fc9 | 2012-03-06 20:58:13 -0600 | [diff] [blame] | 19 | #include "toys.h" |
20 | |||||
Rob Landley | c0e56ed | 2012-10-08 00:02:30 -0500 | [diff] [blame] | 21 | GLOBALS( |
Rob Landley | 7aa651a | 2012-11-13 17:14:08 -0600 | [diff] [blame] | 22 | char *m_string; |
23 | mode_t mode; | ||||
Rob Landley | e430db2 | 2012-03-06 21:19:57 -0600 | [diff] [blame] | 24 | ) |
25 | |||||
Georgi Chorbadzhiyski | f656fc9 | 2012-03-06 20:58:13 -0600 | [diff] [blame] | 26 | void mkfifo_main(void) |
27 | { | ||||
Rob Landley | 7aa651a | 2012-11-13 17:14:08 -0600 | [diff] [blame] | 28 | char **s; |
Rob Landley | e430db2 | 2012-03-06 21:19:57 -0600 | [diff] [blame] | 29 | |
Rob Landley | 7aa651a | 2012-11-13 17:14:08 -0600 | [diff] [blame] | 30 | TT.mode = 0666; |
Felix Janda | d0d0f40 | 2012-12-27 17:52:14 +0100 | [diff] [blame] | 31 | if (toys.optflags & FLAG_m) TT.mode = string_to_mode(TT.m_string, 0); |
Rob Landley | e430db2 | 2012-03-06 21:19:57 -0600 | [diff] [blame] | 32 | |
Rob Landley | 662a267 | 2013-01-02 02:00:35 -0600 | [diff] [blame] | 33 | for (s = toys.optargs; *s; s++) |
34 | if (mknod(*s, S_IFIFO | TT.mode, 0) < 0) perror_msg("%s", *s); | ||||
Georgi Chorbadzhiyski | f656fc9 | 2012-03-06 20:58:13 -0600 | [diff] [blame] | 35 | } |