SYSCONF(3)

NOME
sysconf - obtém informações de configuração em tempo de execução

SINÓPSE
#include <unistd.h>

long sysconf(int name);

DESCRIÇÃO
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;o valor 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.

VALORES RETORNADOS
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.

DE ACORDO COM
POSIX.1, POSIX.2 proposto

PROBLEMAS
É 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.

VEJA TAMBÉM
bc(1), expr(1), locale(1), fpathconf(3), pathconf(3).

TRADUZIDO POR LDP-BR em 03/08/2000.

  Tradução:
Rubens de Jesus Nogueira <darkseid99@usa.net>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>