Manpages

NOMBRE

mkfifo − construye un fichero especial FIFO (una tubería con nombre)

SINOPSIS

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

int mkfifo ( const char *camino, modo_t modo );

DESCRIPCIÓN

mkfifo construye un fichero especial FIFO con el nombre camino. modo especifica los permisos del FIFO. Son modificados por la máscara umask del proceso de la forma habitual: los permisos del fichero recién creado son (modo & ~umask).

Un fichero especial FIFO es similar a una interconexión o tubería, excepto en que se crea de una forma distinta. En vez de ser un canal de comunicaciones anónimo, un fichero especial FIFO se mete en el sistema de ficheros mediante una llamada a mkfifo.

Una vez que Ud. ha creado un fichero especial FIFO de esta forma, cualquier proceso puede abrirlo para lectura o escritura, de la misma manera que con un fichero normal. Sin embargo, tiene que ser abierto en los dos extremos simultáneamente antes de que se pueda proceder a cualquier operación de entrada o salida. Abrir un FIFO para lectura normalmente produce un bloqueo hasta que algún otro proceso abre el mismo FIFO para escritura, y viceversa. Vea fifo(4) para el manejo no bloqueante de los ficheros especiales FIFO.

VALOR DEVUELTO

El valor de retorno normal, si todo va bien, de mkfifo, es 0. En caso de error, se devuelve −1 (en este caso, errno toma un valor apropiado).

ERRORES

EACCES

Uno de los directorios en camino no tiene permiso de paso (ejecución).

EEXIST

camino ya existe.

ENAMETOOLONG

O la longitud total de camino es mayor que PATH_MAX, o un componente nombre de fichero individual tiene una longitud superior a NAME_MAX. En el sistema GNU, no hay un límite impuesto a la longitud total del nombre de un fichero, pero algunos sistemas de ficheros pueden poner límites en la longitud de un componente.

ENOENT

Un componente directorio en camino no existe o es un enlace simbólico colgante.

ENOSPC

El directorio o sistema de ficheros no tiene sitio para el nuevo fichero.

ENOTDIR

Un componente usado como directorio en camino no es, de hecho, un directorio.

EROFS

camino se refiere a un sistema de ficheros de lectura exclusiva.

CONFORME A

POSIX.1

VÉASE TAMBIÉN

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