mkfifo

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
MKFIFO(3)		  Linux Programmer’s Manual		    MKFIFO(3)



NAME
       mkfifo - make a FIFO special file (a named pipe)

SYNOPSIS
       #include <sys/types.h>
       #include <sys/stat.h>

       int mkfifo(const char *pathname, mode_t mode);

DESCRIPTION
       mkfifo  makes  a FIFO special file with name pathname.  mode specifies
       the FIFO’s permissions. It is modified by the process’s umask  in  the
       usual way: the permissions of the created file are (mode & ~umask).

       A FIFO special file is similar to a pipe, except that it is created in
       a different way.	 Instead of being an anonymous	communications	chan-
       nel,  a	FIFO  special file is entered into the file system by calling
       mkfifo.

       Once you have created a FIFO special file in this way, any process can
       open  it	 for reading or writing, in the same way as an ordinary file.
       However, it has to be open at both ends simultaneously before you  can
       proceed	to  do	any input or output operations on it.  Opening a FIFO
       for reading normally blocks until some other process  opens  the	 same
       FIFO  for  writing,  and vice versa. See fifo(4) for non-blocking han-
       dling of FIFO special files.

RETURN VALUE
       The normal, successful return value from mkfifo is 0.  In the case  of
       an  error, -1 is returned (in which case, errno is set appropriately).

ERRORS
       EACCES One of the directories in pathname did not allow	search	(exe-
	      cute) permission.

       EEXIST pathname already exists.

       ENAMETOOLONG
	      Either  the  total length of pathname is greater than PATH_MAX,
	      or an individual file name component has a length greater	 than
	      NAME_MAX.	  In  the  GNU	system,	 there is no imposed limit on
	      overall file name length, but some file systems may place	 lim-
	      its on the length of a component.

       ENOENT A	 directory  component in pathname does not exist or is a dan-
	      gling symbolic link.

       ENOSPC The directory or filesystem has no room for the new file.

       ENOTDIR
	      A component used as a directory in pathname is not, in fact,  a
	      directory.

       EROFS  pathname refers to a read-only filesystem.

CONFORMING TO
       POSIX.1

SEE ALSO
       mkfifo(1),  read(2),  write(2),	open(2), close(2), stat(2), umask(2),
       fifo(4)



Linux 1.2.13			  1995-09-03			    MKFIFO(3)