Muitas das interfaces de programação de aplicações (APIs) que executam operações em objectos do sistema de ficheiros integrado encontram-se sob a forma de funções de linguagem C.
Pode optar por um dos dois conjuntos de funções, podendo utilizar cada um deles em programas que sejam criados utilizando o Integrated Language Environment (ILE) C:
v Funções C do sistema de ficheiros integrado que estão incluídas no sistema operativo do i5/OS. v Funções C fornecidas pelo programa licenciado ILE C.
Para obter informações sobre os programas de saída suportados pelo sistema de ficheiros integrado, consulte a Tabela 14 na página 130.
As funções do sistema de ficheiros integrado operam apenas através do suporte de E/S de sequência do sistema de ficheiros integrado. São suportadas as seguintes APIs:
Tabela 13. APIs do sistema de ficheiros integrado
Função Descrição
access() Determinar acessibilidade de ficheiros
accessx() Determinar a acessibilidade de ficheiros para uma classe de utilizadores
chdir() Mudar directório actual chmod() Alterar autorizações do ficheiro chown() Alterar proprietário e grupo do ficheiro close() Fechar descritor do ficheiro
closedir() Fechar directório
creat() Criar novo ficheiro ou reescrever ficheiro existente
creat64() Criar novo ficheiro ou reescrever ficheiro existente (suporte de ficheiros grandes)
DosSetFileLocks() Bloquear e desbloquear intervalo de bytes de um ficheiro
DosSetFileLocks64() Bloquear e desbloquear intervalo de bytes de um ficheiro (suporte de ficheiros grandes)
DosSetRelMaxFH() Alterar o número máximo dos descritores de ficheiros dup() Duplicar descritor do ficheiro aberto
dup2() Duplicar descritor do ficheiro aberto para outro descritor
faccessx() Determinar a acessibilidade de ficheiros para uma classe de utilizadores por descritor
fchdir() Mudar o directório actual por descritor fchmod() Alterar autorizações do ficheiro por descritor fchown() Alterar proprietário e grupo do ficheiro por descritor fclear() Eliminar um ficheiro
fclear64() Eliminar um ficheiro (suporte de ficheiros grandes) fcntl() Executar acção de controlo de ficheiros
fpathconf() Obter variáveis do nome de caminho configuráveis por descritor
fstat() Obter informações sobre o ficheiro por descritor
fstat64() Obter informações sobre o ficheiro por descritor (suporte de ficheiros grandes)
fstatvfs() Obter informações por descritor
fstatvfs64() Obter informações por descritor (64 bits activado) fsync() Sincronizar alterações ao ficheiro
ftruncate() Truncar ficheiro
ftruncate64() Truncar ficheiro (suporte de ficheiros grandes) getcwd() Obter nome de caminho do directório actual getegid() Obter ID do grupo efectivo
geteuid() Obter ID do utilizador efectivo getgid() Obter ID de grupo real
Tabela 13. APIs do sistema de ficheiros integrado (continuação)
Função Descrição
getgrnam() Obter informações sobre o grupo utilizando o nome do grupo getgroups() Obter IDs do grupo
getpwnam() Obter informações sobre o utilizador para o nome do utilizador
getpwuid() Obter informações sobre o utilizador para o ID do utilizador getuid() Obter ID de utilizador real
givedescriptor() Dar a outro trabalho acesso ao ficheiro ioctl() Executar acção de controlo de I/O do ficheiro link() Criar ligação ao ficheiro
lseek() Definir posição de leitura/escrita do ficheiro
lseek64() Definir posição de leitura/escrita do ficheiro (suporte de ficheiros grandes)
lstat() Obter informações sobre o ficheiro ou a ligação
lstat64() Obter informações sobre o ficheiro ou a ligação (suporte de ficheiros grandes)
mkdir() Criar directório
mkfifo() Criar ficheiro especial FIFO
mmap() Criar uma definição de correspondências de memória
mmap64() Criar uma definição de correspondências de memória (suporte de ficheiros grandes)
mprotect() Alterar uma protecção da definição de correspondências de memória
msync() Sincronizar uma definição de memória munmap() Remover uma definição de memória
open() Abrir ficheiro
open64() Abrir ficheiro (suporte de ficheiros grandes) opendir() Abrir directório
pathconf() Obter variáveis do nome de caminho de configuração pread() Ler do descritor com deslocamento
pread64() Ler do descritor com deslocamento (suporte de ficheiros grandes)
pwrite() Escrever no descritor com deslocamento
pwrite64() Escrever no descritor com deslocamento(suporte de ficheiros grandes)
QjoEndJournal() Terminar registo em diário
QjoRetrieveJournal Information() Obter informações do registo em diário QjoRetrieveJournalEntries() Obter Entradas de Diário
QJORJIDI() Obter informações do identificador do registo em diário QJOSJRNE() Enviar entrada de registo em diário
QjoStartJournal() Iniciar registo em diário
QlgAccess() Determinar acessibilidade do ficheiro (utilizando nome de caminho activado para NLS)
Tabela 13. APIs do sistema de ficheiros integrado (continuação)
Função Descrição
QlgAccessx()
Determinar a acessibilidade de ficheiros para uma classe de utilizadores (utilizando o nome de caminho que suporta NLS)
QlgChdir() Alterar directório actual (utilizando nome de caminho activado para NLS)
QlgChmod() Alterar autorizações do ficheiro (utilizando nome de caminho activado para NLS)
QlgChown() Alterar proprietário e grupo do ficheiro (utilizando nome de caminho activado para NLS)
QlgCreat() Criar novo ficheiro ou reescrever ficheiro existente (utilizando nome de caminho activado para NLS)
QlgCreat64()
Criar novo ficheiro ou reescrever ficheiro existente (suporte para ficheiros grandes e utilizando nome de caminho activado para NLS)
QlgCvtPathToQSYSObjName()
Processar nome de caminho do Sistema de Ficheiros Integrado para Nome do Objecto QSYS (utilizando nome de caminho activado para NLS)
QlgGetAttr() Obter atributos do sistema para um objecto (utilizando nome de caminho activado para NLS)
QlgGetcwd() Obter nome de caminho do directório actual (utilizando nome de caminho activado para NLS)
QlgGetPathFromFileID()
Obter nome de caminho do objecto a partir do respectivo identificador de ficheiro (utilizando nome de caminho activado para NLS)
QlgGetpwnam() Obter informações sobre o utilizador para o nome do utilizador (utilizando nome de caminho activado para NLS)
QlgGetpwnam_r() Obter informações sobre o utilizador para o nome do utilizador (utilizando nome de caminho activado para NLS)
QlgGetpwuid() Obter informações sobre o utilizador para o ID de utilizador (utilizando nome de caminho activado para NLS)
QlgGetpwuid_r() Obter informações sobre o utilizador para o ID de utilizador (utilizando nome de caminho activado para NLS)
QlgLchown() Alterar proprietário e grupo da ligação simbólica (utilizando nome de caminho activado para NLS)
QlgLink() Criar ligação ao ficheiro (utilizando nome de caminho activado para NLS)
QlgLstat() Obter informações sobre o ficheiro ou a ligação (utilizando nome de caminho activado para NLS)
QlgLstat64() Obter informações sobre o ficheiro ou a ligação (suporte para ficheiros grandes e nome de caminho activado para NLS)
QlgMkdir() Criar directório (utilizando nome de caminho activado para NLS)
QlgMkfifo() Criar ficheiro especial FIFO (utilizando nome de caminho activado para NLS)
QlgOpen() Abrir ficheiro (utilizando nome de caminho activado para NLS)
QlgOpen64() Abrir ficheiro (suporte para ficheiros grandes e nome de caminho activado para NLS)
Tabela 13. APIs do sistema de ficheiros integrado (continuação)
Função Descrição
QlgOpendir() Abrir directório (utilizando nome de caminho activado para NLS)
QlgPathconf() Obter variáveis do nome de caminho de configuração (utilizando nome de caminho activado para NLS)
QlgProcessSubtree() Processar directórios ou objectos numa árvore de directórios (utilizando nome de caminho activado para NLS)
QlgReaddir() Ler entrada do directório (utilizando nome de caminho activado para NLS)
QlgReaddir_r() Ler entrada do directório (protecção por módulo e utilizando nome de caminho activado para NLS)
QlgReadlink() Ler valor da ligação simbólica (utilizando nome de caminho activado para NLS)
QlgRenameKeep() Mudar o nome do ficheiro ou directório, manter novo, se existir (utilizando nome de caminho activado para NLS)
QlgRenameUnlink() Mudar o nome do ficheiro ou directório, desligar novo, se existir (utilizando nome de caminho activado para NLS)
QlgRmdir() Remover directório (utilizando nome de caminho activado para NLS)
QlgSaveStgFree() Guardar dados de objectos e libertar a respectiva memória (utilizando nome de caminho activado para NLS)
QlgSetAttr() Definir atributos do sistema para um objecto (utilizando nome de caminho activado para NLS)
QlgStat() Obter informações sobre o ficheiro (utilizando nome de caminho activado para NLS)
QlgStat64() Obter informações sobre o ficheiro (suporte para ficheiros grandes e nome de caminho activado para NLS)
QlgStatvfs() Obter informações sobre o sistema de ficheiros (utilizando nome de caminho activado para NLS)
QlgStatvfs64() Obter informações sobre o sistema de ficheiros (suporte para ficheiros grandes e nome de caminho activado para NLS)
QlgSymlink() Criar ligação simbólica (utilizando nome de caminho activado para NLS)
QlgUnlink() Desligar ficheiro (utilizando nome de caminho activado para NLS)
QlgUtime() Definir horas de acesso ao e modificação do ficheiro (utilizando nome de caminho activado para NLS) QP0FPTOS() Executar operações diversas em sistemas de ficheiros QP0LCHSG() Alterar assinatura de pesquisa
Qp0lCvtPathToSYSObjName() Processar nome de caminho do sistema de ficheiros integrado para Nome de Objecto de QSYS
QP0LFLOP() Executar operações diversas em objectos Qp0lGetAttr() Obter atributos de sistema para um objecto
Qp0lGetPathFromFileID() Obter nome de caminho do objecto a partir do respectivo ID do ficheiro
Qp0lOpen() Abrir ficheiro com o nome de caminho activado para NLS Qp0lProcessSubtree() Processar directórios ou objectos numa árvore de directórios
Tabela 13. APIs do sistema de ficheiros integrado (continuação)
Função Descrição
Qp0lRenameKeep() Mudar o nome do ficheiro ou directório, manter novo, se existir
Qp0lRenameUnlink() Mudar o nome do ficheiro ou directório, desligar novo se existir
QP0LROR() Obter referências a objectos QP0LRRO() Obter objectos referenciados QP0LRTSG() Obter assinatura de pesquisa
Qp0lSaveStgFree() Guardar dados de objectos e libertar a respectiva memória Qp0lSetAttr() Definir atributos de sistema para um objecto
Qp0lUnlink() Desligar ficheiro com o nome de caminho activado para NLS Qp0zPipe() Criar canal de interprocessamento com sockets
qsysetegid() Definir ID de grupo efectivo qsyseteuid() Definir ID de utilizador efectivo qsysetgid() Definir ID de grupo
qsysetregid() Definir IDs de grupo reais e efectivos qsysetreuid() Definir IDs de utilizador reais e efectivos qsysetuid() Definir ID de utilizador
QZNFRTVE() Obter informações de exportação de NFS
read() Ler do ficheiro
readdir() Ler entrada de directório
readdir_r() Ler entrada de directório (protecção por módulo) readlink() Ler valor da ligação simbólica
readv() Ler do ficheiro (vector)
rename()
Mudar o nome do ficheiro ou ao directório. Pode ser definido para ter a semântica Qp0lRenameKeep() ou
Qp0lRenameUnlink(). rewinddir() Repor sequência do directório
rmdir() Remover directório
select() Verificar estado de I/O de vários descritores de ficheiros stat() Obter informações sobre o ficheiro
stat64() Obter informações sobre o ficheiro (suporte de ficheiros grandes)
statvfs() Obter informações sobre o sistema de ficheiros
statvfs64() Obter informações sobre o sistema de ficheiros (suporte de ficheiros grandes)
symlink() Criar ligação simbólica
sysconf() Obter variáveis de configuração do sistema takedescriptor() Obter acesso ao ficheiro a partir de outro trabalho umask() Definir máscara de autorização para o trabalho unlink() Remover ligação ao ficheiro
utime() Definir horas de acesso e de modificação do ficheiro write() Escrever no ficheiro
Tabela 13. APIs do sistema de ficheiros integrado (continuação)
Função Descrição
writev() Escrever no ficheiro (vector)
Nota: Algumas destas funções também são utilizadas para terminais do i5/OS.
Tabela 14. Programas de saída do sistema de ficheiros integrado
Função Descrição
Exame do Sistema de Ficheiros Integrado em Fechar Programa de Saída
Chamada durante o processamento de encerramento, tal como com a API close(). Este programa de saída tem de ser fornecido pelo utilizador.
Exame do Sistema de Ficheiros Integrado em Abrir Programa de Saída
Chamada durante o processamento de abertura, tal como com a API open(). Este programa de saída tem de ser fornecido pelo utilizador.
Processar um Nome de Caminho Chamado pela API Qp0lProcessSubtree() para todos os objectos na procura da API que correspondem aos critérios de selecção do programa de chamada. Este programa de saída tem de ser fornecido pelo utilizador.
Guardar Libertação de Memória Chamado pela API Qp0lSaveStgFree() para guardar um tipo de objecto *STMF. Este programa de saída tem de ser fornecido pelo utilizador.
Conceitos relacionados
“Sistemas de Ficheiros” na página 24
Um sistema de ficheiros fornece-lhe o suporte para aceder a segmentos específicos de armazenamento que estão organizados como unidades lógicas. Estas unidades lógicas no servidor são ficheiros, directórios, bibliotecas e objectos.
Referências relacionadas
“Exemplo: Funções C do sistema de ficheiros integrado” na página 136
Este simples programa em linguagem C ilustra a utilização de várias funções do sistema de ficheiros integrado.
“Copiar dados utilizando APIs” na página 121
Se pretender copiar membros de ficheiros de base de dados para um ficheiro de dados contínuos numa aplicação, pode utilizar as funções do sistema de ficheiros integrado open(), read() e write() para abrir um membro e ler e escrever dados no mesmo ou noutro ficheiro.
Informações relacionadas
Interfaces de programação de aplicações (APIs)