Provided by: manpages-ro-dev_4.21.0-2_all
NUME
ftok - convertește un nume de rută și un identificator de proiect într-o cheie IPC System V
BIBLIOTECA
Biblioteca C standard (libc, -lc)
REZUMAT
#include <sys/ipc.h> key_t ftok(const char *nume-rută, int proj_id);
DESCRIERE
Funcția ftok() utilizează identitatea fișierului numit prin nume-rută dat (care trebuie să se refere la un fișier existent și accesibil) și cei mai puțin semnificativi 8 biți ai lui proj_id (care trebuie să fie diferiți de zero) pentru a genera o cheie IPC System V de tip key_t, adecvată pentru utilizare cu msgget(2), semget(2) sau shmget(2). Valoarea rezultată este aceeași pentru toate numele de rută care denumesc același fișier, atunci când se utilizează aceeași valoare pentru proj_id. Valoarea returnată ar trebui să fie diferită atunci când fișierele (există simultan) sau ID-urile de proiect diferă.
VALOAREA RETURNATĂ
În caz de succes, se returnează valoarea key_t generată. În caz de eșec, se returnează -1, cu errno indicând eroarea ca în cazul apelului de sistem stat(2).
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7). ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐ │Interfață │ Atribut │ Valoare │ ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤ │ftok() │ Siguranța firelor │ MT-Safe │ └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
POSIX.1-2001, POSIX.1-2008.
NOTE
Pe unele sisteme vechi, prototipul era: key_t ftok(char *nume-rută, char proj_id); În prezent, proj_id este un int, dar în continuare sunt utilizați doar 8 biți. Utilizarea tipică are un caracter ASCII proj_id, motiv pentru care se spune că are un comportament nedefinit atunci când proj_id este zero. Desigur, nu se poate garanta că valoarea key_t rezultată este unică. În mod obișnuit, o încercare cât mai bună combină octetul proj_id dat, cei 16 biți inferiori ai numărului de inode și cei 8 biți inferiori ai numărului de dispozitiv într-un rezultat pe 32 de biți. Se pot produce cu ușurință coliziuni, de exemplu între fișierele de pe /dev/hda1 și fișierele de pe /dev/sda1.
EXEMPLE
A se vedea semget(2).
CONSULTAȚI ȘI
msgget(2), semget(2), shmget(2), stat(2), sysvipc(7)
TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org> Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE. Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la ⟨translation-team-ro@lists.sourceforge.net⟩.