mkfifo(3) Library Functions Manual mkfifo(3) NUME mkfifo, mkfifoat - creeaza un fiier special FIFO (o conducta cu nume) BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include #include int mkfifo(const char *pathname, mode_t mode); #include /* Definirea constantelor AT_* */ #include int mkfifoat(int dirfd, const char *pathname, mode_t mode); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): mkfifoat(): Incepand cu glibc 2.10 _POSIX_C_SOURCE >= 200809L Inainte de glibc 2.10: _ATFILE_SOURCE DESCRIERE mkfifo() creeaza un fiier special FIFO cu numele nume-ruta. mode specifica permisiunile FIFO-ului. Acesta este modificat de umask al procesului in mod obinuit: permisiunile fiierului creat sunt (mode & ~umask). Un fiier special FIFO este similar cu o conducta, cu excepia faptului ca este creat intr-un mod diferit. In loc sa fie un canal de comunicare anonim, un fiier special FIFO este introdus in sistemul de fiiere prin apelarea mkfifo(). Dupa ce ai creat un fiier special FIFO in acest mod, orice proces il poate deschide pentru citire sau scriere, in acelai mod ca un fiier obinuit. Cu toate acestea, trebuie sa fie deschis simultan la ambele capete inainte de a putea efectua orice operaie de intrare sau ieire pe acesta. Deschiderea unui FIFO pentru citire se blocheaza in mod normal pana cand un alt proces deschide acelai FIFO pentru scriere i viceversa. Consultai fifo(7) pentru gestionarea fara blocare a fiierelor speciale FIFO. mkfifoat() Funcia mkfifoat() funcioneaza exact in acelai mod ca funcia mkfifo(), cu excepia diferenelor descrise aici. Daca numele de ruta dat in nume-ruta este relativ, atunci acesta este interpretat in raport cu directorul la care se refera descriptorul de fiier dirfd (i nu in raport cu directorul de lucru curent al procesului apelant, aa cum face mkfifo() pentru un nume de ruta relativ). Daca nume-ruta este relativ i dirfd este valoarea speciala AT_FDCWD, atunci nume-ruta este interpretat relativ la directorul de lucru curent al procesului apelant (ca mkfifo()). Daca nume-ruta este absolut, atunci dirfd este ignorat. A se vedea openat(2) pentru o explicaie a necesitaii mkfifoat(). VALOAREA RETURNATA In caz de succes, mkfifo() i mkfifoat() returneaza 0. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE EACCES Unul dintre directoarele din nume-ruta nu are permisiunea de cautare (execuie). EBADF (mkfifoat()) nume-ruta este relativ, dar dirfd nu este nici AT_FDCWD, nici un descriptor de fiier valid. EDQUOT Cota utilizatorului de blocuri de disc sau de noduri-i pe sistemul de fiiere a fost epuizata. EEXIST nume-ruta exista deja. Aceasta include cazul in care nume-ruta este o legatura simbolica, suspendata sau nu. ENAMETOOLONG Fie lungimea totala a nume-ruta este mai mare decat PATH_MAX, fie o componenta individuala a numelui de fiier are o lungime mai mare decat NAME_MAX. In sistemul GNU, nu exista nicio limita impusa asupra lungimii totale a numelui de fiier, dar unele sisteme de fiiere pot impune limite asupra lungimii unei componente. ENOENT O componenta de director din nume-ruta nu exista sau este o legatura simbolica incerta. ENOSPC Directorul sau sistemul de fiiere nu are spaiu pentru noul fiier. ENOTDIR O componenta utilizata ca director in nume-ruta nu este, de fapt, un director. ENOTDIR (mkfifoat()) nume-ruta este un nume de ruta relativ i dirfd este un descriptor de fiier care se refera la un fiier, altul decat un director. EROFS nume-ruta se refera la un sistem de fiiere numai-pentru-citire. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |mkfifo(), mkfifoat() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ VERSIUNI Aceasta este implementata utilizand mknodat(2). STANDARDE POSIX.1-2008. ISTORIC mkfifo() POSIX.1-2001. mkfifoat() glibc 2.4. POSIX.1-2008. CONSULTAI I mkfifo(1), close(2), open(2), read(2), stat(2), umask(2), write(2), fifo(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.12 23 iulie 2024 mkfifo(3)