Muitasdasinterfacesdeprogramaçãode aplicações(APIs)queexecutamoperaçõesem objectosdo sistemadeficheirosintegradoencontram-se sobaformadefunçõesdelinguagemC.
Podeoptar porumdosdoisconjuntosdefunções,podendoutilizarcadaumdelesem programasque sejamcriados utilizandoo IntegratedLanguageEnvironment(ILE)C:
v FunçõesCdosistemadeficheiros integradoqueestãoincluídas nosistemaoperativodoi5/OS. v FunçõesCfornecidaspeloprogramalicenciadoILEC.
Paraobterinformaçõessobreosprogramasdesaídasuportadospelosistemadeficheirosintegrado, consultea Tabela14napágina122.
Asfunçõesdosistemadeficheiros integradooperamapenasatravésdo suportede E/Sdesequênciado sistemadeficheirosintegrado.SãosuportadasasseguintesAPIs:
Tabela13.APIsdosistemadeficheirosintegrado
Função Descrição
access() Determinaracessibilidadedeficheiros
accessx() Determinaraacessibilidadedeficheirosparaumaclassede utilizadores
chdir() Mudardirectórioactual
chmod() Alterarautorizaçõesdoficheiro
chown() Alterarproprietárioegrupodoficheiro
close() Fechardescritordoficheiro
closedir() Fechardirectório
creat() Criarnovoficheirooureescreverficheiroexistente
creat64() Criarnovoficheirooureescreverficheiroexistente(suporte deficheirosgrandes)
DosSetFileLocks() Bloquearedesbloquearintervalodebytesdeumficheiro DosSetFileLocks64() Bloquearedesbloquearintervalodebytesdeumficheiro
(suportedeficheirosgrandes)
DosSetRelMaxFH() Alteraronúmeromáximodosdescritoresdeficheiros
dup() Duplicardescritordoficheiroaberto
dup2() Duplicardescritordoficheiroabertoparaoutrodescritor faccessx() Determinaraacessibilidadedeficheirosparaumaclassede
utilizadorespordescritor
fchdir() Mudarodirectórioactualpordescritor
fchmod() Alterarautorizaçõesdoficheiropordescritor fchown() Alterarproprietárioegrupodoficheiropordescritor
fclear() Eliminarumficheiro
fclear64() Eliminarumficheiro(suportedeficheirosgrandes)
fcntl() Executaracçãodecontrolodeficheiros
fpathconf() Obtervariáveisdonomedecaminhoconfiguráveispor descritor
fstat() Obterinformaçõessobreoficheiropordescritor
fstat64() Obterinformaçõessobreoficheiropordescritor(suportede ficheirosgrandes)
Tabela13.APIsdosistemadeficheirosintegrado (continuação)
Função Descrição
fstatvfs() Obterinformaçõespordescritor
fstatvfs64() Obterinformaçõespordescritor(64bitsactivado)
fsync() Sincronizaralteraçõesaoficheiro
ftruncate() Truncarficheiro
ftruncate64() Truncarficheiro(suportedeficheirosgrandes)
getcwd() Obternomedecaminhododirectórioactual
getegid() ObterIDdogrupoefectivo
geteuid() ObterIDdoutilizadorefectivo
getgid() ObterIDdegruporeal
getgrgid() ObterinformaçõessobreogrupoutilizandooIDdogrupo getgrnam() Obterinformaçõessobreogrupoutilizandoonomedogrupo
getgroups() ObterIDsdogrupo
getpwnam() Obterinformaçõessobreoutilizadorparaonomedo utilizador
getpwuid() ObterinformaçõessobreoutilizadorparaoIDdoutilizador
getuid() ObterIDdeutilizadorreal
givedescriptor() Daraoutrotrabalhoacessoaoficheiro
ioctl() ExecutaracçãodecontrolodeI/Odoficheiro
link() Criarligaçãoaoficheiro
lseek() Definirposiçãodeleitura/escritadoficheiro
lseek64() Definirposiçãodeleitura/escritadoficheiro(suportede ficheirosgrandes)
lstat() Obterinformaçõessobreoficheirooualigação
lstat64() Obterinformaçõessobreoficheirooualigação(suportede ficheirosgrandes)
mkdir() Criardirectório
mkfifo() CriarficheiroespecialFIFO
mmap() Criarumadefiniçãodecorrespondênciasdememória
mmap64() Criarumadefiniçãodecorrespondênciasdememória
(suportedeficheirosgrandes)
mprotect() Alterarumaprotecçãodadefiniçãodecorrespondênciasde memória
msync() Sincronizarumadefiniçãodememória
munmap() Removerumadefiniçãodememória
open() Abrirficheiro
open64() Abrirficheiro(suportedeficheirosgrandes)
opendir() Abrirdirectório
pathconf() Obtervariáveisdonomedecaminhodeconfiguração
pread() Lerdodescritorcomdeslocamento
pread64() Lerdodescritorcomdeslocamento(suportedeficheiros grandes)
Tabela13.APIsdosistemadeficheirosintegrado (continuação)
Função Descrição
pwrite64() Escrevernodescritorcomdeslocamento(suportedeficheiros grandes)
QjoEndJournal() Terminarregistoemdiário
QjoRetrieveJournalInformation() Obterinformaçõesdoregistoemdiário QjoRetrieveJournalEntries() ObterEntradasdeDiário
QJORJIDI() Obterinformaçõesdoidentificadordoregistoemdiário
QJOSJRNE() Enviarentradaderegistoemdiário
QjoStartJournal() Iniciarregistoemdiário
QlgAccess() Determinaracessibilidadedoficheiro(utilizandonomede caminhoactivadoparaNLS)
QlgAccessx()
Determinaraacessibilidadedeficheirosparaumaclassede utilizadores(utilizandoonomedecaminhoquesuporta NLS)
QlgChdir() Alterardirectórioactual(utilizandonomedecaminho activadoparaNLS)
QlgChmod() Alterarautorizaçõesdoficheiro(utilizandonomedecaminho activadoparaNLS)
QlgChown() Alterarproprietárioegrupodoficheiro(utilizandonomede caminhoactivadoparaNLS)
QlgCreat() Criarnovoficheirooureescreverficheiroexistente(utilizando nomedecaminhoactivadoparaNLS)
QlgCreat64()
Criarnovoficheirooureescreverficheiroexistente(suporte paraficheirosgrandeseutilizandonomedecaminho activadoparaNLS)
QlgCvtPathToQSYSObjName()
ProcessarnomedecaminhodoSistemadeFicheiros IntegradoparaNomedoObjectoQSYS(utilizandonomede caminhoactivadoparaNLS)
QlgGetAttr() Obteratributosdosistemaparaumobjecto(utilizandonome decaminhoactivadoparaNLS)
QlgGetcwd() Obternomedecaminhododirectórioactual(utilizando nomedecaminhoactivadoparaNLS)
QlgGetPathFromFileID()
Obternomedecaminhodoobjectoapartirdorespectivo identificadordeficheiro(utilizandonomedecaminho activadoparaNLS)
QlgGetpwnam() Obterinformaçõessobreoutilizadorparaonomedo utilizador(utilizandonomedecaminhoactivadoparaNLS) QlgGetpwnam_r() Obterinformaçõessobreoutilizadorparaonomedo
utilizador(utilizandonomedecaminhoactivadoparaNLS) QlgGetpwuid() ObterinformaçõessobreoutilizadorparaoIDdeutilizador
(utilizandonomedecaminhoactivadoparaNLS)
QlgGetpwuid_r() ObterinformaçõessobreoutilizadorparaoIDdeutilizador (utilizandonomedecaminhoactivadoparaNLS)
QlgLchown() Alterarproprietárioegrupodaligaçãosimbólica(utilizando nomedecaminhoactivadoparaNLS)
QlgLink() Criarligaçãoaoficheiro(utilizandonomedecaminho activadoparaNLS)
Tabela13.APIsdosistemadeficheirosintegrado (continuação)
Função Descrição
QlgLstat() Obterinformaçõessobreoficheirooualigação(utilizando nomedecaminhoactivadoparaNLS)
QlgLstat64() Obterinformaçõessobreoficheirooualigação(suportepara ficheirosgrandesenomedecaminhoactivadoparaNLS) QlgMkdir() Criardirectório(utilizandonomedecaminhoactivadopara
NLS)
QlgMkfifo() CriarficheiroespecialFIFO(utilizandonomedecaminho activadoparaNLS)
QlgOpen() Abrirficheiro(utilizandonomedecaminhoactivadopara NLS)
QlgOpen64() Abrirficheiro(suporteparaficheirosgrandesenomede caminhoactivadoparaNLS)
QlgOpendir() Abrirdirectório(utilizandonomedecaminhoactivadopara NLS)
QlgPathconf() Obtervariáveisdonomedecaminhodeconfiguração (utilizandonomedecaminhoactivadoparaNLS)
QlgProcessSubtree() Processardirectóriosouobjectosnumaárvorededirectórios (utilizandonomedecaminhoactivadoparaNLS)
QlgReaddir() Lerentradadodirectório(utilizandonomedecaminho activadoparaNLS)
QlgReaddir_r() Lerentradadodirectório(protecçãopormóduloeutilizando nomedecaminhoactivadoparaNLS)
QlgReadlink() Lervalordaligaçãosimbólica(utilizandonomedecaminho activadoparaNLS)
QlgRenameKeep() Mudaronomedoficheirooudirectório,manternovo,se existir(utilizandonomedecaminhoactivadoparaNLS) QlgRenameUnlink() Mudaronomedoficheirooudirectório,desligarnovo,se
existir(utilizandonomedecaminhoactivadoparaNLS) QlgRmdir() Removerdirectório(utilizandonomedecaminhoactivado
paraNLS)
QlgSaveStgFree() Guardardadosdeobjectoselibertararespectivamemória (utilizandonomedecaminhoactivadoparaNLS)
QlgSetAttr() Definiratributosdosistemaparaumobjecto(utilizando nomedecaminhoactivadoparaNLS)
QlgStat() Obterinformaçõessobreoficheiro(utilizandonomede caminhoactivadoparaNLS)
QlgStat64() Obterinformaçõessobreoficheiro(suporteparaficheiros grandesenomedecaminhoactivadoparaNLS)
QlgStatvfs() Obterinformaçõessobreosistemadeficheiros(utilizando nomedecaminhoactivadoparaNLS)
QlgStatvfs64() Obterinformaçõessobreosistemadeficheiros(suportepara ficheirosgrandesenomedecaminhoactivadoparaNLS) QlgSymlink() Criarligaçãosimbólica(utilizandonomedecaminho
activadoparaNLS)
QlgUnlink() Desligarficheiro(utilizandonomedecaminhoactivadopara NLS)
Tabela13.APIsdosistemadeficheirosintegrado (continuação)
Função Descrição
QlgUtime() Definirhorasdeacessoaoemodificaçãodoficheiro (utilizandonomedecaminhoactivadoparaNLS) QP0FPTOS() Executaroperaçõesdiversasemsistemasdeficheiros
QP0LCHSG() Alterarassinaturadepesquisa
Qp0lCvtPathToSYSObjName() Processarnomedecaminhodosistemadeficheirosintegrado paraNomedeObjectodeQSYS
QP0LFLOP() Executaroperaçõesdiversasemobjectos
Qp0lGetAttr() Obteratributosdesistemaparaumobjecto
Qp0lGetPathFromFileID() ObternomedecaminhodoobjectoapartirdorespectivoID doficheiro
Qp0lOpen() AbrirficheirocomonomedecaminhoactivadoparaNLS Qp0lProcessSubtree() Processardirectóriosouobjectosnumaárvorededirectórios Qp0lRenameKeep() Mudaronomedoficheirooudirectório,manternovo,se
existir
Qp0lRenameUnlink() Mudaronomedoficheirooudirectório,desligarnovose existir
QP0LROR() Obterreferênciasaobjectos
QP0LRRO() Obterobjectosreferenciados
QP0LRTSG() Obterassinaturadepesquisa
Qp0lSaveStgFree() Guardardadosdeobjectoselibertararespectivamemória Qp0lSetAttr() Definiratributosdesistemaparaumobjecto
Qp0lUnlink() DesligarficheirocomonomedecaminhoactivadoparaNLS Qp0zPipe() Criarcanaldeinterprocessamentocomsockets
qsysetegid() DefinirIDdegrupoefectivo
qsyseteuid() DefinirIDdeutilizadorefectivo
qsysetgid() DefinirIDdegrupo
qsysetregid() DefinirIDsdegruporeaiseefectivos qsysetreuid() DefinirIDsdeutilizadorreaiseefectivos
qsysetuid() DefinirIDdeutilizador
QZNFRTVE() ObterinformaçõesdeexportaçãodeNFS
read() Lerdoficheiro
readdir() Lerentradadedirectório
readdir_r() Lerentradadedirectório(protecçãopormódulo)
readlink() Lervalordaligaçãosimbólica
readv() Lerdoficheiro(vector)
rename()
Mudaronomedoficheiroouaodirectório.Podeserdefinido paraterasemânticaQp0lRenameKeep()ou
Qp0lRenameUnlink().
rewinddir() Reporsequênciadodirectório
rmdir() Removerdirectório
select() VerificarestadodeI/Odeváriosdescritoresdeficheiros
Tabela13.APIsdosistemadeficheirosintegrado (continuação)
Função Descrição
stat64() Obterinformaçõessobreoficheiro(suportedeficheiros grandes)
statvfs() Obterinformaçõessobreosistemadeficheiros
statvfs64() Obterinformaçõessobreosistemadeficheiros(suportede ficheirosgrandes)
symlink() Criarligaçãosimbólica
sysconf() Obtervariáveisdeconfiguraçãodosistema
takedescriptor() Obteracessoaoficheiroapartirdeoutrotrabalho
umask() Definirmáscaradeautorizaçãoparaotrabalho
unlink() Removerligaçãoaoficheiro
utime() Definirhorasdeacessoedemodificaçãodoficheiro
write() Escrevernoficheiro
writev() Escrevernoficheiro(vector)
Nota: Algumas destasfunçõestambémsãoutilizadasparaterminaisdo i5/OS.
Tabela14.Programasdesaídadosistemadeficheirosintegrado
Função Descrição
ExamedoSistemadeFicheirosIntegradoemFechar ProgramadeSaída
Chamadaduranteoprocessamentodeencerramento,tal comocomaAPIclose().Esteprogramadesaídatemdeser fornecidopeloutilizador.
ExamedoSistemadeFicheirosIntegradoemAbrir ProgramadeSaída
Chamadaduranteoprocessamentodeabertura,talcomo comaAPIopen().Esteprogramadesaídatemdeser fornecidopeloutilizador.
ProcessarumNomedeCaminho ChamadopelaAPIQp0lProcessSubtree()paratodosos objectosnaprocuradaAPIquecorrespondemaoscritérios deselecçãodoprogramadechamada.Esteprogramade saídatemdeserfornecidopeloutilizador.
GuardarLibertaçãodeMemória ChamadopelaAPIQp0lSaveStgFree()paraguardarumtipo deobjecto*STMF.Esteprogramadesaídatemdeser fornecidopeloutilizador.
Conceitos relacionados
“Sistemasde Ficheiros”napágina24
Umsistemadeficheirosfornece-lheosuporte paraacedera segmentosespecíficosdearmazenamento queestãoorganizadoscomounidades lógicas.Estasunidades lógicasnoservidor sãoficheiros, directórios,bibliotecaseobjectos.
Referênciasrelacionadas
“Exemplo:Funções Cdo sistemade ficheirosintegrado”napágina129
EstesimplesprogramaemlinguagemCilustraautilização deváriasfunçõesdosistemadeficheiros integrado.
“Copiardados utilizandoAPIs”na página113
Sepretendercopiarmembrosdeficheirosde basededadosparaumficheiro dedadoscontínuos numa aplicação,podeutilizarasfunçõesdosistemade ficheirosintegradoopen(),read()ewrite() paraabrirummembroeler eescreverdadosnomesmoou noutroficheiro.
Informaçõesrelacionadas