• Nenhum resultado encontrado

Executar operações utilizando APIs

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)