.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Written 11 April 1996 by Andries Brouwer .\" 960412: Added comments from Stephen Tweedie .\" Modified Tue Oct 22 22:28:41 1996 by Eric S. Raymond .\" Modified Mon Jan 5 20:31:04 1998 by aeb. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sysctl 2 "3 mai 2023" "Pagini de manual de Linux 6.05.01" .SH NUME sysctl \- citește/scrie parametrii de sistem .SH REZUMAT .nf \fB#include \fP \fB#include \fP .PP \fB[[depreciat]] int _sysctl(struct __sysctl_args *\fP\fIargs\fP\fB);\fP .fi .SH DESCRIERE \fBAcest apel de sistem nu mai există pe nucleele actuale!\fP A se vedea NOTE. .PP Apelul \fB_sysctl\fP() citește și/sau scrie parametrii nucleului. De exemplu, numele de gazdă sau numărul maxim de fișiere deschise. Argumentul are forma .PP .in +4n .EX struct __sysctl_args { int *name; /* vector de numere întregi care descrie variabila */ int nlen; /* lungimea acestui vector */ void *oldval; /* 0 sau adresa unde se stochează vechea valoare */ size_t *oldlenp; /* spațiu disponibil pentru vechea valoare, suprascris de dimensiunea reală a vechii valori */ void *newval; /* 0 sau adresa noii valori */ size_t newlen; /* dimensiunea noii valori */ }; .EE .in .PP Acest apel efectuează o căutare într\-o structură arborescentă, care poate semăna cu un arbore de directoare sub \fI/proc/sys\fP, iar dacă elementul solicitat este găsit, apelează o rutină adecvată pentru a citi sau modifica valoarea. .SH "VALOAREA RETURNATĂ" La finalizarea cu succes, \fB_sysctl\fP() returnează 0. În caz contrar, se returnează o valoare de \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEACCES\fP, \fBEPERM\fP Nu există permisiune de căutare pentru unul dintre „directoarele” întâlnite, sau nu există permisiune de citire în cazul în care \fIoldval\fP a fost diferită de zero, sau nu există permisiune de scriere în cazul în care \fInewval\fP a fost diferită de zero. .TP \fBEFAULT\fP Invocarea a cerut valoarea anterioară prin stabilirea \fIoldval\fP non\-NULL, dar a permis spațiu zero în \fIoldlenp\fP. .TP \fBENOTDIR\fP \fIname\fP nu a fost găsit. .SH STANDARDE Linux. .SH ISTORIC Linux 1.3.57. Eliminat în Linux 5.5, glibc 2.32. .PP Acesta își are originea în 4.4BSD. Numai Linux are oglinda \fI/proc/sys\fP, iar schemele de denumire a obiectelor diferă între Linux și 4.4BSD, dar declarația funcției \fBsysctl\fP() este aceeași în ambele. .SH NOTE Utilizarea acestui apel de sistem a fost mult timp descurajată: începând cu Linux 2.6.24, utilizarea acestui apel de sistem a dus la apariția unor avertismente în jurnalul nucleului, iar în Linux 5.5, apelul de sistem a fost în cele din urmă eliminat. Utilizați în schimb interfața \fI/proc/sys\fP. .PP Rețineți că pe nucleele mai vechi, unde acest apel de sistem încă există, este disponibil numai dacă nucleul a fost configurat cu opțiunea \fBCONFIG_SYSCTL_SYSCALL\fP. În plus, glibc nu oferă o funcție de învăluire pentru acest apel de sistem, fiind necesară utilizarea \fBsyscall\fP(2). .SH ERORI Numele obiectelor variază de la o versiune de nucleu la alta, ceea ce face ca acest apel de sistem să fie inutil pentru aplicații. .PP Nu toate obiectele disponibile sunt documentate corespunzător. .PP Nu este încă posibilă schimbarea sistemului de operare prin scrierea în \fI/proc/sys/kernel/ostype\fP. .SH EXEMPLE .\" SRC BEGIN (sysctl.c) .EX #define _GNU_SOURCE #include #include #include #include #include \& #include \& #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) \& int _sysctl(struct __sysctl_args *args); \& #define OSNAMESZ 100 \& int main(void) { int name[] = { CTL_KERN, KERN_OSTYPE }; char osname[OSNAMESZ]; size_t osnamelth; struct __sysctl_args args; \& memset(&args, 0, sizeof(args)); args.name = name; args.nlen = ARRAY_SIZE(name); args.oldval = osname; args.oldlenp = &osnamelth; \& osnamelth = sizeof(osname); \& if (syscall(SYS__sysctl, &args) == \-1) { perror("_sysctl"); exit(EXIT_FAILURE); } printf("Această mașină rulează %*s\en", (int) osnamelth, osname); exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "CONSULTAȚI ȘI" \fBproc\fP(5) .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 .