.\" -*- coding: UTF-8 -*- .\" Copyright 1993 Giorgio Ciucci .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Added correction due to Nick Duffek , aeb, 960426 .\" Modified Wed Nov 6 04:00:31 1996 by Eric S. Raymond .\" Modified, 8 Jan 2003, Michael Kerrisk, .\" Removed EIDRM from errors - that can't happen... .\" Modified, 27 May 2004, Michael Kerrisk .\" Added notes on capability requirements .\" Modified, 11 Nov 2004, Michael Kerrisk .\" Language and formatting clean-ups .\" Added notes on /proc files .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH msgget 2 "2 mai 2024" "Pagini de manual de Linux 6.8" .SH NUME msgget \- obține un identificator de coadă de mesaje System V .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint msgget(key_t \fP\fIkey\fP\fB, int \fP\fImsgflg\fP\fB);\fP .fi .SH DESCRIERE Apelul de sistem \fBmsgget\fP() returnează identificatorul cozii de mesaje System\ V asociat cu valoarea argumentului \fIkey\fP. Acesta poate fi utilizat fie pentru a obține identificatorul unei cozi de mesaje create anterior (atunci când \fImsgflg\fP este zero și \fIkey\fP nu are valoarea \fBIPC_PRIVATE\fP), fie pentru a crea un set nou. .P O nouă coadă de mesaje este creată dacă \fIkey\fP are valoarea \fBIPC_PRIVATE\fP sau dacă \fIkey\fP nu este \fBIPC_PRIVATE\fP, dacă nu există o coadă de mesaje cu cheia \fIkey\fP dată și dacă \fBIPC_CREAT\fP este specificat în \fImsgflg\fP. .P Dacă \fImsgflg\fP specifică atât \fBIPC_CREAT\fP, cât și \fBIPC_EXCL\fP și există deja o coadă de mesaje pentru \fIkey\fP, atunci \fBmsgget\fP() eșuează cu \fIerrno\fP configurată la \fBEEXIST\fP; (acest lucru este analog cu efectul combinației \fBO_CREAT | O_EXCL\fP pentru \fBopen\fP(2)). .P La creare, cei mai puțin semnificativi biți ai argumentului \fImsgflg\fP definesc permisiunile cozii de mesaje. Acești biți de permisiune au același format și semantică ca și permisiunile specificate pentru argumentul \fImode\fP din \fBopen\fP(2); (permisiunile de execuție nu sunt utilizate). .P Dacă este creată o nouă coadă de mesaje, atunci structura de date asociată \fImsqid_ds\fP (a se vedea \fBmsgctl\fP(2)) este inițializată după cum urmează: .IP \[bu] 3 \fImsg_perm.cuid\fP și \fImsg_perm.uid\fP sunt stabilite la ID\-ul de utilizator efectiv al procesului de apelare. .IP \[bu] \fImsg_perm.cgid\fP și \fImsg_perm.gid\fP sunt stabilite la ID\-ul de grup efectiv al procesului apelant. .IP \[bu] Cei mai puțin semnificativi 9 biți din \fImsg_perm.mode\fP sunt stabiliți la cei mai puțin semnificativi 9 biți din \fImsgflg\fP. .IP \[bu] \fImsg_qnum\fP, \fImsg_lspid\fP, \fImsg_lrpid\fP, \fImsg_stime\fP, și \fImsg_rtime\fP sunt stabilite la 0. .IP \[bu] \fImsg_ctime\fP este stabilit la ora curentă. .IP \[bu] \fImsg_qbytes\fP este stabilit la limita sistemului \fBMSGMNB\fP. .P În cazul în care coada de mesaje există deja, se verifică permisiunile și se verifică dacă aceasta este marcată pentru distrugere. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBmsgget\fP() returnează identificatorul cozii de așteptare a mesajelor (un număr întreg nenegativ). În caz de eșec, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEACCES\fP Există o coadă de mesaje pentru \fIkey\fP, dar procesul apelant nu are permisiunea de a accesa coada de așteptare și nu are capacitatea \fBCAP_IPC_OWNER\fP în spațiul de nume al utilizatorului care guvernează spațiul de nume IPC. .TP \fBEEXIST\fP \fBIPC_CREAT\fP și \fBIPC_EXCL\fP au fost specificate în \fImsgflg\fP, dar există deja o coadă de mesaje pentru \fIkey\fP. .TP \fBENOENT\fP Nu există o coadă de mesaje pentru \fIkey\fP și \fImsgflg\fP nu a specificat \fBIPC_CREAT\fP. .TP \fBENOMEM\fP Trebuie creată o coadă de mesaje, dar sistemul nu are suficientă memorie pentru noua structură de date. .TP \fBENOSPC\fP Trebuie creată o coadă de mesaje, dar limita sistemului pentru numărul maxim de cozi de mesaje (\fBMSGMNI\fP) ar fi depășită. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001, SVr4. .SS Linux Până la Linux 2.3.20, Linux ar fi returnat \fBEIDRM\fP pentru un \fBmsgget\fP() pe o coadă de mesaje programată pentru ștergere. .SH NOTE \fBIPC_PRIVATE\fP nu este un câmp fanion, ci un tip \fIkey_t\fP. În cazul în care se utilizează această valoare specială pentru \fIkey\fP, apelul de sistem ignoră totul, cu excepția celor mai puțin semnificativi 9 biți din \fImsgflg\fP și creează o nouă coadă de mesaje (în caz de succes). .P Următoarea este o limită de sistem privind resursele de coadă de mesaje care afectează un apel \fBmsgget\fP(): .TP \fBMSGMNI\fP .\" commit 0050ee059f7fc86b1df2527aaa14ed5dc72f9973 Limita la nivel de sistem a numărului de cozi de mesaje. Înainte de Linux 3.19, valoarea implicită pentru această limită era calculată cu ajutorul unei formule bazate pe memoria disponibilă a sistemului. Începând cu Linux 3.19, valoarea implicită este de 32.000. În Linux, această limită poate fi citită și modificată prin intermediul \fI/proc/sys/kernel/msgmni\fP. .SH ERORI Alegerea denumirii \fBIPC_PRIVATE\fP a fost poate o alegere greșită, \fBIPC_NEW\fP ar fi arătat mai clar funcția sa. .SH "CONSULTAȚI ȘI" \fBmsgctl\fP(2), \fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7), \fBmq_overview\fP(7), \fBsysvipc\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .