.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 2006 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mq_getattr 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME mq_getattr, mq_setattr \- obține/stabilește atributele cozii de mesaje .SH BIBLIOTECA Biblioteca de timp real (\fIlibrt\fP, \fI\-lrt\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBint mq_getattr(mqd_t \fP\fImqdes\fP\fB, struct mq_attr *\fP\fIattr\fP\fB);\fP \fBint mq_setattr(mqd_t \fP\fImqdes\fP\fB, const struct mq_attr *restrict \fP\fInewattr\fP\fB,\fP \fB struct mq_attr *restrict \fP\fIoldattr\fP\fB);\fP .fi .SH DESCRIERE \fBmq_getattr\fP() și \fBmq_setattr\fP() extrag și, respectiv, modifică atributele cozii de așteptare a mesajelor la care se face referire prin descriptorul cozii de așteptare a mesajelor \fImqdes\fP. .PP \fBmq_getattr\fP() returnează o structură \fImq_attr\fP în memoria tampon indicată de \fIattr\fP. Această structură se definește astfel: .PP .in +4n .EX struct mq_attr { long mq_flags; /* Fanioane: 0 sau O_NONBLOCK */ long mq_maxmsg; /* Numărul maxim de mesaje în coadă */ long mq_msgsize; /* Dimensiunea maximă a mesajului (octeți)) */ long mq_curmsgs; /* Numărul de mesaje aflate în prezent în coadă */ }; .EE .in .PP Câmpul \fImq_flags\fP conține fanioanele asociate cu descrierea cozii de mesaje deschise. Acest câmp este inițializat atunci când coada este creată de \fBmq_open\fP(3). Singurul fanion care poate apărea în acest câmp este \fBO_NONBLOCK\fP. .PP Câmpurile \fImq_maxmsg\fP și \fImq_msgsize\fP sunt stabilite atunci când coada de mesaje este creată de \fBmq_open\fP(3). Câmpul \fImq_maxmsg\fP reprezintă o limită superioară a numărului de mesaje care pot fi plasate în coada de așteptare cu ajutorul \fBmq_send\fP(3). Câmpul \fImq_msgsize\fP este o limită superioară a dimensiunii mesajelor care pot fi plasate în coada de așteptare. Ambele câmpuri trebuie să aibă o valoare mai mare decât zero. Două fișiere \fI/proc\fP care impun plafoane pentru valorile acestor câmpuri sunt descrise în \fBmq_overview\fP(7). .PP Câmpul \fImq_curmsgs\fP returnează numărul de mesaje aflate în prezent în coada de așteptare. .PP \fBmq_setattr\fP() stabilește atributele cozii de mesaje utilizând informațiile furnizate în structura \fImq_attr\fP indicată de \fInewattr\fP. Singurul atribut care poate fi modificat este stabilirea fanionului \fBO_NONBLOCK\fP din \fImq_flags\fP. Celelalte câmpuri din \fInewattr\fP sunt ignorate. În cazul în care câmpul \fIoldattr\fP nu este NULL, atunci memoria tampon la care indică este utilizată pentru a returna o structură \fImq_attr\fP care conține aceleași informații ca cele returnate de \fBmq_getattr\fP(). .SH "VALOAREA RETURNATĂ" În caz de succes, \fBmq_getattr\fP() și \fBmq_setattr\fP() returnează 0; în caz de eroare, se returnează \-1, cu \fIerrno\fP configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEBADF\fP Descriptorul de coadă de mesaje specificat în \fImqdes\fP nu este valid. .TP \fBEINVAL\fP \fInewattr\->mq_flags\fP conținea alți biți activați decât \fBO_NONBLOCK\fP. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBmq_getattr\fP(), \fBmq_setattr\fP() T} Siguranța firelor MT\-Safe .TE .sp 1 .SH VERSIUNI În Linux, \fBmq_getattr\fP() și \fBmq_setattr\fP() sunt funcții de bibliotecă suprapuse peste apelul de sistem \fBmq_getsetattr\fP(2). .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH EXEMPLE Programul de mai jos poate fi utilizat pentru a arăta valorile implicite \fImq_maxmsg\fP și \fImq_msgsize\fP care sunt atribuite unei cozi de așteptare a mesajelor care este creată cu un apel la \fBmq_open\fP(3) în care argumentul \fIattr\fP este NULL. Iată un exemplu de execuție a programului: .PP .in +4n .EX $ \fB./a.out /testq\fP Numărul maxim de mesaje din coada de așteptare: 10 Dimensiunea maximă a mesajului: 8192 .EE .in .PP Începând cu Linux 3.5, următoarele fișiere \fI/proc\fP (descrise în \fBmq_overview\fP(7)) pot fi utilizate pentru a controla valorile implicite: .PP .in +4n .EX $ \fBuname \-sr\fP Linux 3.8.0 $ \fBcat /proc/sys/fs/mqueue/msg_default\fP 10 $ \fBcat /proc/sys/fs/mqueue/msgsize_default\fP 8192 .EE .in .SS "Sursa programului" .\" SRC BEGIN (mq_getattr.c) \& .EX #include #include #include #include #include #include \& #define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \e } while (0) \& int main(int argc, char *argv[]) { mqd_t mqd; struct mq_attr attr; \& if (argc != 2) { fprintf(stderr, "Utilizare: %s mq\-name\en", argv[0]); exit(EXIT_FAILURE); } \& mqd = mq_open(argv[1], O_CREAT | O_EXCL, 0600, NULL); if (mqd == (mqd_t) \-1) errExit("mq_open"); \& if (mq_getattr(mqd, &attr) == \-1) errExit("mq_getattr"); \& printf("Numărul maxim de mesaje din coada de așteptare: %ld\en", attr.mq_maxmsg); printf("Dimensiunea maximă a mesajului: %ld\en", attr.mq_msgsize); \& if (mq_unlink(argv[1]) == \-1) errExit("mq_unlink"); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "CONSULTAȚI ȘI" \fBmq_close\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3), \fBmq_receive\fP(3), \fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\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 .