.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" 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 "22 março 2021" Linux "Manual do Programador do Linux" .SH NOME sysctl \- lê/escreve parâmetros do sistema .SH SINOPSE .nf \fB#include \fP \fB#include \fP .PP \fBint _sysctl(struct __sysctl_args *\fP\fIargs\fP\fB);\fP .fi .SH DESCRIÇÃO \fBThis system call no longer exists on current kernels!\fP See NOTES. .PP A chamada \fB_sysctl\fP() lê e/ou escrever parâmetros do kernel. Por exemplo, o nome da máquina, ou o número máximo de arquivos abertos. O argumento tem a forma .PP .in +4n .EX struct __sysctl_args { int *name; /* integer vector describing variable */ int nlen; /* length of this vector */ void *oldval; /* 0 or address where to store old value */ size_t *oldlenp; /* available room for old value, overwritten by actual size of old value */ void *newval; /* 0 or address of new value */ size_t newlen; /* size of new value */ }; .EE .in .PP Esta chamada faz um busca numa árvore de estrutura, possivelmente parecida com uma árvore de diretório sob \fI/proc/sys\fP, e se o item requisitado é encontrado é chamada alguma rotina apropriada para ler ou modificar o valor. .SH "VALOR DE RETORNO" Em caso de sucesso \fB_sysctl\fP() devolve 0. Caso contráio, \-1 é devolvido e \fIerrno\fP é selecionado adequadamente. .SH ERROS .TP \fBEACCES\fP, \fBEPERM\fP No search permission for one of the encountered "directories", or no read permission where \fIoldval\fP was nonzero, or no write permission where \fInewval\fP was nonzero. .TP \fBEFAULT\fP O pedido perguntou pelo valor anterior selecionando \fIoldval\fP como não nulo, mas permitido zero espaço em \fIoldlenp\fP. .TP \fBENOTDIR\fP \fIname\fP não foi encontrado. .SH VERSÕES This system call first appeared in Linux 1.3.57. It was removed in Linux 5.5; glibc support was removed in version 2.32. .SH "DE ACORDO COM" Esta chamada é específica do Linux e não deve ser usada em programas que pretendem ser portáveis. . Ela é originária do BSD 4.4. Somente o Linux tem o espelho \fI/proc/sys\fP, e os esquemas de nomeamento de objetos diferem entro o Linux e o 4.4BSD, mas a declaração da função \fBsysctl\fP() é a mesma em ambos. .SH NOTAS Use of this system call was long discouraged: since Linux 2.6.24, uses of this system call result in warnings in the kernel log, and in Linux 5.5, the system call was finally removed. Use the \fI/proc/sys\fP interface instead. .PP Note that on older kernels where this system call still exists, it is available only if the kernel was configured with the \fBCONFIG_SYSCTL_SYSCALL\fP option. Furthermore, glibc does not provide a wrapper for this system call, necessitating the use of \fBsyscall\fP(2). .SH BUGS The object names vary between kernel versions, making this system call worthless for applications. .PP Nem todos objetos disponíveis são documentados adequadamente. .PP Ainda não é possível mudar sistema operacional escrevendo \fI/proc/sys/kernel/ostype\fP. .SH EXEMPLOS .EX #define _GNU_SOURCE #include #include #include #include #include #include int _sysctl(struct __sysctl_args *args ); #define OSNAMESZ 100 int main(void) { struct __sysctl_args args; char osname[OSNAMESZ]; size_t osnamelth; int name[] = { CTL_KERN, KERN_OSTYPE }; memset(&args, 0, sizeof(args)); args.name = name; args.nlen = sizeof(name)/sizeof(name[0]); args.oldval = osname; args.oldlenp = &osnamelth; osnamelth = sizeof(osname); if (syscall(SYS__sysctl, &args) == \-1) { perror("_sysctl"); exit(EXIT_FAILURE); } printf("This machine is running %*s\en", osnamelth, osname); exit(EXIT_SUCCESS); } .EE .SH "VEJA TAMBÉM" \fBproc\fP(5) .SH COLOFÃO Esta página faz parte da versão 5.13 do projeto Linux \fIman\-pages\fP. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUÇÃO A tradução para português brasileiro desta página man foi criada por André Luiz Fassone e Marcelo Pereira da Silva . .PP Esta tradução é uma documentação livre; leia a .UR https://www.gnu.org/licenses/gpl-3.0.html Licença Pública Geral GNU Versão 3 .UE ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita. .PP Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para .MT debian-l10n-portuguese@lists.debian.org a lista de discussão de tradutores .ME .