X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=gnu%2Fmkfifoat.c;fp=gnu%2Fmkfifoat.c;h=814351dc967d289f52569be8decc29275982b748;hp=0000000000000000000000000000000000000000;hb=ee168310ec4227174ace489bf5f81f8c2f91cde0;hpb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6 diff --git a/gnu/mkfifoat.c b/gnu/mkfifoat.c new file mode 100644 index 0000000..814351d --- /dev/null +++ b/gnu/mkfifoat.c @@ -0,0 +1,57 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Create a named fifo relative to an open directory. + Copyright (C) 2009-2010 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* written by Eric Blake */ + +#include + +#include + +#if !HAVE_MKFIFO + +# include + +/* Mingw lacks mkfifo, so this wrapper is trivial. */ + +int +mkfifoat (int fd _GL_UNUSED, char const *path _GL_UNUSED, + mode_t mode _GL_UNUSED) +{ + errno = ENOSYS; + return -1; +} + +#else /* HAVE_MKFIFO */ + +/* Create a named fifo FILE relative to directory FD, with access + permissions in MODE. If possible, do it without changing the + working directory. Otherwise, resort to using save_cwd/fchdir, + then mkfifo/restore_cwd. If either the save_cwd or the restore_cwd + fails, then give a diagnostic and exit nonzero. */ + +# define AT_FUNC_NAME mkfifoat +# define AT_FUNC_F1 mkfifo +# define AT_FUNC_POST_FILE_PARAM_DECLS , mode_t mode +# define AT_FUNC_POST_FILE_ARGS , mode +# include "at-func.c" +# undef AT_FUNC_NAME +# undef AT_FUNC_F1 +# undef AT_FUNC_POST_FILE_PARAM_DECLS +# undef AT_FUNC_POST_FILE_ARGS + +#endif /* HAVE_MKFIFO */