sysconf - obtém informações de
configuração em tempo de execução
#include <unistd.h>
long sysconf(int name);
sysconf() fornece um meio para a aplicação
determinar valores para os limites ou opções do sistema em
tempo de execução.
As macros equivalentes definidas em <unistd.h>
só podem dar valores conservativos; se uma aplicação
quer tomar proveito de valores que podem mudar, pode ser feita uma chamada a
sysconf() , que pode render resultados mais liberais.
Para obter informações sobre um arquivo em
particular, veja fpathconf() ou pathconf().
Os seguintes valores são suportados name. Primeiro,
os valores compatíveis com POSIX.1:
- _SC_ARG_MAX
- O comprimento máximo dos argumentos para as famílias de
funções exec() ; a macro correspondente é
ARG_MAX.
- _SC_CHILD_MAX
- O número de processos simultâneos por id de usuário,
a macro correspondente é _POSIX_CHILD_MAX.
- _SC_CLK_TCK
- O número de pulsos de relógio por segundo; a macro
correspondente é CLK_TCK.
- _SC_STREAM_MAX
- O número máximo de fluxos que um processo pode manter
abertos a qualquer tempo. A macro POSIX correspondente é
STREAM_MAX, a macro com padrão C correspondente é
FOPEN_MAX.
- _SC_TZNAME_MAX
- O número máximo de bytes em um nome de fuso horário,
a macro correspondente é TZNAME_MAX.
- _SC_OPEN_MAX
- O número máximo de arquivos que um processo pode manter
abertos a qualquer tempo, a macro correspondente é
_POSIX_OPEN_MAX.
- _SC_JOB_CONTROL
- Isto indica se o controle de tarefa no estilo POSIX é suportado, a
macro correspondente é _POSIX_JOB_CONTROL.
- _SC_SAVED_IDS
- Isto indica se um processo tem um set-user-ID e um set-group-ID gravados;
a macro correspondente é _POSIX_SAVED_IDS.
- _SC_VERSION
- indica o ano e o mês em que o padrão POSIX.1 foi aprovado,
no formato YYYYMML;ovalor 199009L indica a
revisão mais recente, 1990.
A seguir, os valores de POSIX.2:
- _SC_BC_BASE_MAX
- indica o valor máximo de obase aceito pelo utilitário
bc(1) ; a macro correspondente é BC_BASE_MAX.
- _SC_BC_DIM_MAX
- indica o valor máximo dos elementos permitidos em uma matriz por
bc(1); a macro correspondente é BC_DIM_MAX.
- _SC_BC_SCALE_MAX
- indica o valor máximo de scale permitido por bc(1); a
macro correspondente é BC_SCALE_MAX.
- _SC_BC_STRING_MAX
- indica o comprimento máximo de uma string aceita por bc(1);
a macro correspondente é BC_STRING_MAX.
- _SC_COLL_WEIGHTS_MAX
- indica os números máximos de pesos que podem ser
atribuídos a uma entrada da palavra-chave de ordem
LC_COLLATE no arquivo de definição de 'locale'; a
macro correspondente é COLL_WEIGHTS_MAX.
- _SC_EXPR_NEST_MAX
- é o número máximo de expressões que podem ser
aninhadas dentro de parênteses por expr(1). A macro
correspondente é EXPR_NEST_MAX.
- _SC_LINE_MAX
- O comprimento máximo de uma linha de entrada do utilitário
de uma entrada padrão ou de um arquivo. Isto inclui o comprimento
de uma nova linha seguinte. A macro correspondente é
LINE_MAX.
- _SC_RE_DUP_MAX
- O número máximo de ocorrências repetidas de uma
expressão regular quando a notação de intervalo
\{m,n\} é usada. O valor da macro correspondente é
RE_DUP_MAX.
- _SC_2_VERSION
- indica a versão do padrão POSIX.2 no formato YYYYMML. A
macro correspondente é POSIX2_VERSION.
- _SC_2_DEV
- indica se as facilidades de desenvolvimento na linguagem C do POSIX.2
são suportadas. A macro correspondente é
POSIX2_C_DEV.
- _SC_2_FORT_DEV
- indica se os utilitários de desenvolvimento em FORTRAN do POSIX.2
são suportados. A macro correspondente é
POSIX2_FORT_RUN.
- _SC_2_FORT_RUN
- indica se os utilitários de tempo de execução FORTRAN
do POSIX.2 são suportados. A macro correspondente é
POSIX2_FORT_RUN.
- _SC_2_LOCALEDEF
- indica se a criação de locais do POSIX.2 através de
localedef(1) é suportada. A macro correspondente é
_POSIX2_LOCALEDEF.
- _SC_2_SW_DEV
- indica se a opção de utilitários de desenvolvimento
de software do POSIX.2 é suportada. A macro correspondente é
POSIX2_SW_DEV.
SUSv2 também lista
- _SC_PAGESIZE _SC_PAGE_SIZE
- O tamanho de uma página (em bytes).
Estes valores também existem, mas podem não ser
padrões.
- _SC_PHYS_PAGES
- O número de páginas de memória física. Note
que é possível que o produto deste valor com o valor de
_SC_PAGE_SIZE cause um estouro.
- _SC_AVPHYS_PAGES
- O número de páginas da memória física
disponíveis no momento.
O valor retornado é o valor do recurso do sistema, 1 se uma
opção pesquisada está disponível, 0 se
não, ou -1 em caso de erro. A variável errno não
é setada.
POSIX.1, POSIX.2 proposto
É difícil usar ARG_MAX porque não
é especificado quanto espaço de argumento para exec()
é consumido pelas variáveis de ambiente do usuário.
Alguns valores de retorno podem ser gigantes; eles não
são apropriados para alocar memória.
POSIX.2 ainda não é um padrão aprovado; as
informações nesta página de manual são sujeitas
a mudanças.
RUBENS DE JESUS NOGUEIRA
<darkseid99@usa.net> (tradução)
XXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx>
(revisão)