De Programação Avançada no Ambiente UNIX® :
Para
_PC_ASYNC_IO
,_PC_PRIO_IO
e_PC_SYNC_IO
, o arquivo referenciado não deve ser um diretório.
Name of option | Indicates ... |name argument
_POSIX_SYNC_IO |whether synchronized I/O can be used with |_PC_SYNC_IO
the associated file
Então eu suponho que o uso seria
long return_value = pathconf("/a/path/filename",_PC_SYNC_IO)
.
Parece que é uma maneira de obter a "configuração" de um arquivo específico.
É esta coisa pode ser definida para um arquivo? Como posso configurá-lo?
E o que significa E/S sincronizada para um arquivo? Quer dizer, eu não entendo como a E/S sincronizada pode ser uma configuração de um arquivo? Não deveria ser uma coisa de aspecto de programação em vez de apenas uma "configuração"?
O resultado de
pathconf
pode variar dependendo do arquivo, para alguns dos argumentos pode ser fornecido (_PC_NAME_MAX
,_PC_ASYNC_IO
, e alguns outros), mas para a maioria dos argumentos o resultado é uma constante dependente da plataforma. Os valores que você recupera usandopathconf
não são configurações por arquivo, são propriedades do sistema e do tipo de arquivo; você não pode configurá-los.A E/S sincronizada neste contexto refere-se a leituras e gravações síncronas de e para um arquivo, conforme controlado por
O_SYNC
sinalizadores relacionados que podem ser especificados emopen
chamadas.pathconf(..., _PC_SYNC_IO)
informará se esses sinalizadores são suportados (observe queO_SYNC
sempre deve ser suportado em arquivos regulares de qualquer maneira, independentemente do resultado depathconf
).