• Nenhum resultado encontrado

Executar operações utilizando APIs

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