Professional Documents
Culture Documents
iSeries
IBM
iSeries
Copyright International Business Machines Corporation 2000, 2001. Todos os direitos reservados.
ndice
Acerca da Introduo ao Sistema de Ficheiros Integrado . . . . . . . . . . . . . . . . vii
Quem deve ler o manual Introduo ao Sistema de Ficheiros Integrado . . . . . . . . . . . . vii
Captulo 1. Introduo ao Sistema de Ficheiros Integrado . . . . . . . . . . . . . . . . 1
O que o sistema de ficheiros integrado? . . . . . . . . . . . . . . . . . . . . . . . . 1
Porqu usar o sistema de ficheiros integrado? . . . . . . . . . . . . . . . . . . . . . . 1
Captulo 2. Conceitos do sistema de ficheiros integrado . . . . . . . . . . . . . . . .
Ficheiros de dados contnuos no sistema de ficheiros integrado . . . . . . . . . . . . . . .
Sistemas de ficheiros no sistema de ficheiros integrado . . . . . . . . . . . . . . . . . .
Directrios no sistema de ficheiros integrado . . . . . . . . . . . . . . . . . . . . . .
Directrio actual e directrio inicial no sistema de ficheiros integrado . . . . . . . . . . . . .
Directrio inicial no sistema de ficheiros integrado . . . . . . . . . . . . . . . . . . .
Nome do caminho no sistema de ficheiros integrado . . . . . . . . . . . . . . . . . . .
Ligao e ligao simblica no sistema de ficheiros integrado . . . . . . . . . . . . . . .
Ligao permanente no sistema de ficheiros integrado. . . . . . . . . . . . . . . . .
Ligao simblica no sistema de ficheiros integrado . . . . . . . . . . . . . . . . . .
Atributos expandidos no sistema de ficheiros integrado . . . . . . . . . . . . . . . . .
Continuidade de nomes atravs de vrios esquemas de codificao no sistema de ficheiros integrado
. 3
. 3
. 3
. 5
. 8
. 8
. 8
. 9
. 10
. 11
. 12
12
.
.
.
.
.
.
.
.
.
.
15
15
15
16
19
21
21
22
23
24
24
do
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Operations
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Navigator
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
27
28
28
28
29
29
29
29
30
30
30
30
31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
33
33
35
35
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
36
37
37
37
38
38
43
43
44
45
46
46
47
47
48
49
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
54
55
55
56
57
57
57
59
60
60
61
61
62
63
63
66
67
67
70
70
72
72
73
73
75
75
ficheiros integrado
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
79
79
80
81
81
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iv
Converso nome-para-endereo . . . . .
eXternal Data Representation (XDR) . . .
Autenticao . . . . . . . . . . . .
RPC Independente do Transporte (TI-RPC) .
APIs simplificadas TI-RPC . . . . . .
APIs de nvel superior TI-RPC. . . . .
APIs de nvel intermdio TI-RPC . . . .
APIs de nvel de perito TI-RPC . . . .
Outras APIs TI-RPC . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
83
84
85
86
86
86
86
86
87
ndice
vi
vii
viii
v Fornecer uma base de sistema de ficheiros e uma base de directrios para suporte de normas de
sistema aberto baseado em UNIX, tais como POSIX (Portable Operating System Interface for Computer
Environments) e XPG. Esta estrutura de ficheiros e esta estrutura de directrios tambm fornecem um
ambiente familiar para os utilizadores de sistemas operativos de PC como, por exemplo, DOS (Disk
Operating System), Windows 95/98 e NT.
v Permitir que ficheiros com capacidades nicas (tais como ficheiros de base de dados orientados para
registos, ficheiros de dados contnuos com base em UNIX e servidor de ficheiros) sejam considerados
como sistemas de ficheiros separados, sendo, no entanto, permitida a respectiva gesto atravs de
uma interface comum.
v Permitir aos utilizadores de PC tirarem o melhor partido da interface grfica de utilizador. Por exemplo,
os utilizadores do Windows podem utilizar as ferramentas grficas do Windows para trabalhar com
ficheiros de dados contnuos do servidor iSeries e outros objectos tal como trabalham com os ficheiros
armazenados nos seus PCs.
v Fornecer a continuidade dos nomes dos objectos e das informaes associadas aos objectos em
diversos idiomas nacionais. Por exemplo, isto garante que os caracteres individuais permaneam
inalterados quando se muda de uma pgina de cdigos de um idioma para a pgina de cdigos de
outro idioma.
Figura 3. Comparao de um ficheiro de dados contnuos com um ficheiro orientado para registos
diferentes e esta diferena na estrutura afecta o modo como os ficheiros so utilizados. A estrutura afecta
a forma como uma aplicao escrita para interagir com os ficheiros, bem como a melhor localizao
para a utilizao de cada tipo de ficheiro numa aplicao. Um ficheiro orientado para registos, por
exemplo, mais adequado para armazenamento de estatsticas de clientes, tais como o nome, endereo
e saldo de conta. Um ficheiro orientado para registos permite que estes campos predefinidos sejam
acedidos e manipulados individualmente, utilizando as funes de programao expandidas do servidor.
Mas, um ficheiro de dados contnuos mais adequado para armazenamento de informaes, tais como
uma imagem do cliente, compostas por uma cadeia contnua de bits representando variaes na cor. Os
ficheiros de dados contnuos so particularmente adequados para armazenamento de cadeias de dados,
tais como o texto de um documento, imagens, udio e vdeo.
Consulte tambm Copiar dados entre ficheiros de dados contnuos e ficheiros de bases de dados na
pgina 33.
Cada sistema de ficheiros tem um conjunto de estruturas e regras lgicas para interagir com a informao
em memria. Estas estruturas e regras podem ser diferentes de um sistema de ficheiros para outro. De
facto, da perspectiva das estruturas e regras, o suporte do OS/400 para aceder a ficheiros de base de
dados e vrios outros tipos de objectos atravs de bibliotecas pode ser considerado como um sistema de
ficheiros. Do mesmo modo, o suporte de OS/400 para aceder a documentos (que so, na realidade,
ficheiros de dados contnuos) atravs da estrutura de pastas pode ser considerado como um sistema de
ficheiros separado.
O sistema de ficheiros integrado considera o suporte de bibliotecas e o suporte de pastas como sistemas
de ficheiros separados. Outros tipos de suporte de gesto de ficheiros que tm capacidades diferentes
so tambm considerados como sistemas de ficheiros separados.
Para ver uma comparao das funes e limitaes de cada sistema de ficheiros, consulte Sistemas de
ficheiros no sistema de ficheiros integrado: comparao na pgina 51.
Os sistemas de ficheiros no sistema de ficheiros integrado so:
NFS
Sistema de Ficheiros da Rede. Este sistema de ficheiros permite-lhe ter acesso a dados e
objectos armazenados num servidor de NFS remoto. Um servidor de NFS pode exportar um
sistema de ficheiros da rede que ser instalado dinamicamente pelos clientes de NFS.
QDLS Sistema de ficheiros de servios da biblioteca de documentos. Este sistema de ficheiros permite o
acesso a documentos e pastas.
QFileSvr.400
Este sistema de ficheiros permite o acesso a outros sistemas de ficheiros que residam em
servidores iSeries remotos.
QNetWare
Sistema de ficheiros QNetWare. Este sistema de ficheiros permite o acesso a dados locais ou
remotos e a objectos que estejam armazenados num servidor que execute Novell NetWare 4.10
ou 4.11, ou a servidores de PC autnomos que executem Novell Netware 3.12, 4.10, 4.11 ou 5.0.
Pode instalar de modo dinmico sistemas de ficheiros NetWare sobre sistemas de ficheiros locais
existentes.
QNTC Sistema de ficheiros do Windows NT Server. Este sistema de ficheiros permite o acesso aos
dados e objectos que esto armazenados num servidor que esteja a utilizar o Windows NT 4.0 ou
superior. Permite s aplicaes do servidor iSeries utilizar os mesmos dados que os clientes do
Windows NT. Inclui o acesso aos dados num servidor Windows NT Server que esteja em
execuo num servidor de PC integrado. Consulte o manual OS/400-AS/400 Integration with
Windows NT Server, SC41-5439-01 (SC41-5439) para obter mais detalhes.
QOpenSys
Sistema de ficheiros de sistemas abertos. Este sistema de ficheiros compatvel com as normas
de sistema aberto com base em UNIX, tais como POSIX e XPG. semelhana do sistema de
ficheiros raiz, este sistema de ficheiros tira partido do suporte de ficheiros de dados contnuos e
directrios que fornecido pelo sistema de ficheiros integrado. Para alm disso, suporta nomes
de objectos sensveis a maisculas e minsculas.
QOPT
Sistema de ficheiros pticos. Este sistema de ficheiros permite o acesso a dados contnuos
armazenados em suportes pticos.
QSYS.LIB
Sistema de ficheiros de biblioteca. Este sistema de ficheiros suporta a estrutura de bibliotecas do
servidor. Este sistema de ficheiros permite o acesso a ficheiros de base de dados e a todos os
outros tipos de objectos do servidor iSeries geridos pelo suporte de bibliotecas.
raiz O sistema de ficheiros raiz (/). Este sistema de ficheiros tira o mximo partido do suporte de
v Optical Support
v OS/400 Network File System Support
hierarquia de directrios. Estes ramos de directrios tm ramos subordinados que se designam por
subdirectrios. Ligados s vrias ramificaes de directrios e subdirectrios encontram-se objectos, tais
como ficheiros. A localizao de um objecto requer a especificao de um caminho atravs dos directrios
para o subdirectrio ao qual o objecto est ligado. Os objectos que esto ligados a um determinado
directrio so, por vezes, descritos como estando nesse directrio.
Um determinado ramo de directrios, respectivos ramos subordinados (subdirectrios) e todos os objectos
a eles ligados, so designados por subrvore. Cada sistema de ficheiros uma subrvore principal na
estrutura de directrios do sistema de ficheiros integrado. No sistema de ficheiros de biblioteca (subrvore
QSYS.LIB), uma biblioteca tratada do mesmo modo que um subdirectrio. Os objectos numa biblioteca
so considerados como objectos num subdirectrio. Uma vez que os ficheiros de base de dados contm
objectos (membros de ficheiros de base de dados), so considerados como subdirectrios e no como
objectos. No sistema de ficheiros de servios da biblioteca de documentos (subrvore QDLS), as pastas
so tratadas como subdirectrios e os documentos em pastas so tratados como objectos num
subdirectrio.
Devido existncia de diferenas nos sistemas de ficheiros, as operaes que podem ser executadas
numa subrvore da hierarquia de directrios pode no funcionar noutra subrvore.
O suporte de directrios do sistema de ficheiros integrado semelhante ao suporte de directrios
fornecido pelo sistema de ficheiros do DOS. Adicionalmente, fornece funes especficas dos sistemas
UNIX, tais como a capacidade de armazenar um ficheiro uma vez s, mas aceder a esse ficheiro atravs
de vrios caminhos utilizando ligaes.
Tipos de directrios:
v Directrio actual e directrio inicial no sistema de ficheiros integrado na pgina 8.
v Directrios fornecidos pelo sistema de ficheiros integrado na pgina 21.
Figura 5. Os sistemas de ficheiros e objectos so ramos da rvore de directrios do sistema de ficheiros integrado
Para sua convenincia, possvel utilizar a barra invertida (\) em vez da barra, nos comandos do sistema
de ficheiros integrado.
H duas formas de indicar um nome de caminho:
v Um nome absoluto do caminho comea no nvel mais elevado ou o directrio raiz (que
identificado pelo carcter /). Por exemplo, considere o caminho seguinte desde o directrio / at ao
ficheiro com o nome Silva.
Repare que o nome de caminho no inclui o nome do directrio actual. O primeiro item no nome o
directrio ou objecto no nvel seguinte abaixo do directrio actual.
utilizador ao ficheiro (consulte Directrio actual e directrio inicial no sistema de ficheiros integrado na
pgina 8 ). Determinados tipos de ligaes podem cruzar sistemas de ficheiros e podem existir sem haver
um objecto.
Existem dois tipos de ligaes: ligaes permanentes e ligaes simblicas.
As ligaes permanentes podem ser removidas sem afectar a existncia de um objecto, desde que exista
uma ligao permanente, no mnimo, para o objecto. Quando a ltima ligao permanente removida, o
objecto removido do servidor, a no ser que uma aplicao mantenha o objecto aberto. Cada aplicao
que mantenha o objecto aberto pode continuar a utiliz-lo at que essa aplicao feche o objecto.
Quando o objecto fechado pela ltima aplicao que o utiliza, removido do servidor. Um objecto no
pode ser aberto depois de a ltima ligao permanente ter sido removida.
O conceito de ligao permanente tambm pode ser aplicado ao sistema de ficheiros de biblioteca
(QSYS.LIB) e ao sistema de ficheiros de servios da biblioteca de documentos (QDLS), mas com uma
restrio. De facto, uma biblioteca tem uma ligao permanente a cada objecto na biblioteca. Da mesma
forma, uma pasta tem uma ligao permanente a cada documento na pasta. No entanto, no so
permitidas mltiplas ligaes permanentes ao mesmo objecto no sistema de ficheiros QSYS.LIB ou
QDLS.
10
Uma ligao permanente no pode cruzar sistemas de ficheiros. Por exemplo, um directrio no sistema
de ficheiros QOpenSys no pode ter uma ligao permanente a um objecto no sistema de ficheiros
QSYS.LIB ou a um documento no sistema de ficheiros QDLS.
Pode seleccionar uma opo de menu para verificar o estado das contas dos clientes. O programa que
apresenta o menu utiliza o nome de caminho seguinte:
/Cliente/Estado/Resumo
O sistema segue a ligao Cliente, que conduz a um directrio 1 e, em seguida, segue a ligao
Estado. A ligao Estado uma ligao simblica, que contm um nome de caminho 2. Uma vez que o
nome de caminho comea por /, o sistema regressa ao directrio / (raiz) e segue as ligaes Registos e
Contas sequencialmente. Este caminho conduz a outro directrio 3. Neste ponto, o sistema conclui o
caminho no nome de caminho fornecido pelo programa. Segue a ligao Resumo, que conduz a um
ficheiro 4 contendo os dados que so necessrios.
11
Ao contrrio de uma ligao permanente, uma ligao simblica um objecto (do tipo de objecto
*SYMLNK); pode existir sem apontar para um objecto que exista. Pode utilizar uma ligao simblica, por
exemplo, para fornecer um caminho a um ficheiro que ser adicionado ou substitudo mais tarde.
Ao contrrio de uma ligao permanente, uma ligao simblica pode cruzar sistemas de ficheiros. Por
exemplo, se estiver a trabalhar em determinado sistema de ficheiros pode utilizar uma ligao simblica
para ter acesso a um ficheiro noutro sistema de ficheiros. Embora os sistemas de ficheiros QSYS.LIB e
QDLS no suportem a criao e armazenamento de ligaes simblicas, poder criar uma ligao
simblica no sistema de ficheiros / ou QOpenSys que lhe permita:
v Aceder a um membro de ficheiro de base de dados no sistema de ficheiros QSYS.LIB.
v Aceder a um documento no sistema de ficheiros QDLS.
Consulte tambm Ligao permanente e ligao simblica: comparao na pgina 46.
12
Este suporte facilita a interaco com um servidor a partir de dispositivos que utilizam diferentes pginas
de cdigos. Por exemplo, os utilizadores de PCs podem ter acesso a um ficheiro do servidor iSeries
utilizando o mesmo nome de ficheiro, mesmo que os respectivos PCs no tenham a mesma pgina de
cdigos que o servidor. A converso a partir de uma pgina de cdigos para outra executada
automaticamente pelo seu servidor. bvio que o dispositivo tem de utilizar uma pgina de cdigos que
contenha os caracteres utilizados no nome.
13
14
15
Alguns sistemas de ficheiros no suportam todas estas operaes. Para obter informaes sobre as
restries de determinado sistema de ficheiros, consulte Sistemas de ficheiros no sistema de ficheiros
integrado na pgina 3.
Descrio
ADDLNK
ADDMFS
APYJRNCHG4
16
Nome alternativo
MOUNT
Descrio
Nome alternativo
CHGATR
CHGAUD
CHGAUT
CHGCURDIR
CD, CHDIR
CHGNFSEXP
EXPORTFS
CHGOWN
CHGPGP
CHKIN
CHKOUT
CPY
CPYFRMSTMF
CPYTOSTMF
CRTDIR
CRTUDFS
CVTRPCSRC
DLTUDFS
DSPAUT
DSPCURDIR
DSPLNK
DSPF
DSPMFSINF
DSPUDFS
COPY
MD, MKDIR
STATFS
17
Descrio
EDTF
ENDJRN4
ENDNFSSVR
ENDRPCBIND
MOV
RLSIFSLCK
RMVDIR
RD, RMDIR
RMVLNK
DEL, ERASE
RMVMFS
RNM
RPCBIND
RST
RTVCURDIR
SAV
SNDJRNE4
STRJRN4
STRNFSSVR
WRKAUT
WRKLNK
WRKOBJOWN1
WRKOBJPGP1
18
Nome alternativo
MOVE
REN
ou
'Dir1\Dir2\Dir3\FichUti'
v Se o nome de caminho no comear por / ou \, assume-se que o caminho comea no directrio actual
do utilizador que introduz o comando; por exemplo:
'MeuDir/MeuFich'
19
v Um til (x) seguido de uma barra (ou barra invertida) no incio de um nome de caminho significa que o
caminho comea no directrio inicial do utilizador que introduz o comando; por exemplo:
'x/DirUtl/ObjUtl'
v Um til (x) seguido de um nome do utilizador e, em seguida, de uma barra (ou barra invertida) no incio
de um nome de caminho significa que o caminho comea no directrio inicial do utilizador identificado
pelo nome do utilizador; por exemplo:
'xnome-utilizador/DirUtl/ObjUtl'
v Em alguns comandos, pode ser utilizado um asterisco (*) ou um ponto de interrogao (?) no ltimo
componente do nome de caminho para procurar padres de nomes. O * indica ao sistema que procure
nomes que contenham qualquer nmero de caracteres na posio do carcter *. O ? indica ao sistema
que procure nomes que tenham um nico carcter na posio do ?. O exemplo que se segue procura
todos os objectos cujos nomes comecem por d e terminem em txt:
'/Dir1/Dir2/Dir3/d*txt'
O exemplo que se segue procura os objectos cujos nomes comeam por d, seguidos de um nico
carcter, e terminem em txt:
'/Dir1/Dir2/Dir3/d?txt'
Para evitar uma possvel confuso com valores especiais do servidor iSeries, os nomes de caminho
no podem ser iniciados por um asterisco (*). Para executar uma correspondncia de padres no incio
de um nome de caminho utilize dois asteriscos (**); por exemplo:
'**.ficheiro'
Nota: Esta regra s se aplica a nomes de caminho relativos em que no existem outros caracteres
antes do asterisco (*).
v Ao trabalhar com objectos no sistema de ficheiros QSYS.LIB, os nomes dos componentes tm de ter o
formato nome.tipo-objecto; por exemplo:
'/QSYS.LIB/PAG.LIB/IMP.FILE'
Consulte Sistema de ficheiros de biblioteca (QSYS.LIB) na pgina 57 para obter mais detalhes.
v O nome de caminho tem de estar entre conjuntos adicionais de plicas (') ou aspas ("), caso seja
utilizado algum dos seguintes caracteres num nome de componente:
Asterisco (*)
Ponto de interrogao (?)
Plica (')
Aspas (")
Til (x), se for utilizado como primeiro carcter no nome do primeiro componente do nome de
caminho (se for utilizado noutra posio, o til interpretado como qualquer outro carcter)
Por exemplo:
/Dir1/Dir/A*Silva
ou
/Dir1/Dir/A*Silva
Esta prtica no recomendada, uma vez que o significado do carcter numa cadeia de comandos
pode ser mal interpretado e provvel que a cadeia de comandos seja introduzida incorrectamente.
v No utilize dois pontos (:) em nomes de caminho. Possui um significado especial no sistema.
v O suporte de processamento para comandos e ecrs de utilizador associados no reconhece
elementos de cdigo inferiores ao hexadecimal 40 como sendo caracteres que possam ser utilizados
em cadeias de comandos ou em ecrs. Se estes elementos de cdigo forem utilizados, tm de ser
introduzidos como uma representao hexadecimal, tal como:
20
crtdir dir(X'02')
21
Figura 10. Utilizar a funo arrastar e largar para mover um ficheiro do servidor iSeries para um cliente de PC
Os objectos copiados entre um servidor iSeries e PCs, utilizando a interface do Windows, podem ser
convertidos automaticamente entre EBCDIC e ASCII. EBCDIC significa Extended Binary-Coded Decimal
Interchange Code e ASCII significa American National Standard Code for Information Interchange. O
Client Access pode ser configurado para executar automaticamente esta converso e at pode especificar
que a converso seja executada nos ficheiros que tenham uma extenso especfica. No OS/400 Verso 4
Edio 4 (V4R4), o NetServer tambm pode ser configurado de modo a executar a converso em
ficheiros.
Dependendo do tipo de objecto, pode utilizar interfaces de PC e, possivelmente, aplicaes de PC para
trabalhar com ele. Por exemplo, um ficheiro de dados contnuos que contm texto pode ser editado
utilizando um editor de PC.
Existem vrias tarefas que pode executar utilizando o sistema de ficheiros integrado a partir do PC:
v Ligar a partir de um PC com o sistema de ficheiros integrado.
v Transferir ficheiros no sistema de ficheiros integrado na pgina 23.
22
Estabelecer ligao
Os ficheiros do sistema de ficheiros integrado podem ser acedidos atravs do Client Access ou do
NetServer. Para ligar o servidor ao PC:
1. Defina as correspondncias de uma unidade de PC, como a unidade I:.
2. Atribua um prefixo ao caminho do servidor com o directrio do servidor, caso esteja a estabelecer
ligao ao Client Access. Por exemplo, quando ligado a um servidor com o nome AS400X, pode
utilizar o caminho \\AS400X\QDLS\MEUARQUI.FLR\MEUFIC.DOC.
Ao estabelecer ligao atravs do NetServer, o nome do servidor pode ser diferente do nome utilizado
pelo Client Access. Por exemplo, o nome do NetServer pode ser QAS400X e o caminho para
trabalhar com ficheiros pode ser \\QAS400X\QDLS\MEUARQUI.FLR\MEUFIC.DOC.
Outra diferena entre o Client Access e o NetServer est nos ficheiros que so disponibilizados para o
utilizador. Para o Client Access, o nvel mximo, o nvel raiz (/), representa todo o servidor iSeries. Cada
directrio no nvel seguinte ao nvel / aparece como um directrio na unidade do iSeries. Este nvel inclui
os directrios que representam os sistemas de ficheiros (tais como QSYS.LIB e QDLS) e quaisquer
subdirectrios de primeiro nvel do sistema de ficheiros raiz (/) (tal como home e tmp).
Para o NetServer, o administrador do sistema escolhe os directrios a partilhar com a rede. Esses
directrios aparecem como primeiro nvel abaixo do nome do servidor. Por exemplo, se o administrador
partilhar o directrio /home/freire com o nome dirfreire, possvel a um utilizador aceder a esse
directrio a partir do PC com o nome \\QAS400X\DIRFREIRE.
O sistema de ficheiros raiz permite um rendimento muito superior para os servios de ficheiros de PC do
que outros sistemas de ficheiros do iSeries. Os administradores podem ter interesse em mover ficheiros
para o sistema de ficheiros raiz. Os ficheiros de PC que se encontram no QDLS so bons candidatos
para serem movidos. A maior parte das aplicaes de PC devero poder continuar a trabalhar com
ficheiros de PC transferidos do QDLS para outros sistemas de ficheiros.
Sistema
Sistema
Sistema
Sistema
Sistema
Sistema
Sistema
Sistema
de
de
de
de
de
de
de
de
23
24
25
26
27
28
7. Faa clique sobre OK para enviar o ficheiro ou a pasta com as actuais definies do pacote e
informaes da marcao assumidas.
Tambm pode Alterar opes para a definio do pacote ou Marcar uma data e uma hora para
enviar o ficheiro ou a pasta.
29
30
Caso prefira utilizar a funo arrastar e largar, pode instalar um UDFS arrastando-o para uma pasta
dentro do sistema de ficheiros integrado, no mesmo servidor. No pode largar o UDFS no /dev,
/dev/QASPxx, noutro sistema nem no ambiente de trabalho.
31
32
33
ficheiros de base de dados. Pode criar um ficheiro de dados contnuos a partir de um membro de ficheiro
de base de dados utilizando o comando CPYTOSTMF. Tambm pode criar um membro de ficheiro de
base de dados a partir de um ficheiro de dados contnuos utilizando o comando CPYFRMSTMF. Se o
ficheiro ou membro que seja o destino da cpia no existir, ser criado.
No entanto, existem algumas limitaes. O ficheiro de base de dados tem de ser um ficheiro fsico
descrito pelo programa que contenha um nico campo ou um ficheiro fsico origem que contenha apenas
um campo de texto. Os comandos disponibilizam uma variedade de opes para converter e formatar de
novo os dados que esto a ser copiados.
Os comandos CPYTOSTMF e CPYFRMSTMF podem tambm ser utilizados para copiar dados entre um
ficheiro de dados contnuos e um ficheiro de salvaguarda.
Comandos CPYTOIMPF e CPYFRMIMPF
Pode tambm utilizar os comandos Copiar para Ficheiro de Importao (CPYTOIMPF) e Copiar do
Ficheiro de Importao (CPYFRMIMPF) para copiar dados entre ficheiros de dados contnuos e membros
da base de dados. Os comandos CPYTOSTMF e CPYFRMSTMF no lhe permitem mover dados de
ficheiros de base de dados complexos e descritos externamente (descritos em DDS). O termo ficheiro de
importao refere-se ao ficheiro do tipo dados contnuo; o termo refere-se normalmente a um ficheiro
criado com a finalidade de copiar dados entre bases de dados heterogneas.
Quando efectua uma cpia a partir de um ficheiro de dados contnuos (ou de importao), o comando
CPYFRMIMPF permite-lhe especificar um ficheiro de definio de campo (FDF), que descreve os dados
do ficheiro de dados contnuos. Tambm pode especificar se o ficheiro de dados contnuos delimitado e
que caracteres so utilizados para marcar os limites de cadeia, campo e registo. Tambm so fornecidas
opes para converter tipos de dados especiais como, por exemplo, hora e data.
A converso de dados fornecida nestes comandos se o ficheiro de dados contnuos ou membro da base
de dados destino j existir. Se o ficheiro no existir, pode utilizar o seguinte mtodo, constitudo por dois
passos, para converter os dados:
1. Utilize os comandos CPYTOIMPF e CPYFRMIMPF para copiar os dados entre o ficheiro descrito
externamente e um ficheiro fsico origem.
2. Utilize os comandos CPYTOSTMF e CPYFRMSTMF (que permitem a converso total dos dados,
independentemente de o ficheiro destino existir ou no) para copiar entre o ficheiro fsico origem e o
ficheiro de dados contnuos.
Segue-se um exemplo:
CPYTOIMPF FROMFILE(FICHDB2) TOFILE(FICHEXP) DTAFMT(*DLM)
FLDDLM(';') RCDDLM(X'07') STRDLM('"') DATFMT(*USA) TIMFMT(*USA)
O parmetro DTAFMT especifica que o ficheiro de dados contnuos (importao) de input delimitado; a
outra opo DTAFMT(*FIXED), que requer a especificao de um ficheiro de definio de campo. Os
parmetros FLDDLM, RCDDLM e STRDLM identificam os caracteres que funcionam como delimitadores
ou separadores dos campos, registos e cadeias.
Os parmetros DATFMT e TIMFMT indicam o formato das informaes de data e hora que so copiadas
para o ficheiro de importao.
Os comandos so teis porque podem ser colocados num programa, sendo executados inteiramente no
servidor. No entanto, as interfaces so complexas.
Nota: Os comandos CPYTOIMPF e CPYFRMIMPF esto disponveis na Verso 4 Edio 3 (V4R3). Antes
disso, estavam disponveis em algumas edies por PTF (Program Temporary Fix):
34
35
Tambm pode executar esta movimentao de dados num trabalho batch atravs de aplicaes
Transferncia de Dados. Proceda do modo descrito anteriormente, mas seleccione a opo de menu
Ficheiro para guardar o pedido de transferncia. A aplicao Transferncia de Dados para o AS/400 cria
um ficheiro .DTT ou .TFR. A aplicao Transferncia de Dados do AS/400 cria um ficheiro .DTF ou .TTO.
No directrio do Client Access possvel executar dois programas em modo batch a partir de uma linha
de comandos:
v RTOPCB aceita um ficheiro .DTF ou .TTO como parmetro
v RFROMPCB aceita um ficheiro .DTT ou .TFR como parmetro
Pode definir qualquer um destes comandos para execuo programada utilizando uma aplicao de
marcao. Por exemplo, pode utilizar a ferramenta System Agent Tool (faz parte do pacote Microsoft Plus)
para especificar o programa a executar (por exemplo, RTOPCB MEUFICH.TTO) e a hora a que pretende
executar o programa.
36
37
Descrio
access()
chdir()
chmod()
chown()
close()
closedir()
Fechar directrio
creat()
creat64()
DosSetFileLocks()
DosSetFileLocks64()
DosSetRelMaxFH()
dup()
dup2()
fchmod()
fchown()
fcntl()
fpathconf()
fstat()
fstat64()
38
Descrio
fstatvfs()
fstatvfs64()
fsync()
ftruncate()
Truncar ficheiro
ftruncate64()
getcwd()
getegid()
geteuid()
getgid()
getgrgid()
getgrnam()
getgroups()
getwpnam()
getpwuid()
getuid()
givedescriptor()
ioctl()
link()
lseek()
lseek64()
lstat()
lstat64()
mmap()
mmap64()
mprotect()
msync()
munmap()
mkdir()
Criar directrio
mkfifo()
open()
Abrir ficheiro
open64()
opendir()
Abrir directrio
pathconf()
pipe()
QjoEndJournal()
QJORJIDI()
39
Descrio
QjoRetrieveJournal Information()
QJOSJRNE()
QjoStartJournal()
QlgAccess()
QlgChdir()
QlgChmod()
QlgChown()
QlgCreat()
QlgCreat64()
QlgCvtPathToQSYSObjName()
QlgGetAttr()
QlgGetcwd()
QlgGetPathFromFileID()
QlgGetpwnam()
QlgGetpwnam_r()
QlgGetpwuid()
QlgGetpwuid_r()
QlgLchown()
QlgLink()
QlgLstat()
QlgLstat64()
QlgMkdir()
QlgMkfifo()
QlgOpen()
40
Descrio
QlgOpen64()
QlgOpendir()
QlgPathconf()
QlgProcessSubtree()
QlgReaddir()
QlgReaddir_r()
QlgReadlink()
QlgRenameKeep()
QlgRenameUnlink()
QlgRmdir()
QlgSaveStgFree()
QlgSetAttr()
QlgStat()
QlgStat64()
QlgStatvfs()
QlgStatvfs64()
QlgSymlink()
QlgUnlink()
QlgUtime()
Qp0lCvtPathToSYSObjName()
Qp0lFLOP()
Qp0lGetAttr()
Qp0lGetPathFromFileID()
Qp0lOpen()
Qp0lProcessSubtree()
41
Descrio
Qp0lRenameKeep()
Qp0lRenameUnlink()
Qp0lSaveStgFree()
Qp0lSetAttr()
Qp0lUnlink()
QZNFRTVE()
read()
Ler do ficheiro
readdir()
readdir_r()
readlink()
readv()
rename()
rewinddir()
rmdir()
Remover directrio
select()
stat()
stat64()
statvfs()
statvfs64()
symlink()
sysconf()
takedescriptor()
umask()
unlink()
utime()
write()
Escrever no ficheiro
writev()
Para obter mais informaes sobre cada funo, consulte as categorias tipo de UNIX ou Registo em
Dirio e Consolidao das APIs, no tpico APIs do OS/400 no Information Center do iSeries. Para obter
uma anlise da converso de dados utilizando a funo open(), consulte Converso de dados no sistema
de ficheiros integrado na pgina 49.
Algumas destas funes so tambm utilizadas para os sockets do OS/400 (consulte Suporte de socket
no sistema de ficheiros integrado na pgina 47).
Para obter informaes sobre as restries de utilizao destas funes em determinados sistemas de
ficheiros, consulte Sistemas de ficheiros no sistema de ficheiros integrado na pgina 3.
42
Para obter um exemplo de um programa que utiliza as funes C do sistema de ficheiros integrado,
consulte o Apndice B. Programa exemplo que utiliza funes C do sistema de ficheiros integrado na
pgina 89.
Figura 11. As funes de ILE C/400 utilizam as funes de I/O de dados contnuo do sistema de ficheiros integrado.
Para obter mais informaes sobre a utilizao de funes de ILE C/400 com o I/O de dados contnuo do
sistema de ficheiros integrado, consulte o manual ILE C/C++ Programmers Guide
. Para obter
detalhes sobre cada funo C de ILE C/400, consulte o manual ILE C/C++ Language Reference
43
A barra invertida (\) no reconhecida como um separador. considerada como qualquer outro
carcter no nome.
v Os nomes de objecto devem ser exclusivos dentro do directrio.
v O comprimento mximo de cada componente do nome de caminho e o comprimento mximo da cadeia
do nome de caminho podem variar em cada um dos sistemas de ficheiros. Consulte Sistemas de
ficheiros no sistema de ficheiros integrado: comparao na pgina 51 para obter os limites de cada
sistema de ficheiros.
v / no incio de um nome de caminho significa que o caminho comea no directrio raiz (/); por
exemplo:
/Dir1/Dir2/Dir3/FichUtil
v Se o nome de caminho no comear por /, assume-se que o caminho comea no directrio actual; por
exemplo:
MeuDir/MeuFich
Note que esta regra s se aplica a nomes de caminho relativos em que no existam outros caracteres
antes do asterisco (*).
v Ao trabalhar com objectos no sistema de ficheiros QSYS.LIB, os nomes dos componentes tm de ter o
formato nome.tipo-objecto; por exemplo:
/QSYS.LIB/SALRIOS.LIB/PAG.FILE
44
2. Se o rtulo da macro _LARGE_FILES for definido pelas aplicaes na compilao, sero definidas
correspondncias entre as APIs e as estruturas de dados actuais e as respectivas verses de 64 bits.
Por exemplo, se uma aplicao definir _LARGE_FILES na compilao, ser definida uma chamada API
stat() para API stat64() e a estrutura stat ser definida para a estrutura stat64.
As aplicaes que pretendam utilizar o suporte de ficheiros grandes podem definir _LARGE_FILE_API na
compilao e serem codificadas directamente para as APIs de 64 bits ou podem definir _LARGE_FILES na
compilao, sendo todas as APIs e estruturas de dados apropriadas definidas automaticamente para a
verso de 64 bits.
As aplicaes que no pretendam utilizar o suporte de ficheiros grandes no so afectadas e podem
continuar a utilizar as APIs do sistema de ficheiros integrado sem alteraes.
Se uma funo de I/O de dados contnuos de ILE C/400 for utilizada com o sistema de ficheiros
integrado, o suporte de tempo de execuo de ILE C/400 converte o indicador de ficheiro num descritor
de ficheiro.
Quando utilizar os sistemas de ficheiros raiz (/), QOpenSys ou definido pelo utilizador, pode transferir o
acesso a uma descrio de ficheiro aberto de um trabalho para outro, permitindo, por conseguinte, que o
trabalho tenha acesso ao ficheiro. Para isso, utilize a funo givedescriptor() ou takedescriptor(), para
45
passar o descritor do ficheiro entre os trabalhos. Para obter uma descrio destas funes, consulte
Programao de Sockets ou a seco APIs de Sockets, na seco Programao de APIs do Sistema no
Information Center do iSeries.
Ligao Permanente
Resoluo do nome
Mais rpida. Uma ligao permanente Mais lenta. Uma ligao simblica
contm uma referncia directa ao
contm um nome de caminho para o
objecto.
objecto, que tem de ser resolvido
para encontrar o objecto.
Existncia de objecto
Eliminao do objecto
46
Ligao simblica
Ligao Permanente
Ligao simblica
mbito
47
Repare que os nomes dos atributos expandidos de um objecto so convertidos do mesmo modo que o
nome do objecto, por conseguinte, as mesmas consideraes tambm se aplicam.
Para obter mais informaes sobre pginas de cdigo, consulte a seco Globalizao no Information
Center do iSeries.
48
NomeEmpresaNomeProduto.Nome_Atributo
49
50
/ (raiz)
QOpenSys
QSYS.LIB
QDLS
QNTC
Sim
Sim
Sim
Sim
Sim
Tipo de ficheiro
Dados
Contnuos
Dados
Contnuos
Registo
Dados
Contnuos
Dados
Contnuos
No
No
Sim
No
Sim
Sim
Sim
Sim
No
No
No
No
Sim
Mdia
No
Sim
No
255 car
255 car
10,6 car
16MB
16MB
55 car
2GB
2GB
Varia
Sem limite
11
Mdia
10
Sem limite
Baixa
10
12
Baixa
No
Mdia
8,3 car
No
7
255 car
82 car
255 car
32KB
64KB
32
127
32 767
32 767
Sim
Sim
No
No
No
Sim
Sim
Sim
Sim
No
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
No
No
No
Sim
No
Sim
Sim
Sim
No
Sim
No
No
13
Sim
Sim
14
Sim
51
/ (raiz)
QOpenSys
QSYS.LIB
QDLS
QNTC
Notas:
1. O processador de I/O do servidor de ficheiros hardware utilizado pelo LAN Server.
2. Quando acedido atravs do servidor de ficheiros do OS/400.
3. Quando acedido atravs de um PC de cliente do LAN Server. O acesso utilizando as APIs do AS/400
relativamente lento.
4. Consulte Sistema de ficheiros de biblioteca (QSYS.LIB) na pgina 57 para obter detalhes.
5. Consulte Sistema de Ficheiros de Servios da Biblioteca de Documentos (QDLS) na pgina 59 para obter
detalhes.
6. At 10 caracteres para o nome do objecto e at 6 caracteres para o tipo do objecto. Consulte Sistema de
ficheiros de biblioteca (QSYS.LIB) na pgina 57 para obter mais detalhes.
7. At 8 caracteres para o nome e de 1 a 3 caracteres para a extenso do tipo de ficheiro (se existir alguma).
Consulte Sistema de Ficheiros de Servios da Biblioteca de Documentos (QDLS) na pgina 59 para obter
detalhes.
8. Assumindo um nome absoluto de caminho que comea por / seguido do nome do sistema de ficheiros (tal
como /QDLS...).
9. O sistema de ficheiros QSYS.LIB suporta trs atributos expandidos predefinidos: .SUBJECT, .CODEPAGE e
.TYPE. O comprimento mximo determinado pelo comprimento combinado destes trs atributos expandidos.
10. Na prtica, os nveis de directrios so limitados pelos limites de espao do programa e do sistema.
11. Excepto um directrio, que pode ter apenas uma ligao a outro directrio.
12. Os espaos dados pelo utilizador no QSYS.LIB suportam input e output de ficheiros de dados contnuos.
13. As APIs do sistema de ficheiros integrado tm proteco para mdulos quando a operao direccionada para
um objecto que reside num sistema de ficheiros com proteco para mdulos. Quando estas APIs so
executadas em objectos de sistemas de ficheiros sem proteco para mdulos quando estiverem a ser
executados mltiplos mdulos no trabalho, a API falhar.
14. O QSYS.LIB pode suportar o registo em dirio de diferentes tipos de objecto alm da raiz, UDFS e sistemas de
ficheiros QOpenSys. Consulte o manual Cpia de Segurana, Recuperao e Disponibilidade no Information
Center do iSeries para obter mais informaes sobre o registo em dirio de objectos que residem no
QSYS.LIB.
Abreviaturas
car = caracteres
B = bytes
KB = quilobytes
MB = megabytes
GB = gigabytes
QFileSvr.400
UDFS
NFS
QNetWare
Sim
Sim
Sim
No
Tipo de ficheiro
Dados Contnuos
Dados
Contnuos
Dados
Contnuos
Dados Contnuos
Integrado com o
No
OfficeVision (por exemplo,
o ficheiro pode ser
enviado por correio)
No
No
No
No
Acesso atravs do
servidor de ficheiros do
OS/400
Sim
Sim
Sim
Sim
Sim
No
No
No
Sim
Velocidade comparativa
para abrir/fechar
Baixa
52
QOPT
Dados
Contnuos
Baixa
Mdia
Mdia
Alta
11
QOPT
Procura de nomes
sensvel a maisculas e
minsculas
No
Comprimento mximo de
cada componente no
nome de caminho
Varia
Comprimento mximo do
nome de caminho
294 car
QFileSvr.400
No
Varia
12
QNetWare
Varia
No
255 car
Varia
255 car
16MB
Sem limite
2GB
NFS
2
Sim
Sem limite
UDFS
10
255 car
64KB
Nveis mximos da
hierarquia de directrios
dentro do sistema de
ficheiros
Sem limite
32 767
Varia
Suporta ligaes
simblicas
No
No
Sim
Sim2
No
No
No
Sim
Sim2
Sim
Suporta comandos do
sistema de ficheiros
integrado
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
No
No
No2
No
14
Sim
No
Sim
No
No
No
No
No
Sem limite
No
Sem limite
Sim
15
13
Sem limite
100
53
QOPT
QFileSvr.400
UDFS
NFS
QNetWare
Notas:
1. O processador de I/O do servidor de ficheiros hardware utilizado pelo LAN Server.
2. Depende em que sistema de ficheiros est a ser acedido.
3. Quando acedido atravs do servidor de ficheiros do OS/400
4. Consulte Sistema de Ficheiros ptico (QOPT) na pgina 61 para obter detalhes.
5. Assumindo um nome absoluto de caminho que comea com uma / seguido do nome do sistema de ficheiros.
6. O sistema de ficheiros QFileSvr.400 no devolve atributos expandidos mesmo que o sistema de ficheiros a ser
acedido suporte atributos expandidos.
7. Na prtica, os nveis de directrios so limitados pelos limites de espao do programa e do sistema.
8. Excepto um directrio, que pode ter apenas uma ligao a outro directrio.
9. O sistema de ficheiros a ser acedido poder suportar proprietrios de objecto.
10. O comprimento mximo dos atributos expandidos para o prprio UDFS no pode exceder 40 bytes.
11. Quando acedido atravs de um PC cliente da Novell NetWare. O acesso utilizando as APIs do AS/400
relativamente lento.
12. A opo sensvel a maisculas e minsculas pode ser especificada quando for criado um UDFS. Se o
parmetro *MIXED for utilizado quando criar um UDFS, permitir uma procura sensvel a maisculas e
minsculas.
13. Os objectos de Servios de Directrio da NetWare tm um mximo de 255 caracteres. Os ficheiros e os
directrios esto limitados ao formato 8.3 do DOS.
14. As APIs do sistema de ficheiros integrado esto protegidas por mdulo quando so acedidas num processo
suportando mltiplos mdulos. O sistema de ficheiros no permite o acesso aos sistemas de ficheiros que no
estejam protegidos por mdulos.
15. Um UDFS um Conjunto de Memria Auxiliar Independente (IASP, Independent Auxiliary Storage Pool) que
no suporta o registo em dirio de objectos.
Abreviaturas
car = caracteres
B = bytes
KB = quilobytes
MB = megabytes
GB = gigabytes
54
/dev/null so rejeitados. O ficheiro /dev/null tem um tipo de objecto de *CHRSF e pode ser utilizado
como um ficheiro normal, com excepo do o facto de no serem lidos dados do ficheiro e que todos os
dados escritos no ficheiro so rejeitados.
v Os componentes dos nomes de caminho aps o nome da partilha seguem as regras de nomes de
caminho do Windows NT. Os nomes dos directrios e o nome do objecto combinados podem ocupar o
comprimento total do caminho, ou seja 255 caracteres.
v No existe limite para o comprimento da hierarquia de directrios, para alm dos limites de espao do
programa e servidor.
v Os caracteres nos nomes so convertidos para o formato 1 do Nvel UCS2 quando os nomes so
armazenados (consulte Continuidade de nomes atravs de vrios esquemas de codificao no sistema
de ficheiros integrado na pgina 12).
So permitidas mltiplas ligaes permanentes para o mesmo objecto no sistema de ficheiros raiz (/). As
ligaes simblicas so suportadas na sua totalidade. Uma ligao simblica pode ser utilizada para
estabelecer ligao entre um sistema de ficheiros raiz (/) e um objecto de outro sistema de ficheiros,
como, por exemplo, QSYS.LIB ou QDLS.
Para obter uma descrio de ligaes, consulte Ligao e ligao simblica no sistema de ficheiros
integrado na pgina 9.
Todas as APIs da linguagem C includas em APIs do Sistema de ficheiros integrado na pgina 38 podem
ser utilizadas no sistema de ficheiros raiz (/) com proteco para mdulos.
55
v
v
v
v
Suporta
Suporta
Suporta
Suporta
Utilizar o QOpenSys
O QOpenSys pode ser acedido atravs da interface do sistema de ficheiros integrado utilizando o servidor
de ficheiros do OS/400 ou os comandos do sistema de ficheiros integrado, ecrs do utilizador e APIs de
linguagem C.
v Cada componente do nome de caminho pode ter at 255 caracteres de comprimento. O nome
completo do caminho pode ter at 16 megabytes de comprimento.
v No existe limite ao comprimento da hierarquia de directrios, para alm dos limites de espao do
programa e servidor.
v Os caracteres nos nomes so convertidos para o formato 1 do Nvel UCS2 quando os nomes so
armazenados (consulte Continuidade de nomes atravs de vrios esquemas de codificao no sistema
de ficheiros integrado na pgina 12).
56
57
campo de texto. Os ficheiros fsicos suportados para o acesso em modo binrio incluem ficheiros
fsicos descritos externamente, para alm dos ficheiros suportados para acesso em modo de texto.
v O bloqueio de intervalo de bytes no suportado. (Para obter mais informaes acerca do bloqueio de
intervalo de bytes, consulte a funo fcntl() na seco Sistema de Ficheiros Integrado APIs, em
Programao de APIs do Sistema , do Information Center do iSeries).
v Se qualquer trabalho tiver um membro de ficheiro de base de dados aberto, concedido apenas a um
trabalho o acesso de escrita nesse para esse membro do ficheiro, em qualquer altura. Aos outros
trabalhos s permitido o acesso de leitura.
O nome do objecto e o tipo de objecto so separados por um ponto (.). Os objectos numa biblioteca
podem ter o mesmo nome se tiverem tipos de objectos diferentes, pelo que o tipo de objecto tem de
ser especificado para identificar o objecto de forma exclusiva.
v O nome do objecto em cada componente pode ter at 10 caracteres de comprimento e o tipo de
objecto pode ter at 6 caracteres de comprimento.
v A hierarquia de directrios do QSYS.LIB pode ter dois ou trs nveis (dois ou trs componentes no
nome de caminho), dependendo do tipo de objecto que est a ser acedido. Se o objecto for um ficheiro
58
de base de dados, a hierarquia pode conter trs nveis (biblioteca, ficheiro, membro); caso contrrio, s
podero existir dois nveis (biblioteca, objecto). A combinao do comprimento de cada nome do
componente e o nmero de nveis de directrios determina o comprimento mximo do nome de
caminho.
Se / e QSYS.LIB forem includos como os dois primeiros nveis, a hierarquia de directrios do
QSYS.LIB pode ter at cinco nveis.
v Os caracteres nos nomes so convertidos para CCSID 37, quando os nomes so armazenados. No
entanto, os nomes entre plicas so armazenados utilizando o CCSID do trabalho.
Para obter mais informaes sobre CCSID, consulte a seco Globalizao, no Information Center do
iSeries.
59
ou por um nome e uma extenso (semelhante a uma extenso de ficheiro do DOS), tal como:
/QDLS/ARQ1/DOC1.TXT
v O nome em cada componente pode ter at 8 caracteres de comprimento e a extenso (se existir) pode
ter at 3 caracteres de comprimento. O comprimento mximo do nome de caminho 82 caracteres,
assumindo um nome de caminho absoluto comeado por /QDLS.
v A hierarquia de directrios do QDLS pode ter 32 nveis. Se / e QDLS forem includos nos primeiros dois
nveis, a hierarquia de directrios poder ter 34 nveis.
v Os caracteres dos nomes so convertidos para a pgina de cdigos do trabalho quando os nomes so
armazenados, a menos que tenha sido criada a rea Q0DEC500 na biblioteca QUSRSYS. Se esta
rea de dados existir, os caracteres dos nomes so convertidos para a pgina de cdigos 500 quando
os nomes forem armazenados. Esta funo faculta compatibilidade com o comportamento do sistema
de ficheiros QDLS em edies anteriores. Um nome pode ser rejeitado se no puder ser convertido
para a pgina de cdigos adequada.
60
Para obter mais informaes sobre pginas de cdigo, consulte a seco Globalizao, no Information
Center do iSeries.
61
As APIs do HFS permitem-lhe executar algumas operaes adicionais que o sistema de ficheiros
integrado no suporta. Nomeadamente, pode utilizar as APIs do HFS para ter acesso e alterar os
atributos expandidos de directrio (tambm conhecidos por atributos de entrada de directrio) ou para
trabalhar com ficheiros pticos retidos. Certifique-se de que as regras de nomenclatura para a utilizao
de APIs de HFS so diferentes das regras de nomenclatura para as APIs que utilizem a interface do
sistema de ficheiros integrado.
Poder encontrar detalhes sobre as APIs do HFS em Referncia das APIs do Sistema, no Information
Center do iSeries ou no manual Optical Support
62
ficheiros QOPT. No se esquea que pode no ser seguro utilizar estes comandos de CL num processo
com capacidade para vrios mdulos; podem ser aplicveis determinadas restries, dependendo do
formato do suporte ptico. Aplicam-se as mesmas restries aos ecrs do utilizador descritos em
Executar operaes no sistema de ficheiros integrado na pgina 15.
v No so suportados pelo sistema de ficheiros QOPT os seguintes comandos do sistema de ficheiros
integrado:
ADDLNK
CHKIN
CHKOUT
WRKOBJOWN
WRKOBJPGP
63
64
onde Remoto1 o sistema local. Quando especificado o nome de caminho que contm um ciclo, o
sistema de ficheiros QFileSvr.400 devolve um erro aps um breve perodo de tempo. O erro indica que
o tempo de espera foi excedido.
O sistema de ficheiros QFileSvr.400 utilizar uma sesso livre existente quando comunicar atravs de
SNA. necessrio iniciar o modo e estabelecer uma sesso para o QFileSvr.400 ligar com xito ao
sistema de comunicaes remoto.
65
Consulte Ligao e ligao simblica no sistema de ficheiros integrado na pgina 9 para obter uma
descrio das ligaes.
Pode criar mltiplos UDFSs atribuindo a cada um nome nico. Pode especificar outros atributos para um
UDFS durante a criao, incluindo:
v Um nmero de conjunto de memria auxiliar (ASP) ou nome do Conjunto de Memria Independente
(IASP) onde os objectos que esto localizados no UDFS so armazenados.
v As caractersticas de sensibilidade a maisculas e minsculas dos nomes de objecto localizados num
UDFS.
66
67
onde XX o nmero do ASP onde armazenou o UDFS e nome_udfs o nome exclusivo do UDFS nesse
ASP. Se o UDFS residir num IASP, os nomes de ficheiro especial de blocos tm de ter o formato
/dev/nome_iasp/nome_udfs.udfs
onde nome_iasp o nome do IASP onde armazenou o UDFS e nome_udfs o nome exclusivo do UDFS
nesse IASP. Tenha em ateno que o nome do UDFS tem de terminar com a extenso .udfs.
Os nomes de caminho para objectos contidos num UDFS so relativos ao directrio no qual um UDFS
instalado. Por exemplo, se instalar o UDFS /disp/qasp01/wysocki.udfs em /home/dinis, os nomes de
caminho de todos os objectos do UDFS comearo por /home/dinis.
Descrio
ADDMFS
CRTUDFS
DLTUDFS
DSPMFSINF
DSPUDFS
MOUNT
RMVMFS
UNMOUNT
Nota: Tem de instalar um UDFS para poder executar comandos do sistema de ficheiros integrado nos
objectos armazenados nesse UDFS.
68
69
70
Na segunda opo, importante perceber que qualquer sistema de ficheiros instalado a partir de um
servidor UNIX ter um comportamento muito parecido com o do sistema de ficheiros QOpenSys do
servidor iSeries. Para obter mais informaes sobre o sistema de ficheiros QOpenSys, consulte Sistema
de ficheiros de sistemas abertos (QOpenSys) na pgina 55.
Na terceira opo, ter de consultar a documentao sobre o sistema de ficheiros associado ao sistema
operativo do servidor.
Descrio
ADDMFS
CHGNFSEXP
DSPMFSINF
ENDNFSSVR
EXPORTFS
MOUNT
RLSIFSLCK
RMVMFS
STRNFSSVR
71
Descrio
UNMOUNT
Nota: necessrio instalar um Sistema de Ficheiros da Rede para que seja possvel utilizar comandos
no mesmo.
Nota: necessrio instalar um Sistema de Ficheiros da Rede para que seja possvel utilizar APIs no
mesmo.
Esta sintaxe de caminho muito semelhante sintaxe dos comandos de NetWare MAP. Os caminhos
NDS podem ser utilizados para especificar um caminho para o volume NetWare mas no podem ser
instalados.
72
As extenses .TRE, .C, .O, .OU, e .CN so utilizadas para representar rvores NDS, pases,
organizaes, unidades organizacionais e nomes comuns, respectivamente. Se um volume da Novell
Netware for acedido pelo caminho NDS atravs de um objecto volume ou de um nome alternativo para
um objecto volume, o directrio raiz tambm ser automaticamente instalado no objecto NDS.
73
74
v
v
v
v
75
76
v As funes chmod(), fchmod(), utime() e umask() no tero qualquer efeito nos objectos do QNTC, mas
se tentar utiliz-las, no causar um erro.
v O sistema de ficheiros QNTC no suporta as seguintes funes:
chown()
fchown()
givedescriptor()
link()
Qp0lGetPathFromFileID()
readlink()
symlink()
takedescriptor()
77
78
79
do ficheiro mestre do cliente. Caso esteja a reconstruir encomendas, o ficheiro mestre do cliente tem
de incluir novos clientes ou novas alteraes aos limites de crdito, que tenham sido efectuadas desde
a ltima salvaguarda.
Para obter mais informaes sobre o esquema das vrias entradas de registo, existe um ficheiro include
em linguagem C, o qp0ljrnl.h, includo no membro QSYSINC/H (QP0LJRNL), que contm detalhes acerca
dos formatos e contedo especficos dos dados das entradas de registo de IFS.
80
de Segurana e Recuperao
B1
B2
B3
B4
Criar Resumo
Adicionar Ligao
Mudar nome/Mover
Desligar (Directrio Ascendente)
Captulo 7. Suporte de registo em dirio para objectos do sistema de ficheiros integrado
81
v B5 Interromper (Ligao)
v FA Alterao de Atributos
v JT Iniciar Registo em Dirio (apenas quando o registo em dirio iniciado devido a uma operao
num directrio com o estado do valor de registo em dirio definido como Sim)
v OA Alterao de Autoridades
v OG Alterao do Grupo Principal do Objecto
v OO Alterao do Proprietrio do Objecto
Vrias entradas de registo em dirio de IFS tm um campo de dados especfico que indica se a entrada
uma entrada de resumo. As operaes que enviam tipos de entrada de resumo enviam dois dos
mesmos tipos de entrada ao registo. A primeira entrada contm um subconjunto dos dados especficos da
entrada. A segunda entrada contm dados especficos da entrada completos e indicar que se trata de
uma entrada de resumo. Os programas que executam a replicao do objecto e/ou a reproduo da
operao normalmente s se interessam por entradas de resumo.
Para uma operao de criao num directrio registado, a entrada de registo B1 (Criar Resumo)
considerada a entrada de resumo.
Algumas operaes registadas em dirio precisam de enviar uma entrada de registo que esteja de modo
oposto relacionada operao. Por exemplo, um ciclo de controlo de consolidao que contm uma
entrada de registo B4 (Desligar) pode tambm conter uma entrada de registo B2 (Adicionar Ligao). Este
tipo de cenrio s ocorre em operaes que resultam numa entrada de registo Remover Alteraes ( C
RB) .
Ele pode ocorrer por duas razes:
1. A operao estava prestes a falhar e a entrada era necessria internamente para limpeza do caminho
com erro ou
2. A operao foi interrompida por uma desactivao do sistema e, durante o IPL subsequente, a
recuperao que tinha de enviar a entrada foi executada para remover as alteraes feitas na
operao interrompida.
82
Seleces de rede
As APIs que se seguem fornecem o meio de seleco do transporte, em que uma aplicao dever ser
executada.
Estas APIs requerem a presena do ficheiro *STMF /etc/netconfig no sistema. Se o ficheiro netconfig no
existir no directrio /etc, o utilizador ter de o copiar do directrio /QIBM/ProdData/OS400/RPC. O ficheiro
netconfig est sempre no directrio /QIBM/ProdData/OS400/RPC.
API
Descrio
endnetconfig()
freenetconfigent()
getnetconfig()
getnetconfigent()
setnetconfig()
Converso nome-para-endereo
As APIs que se seguem permitem que uma aplicao obtenha o endereo de um servio ou sistema
central especificado de uma forma independente do transporte.
API
Descrio
netdir_free()
netdir_getbyaddr()
netdir_getbyname()
netdir_options()
83
API
Descrio
netdir_sperror()
Emite uma mensagem informativa que indica porque uma das APIs de
converso de nome para endereo falhou
taddr2uaddr()
uaddr2taddr()
Descrio
xdr_array()
xdr_bool()
xdr_bytes()
xdr_char()
xdr_double()
xdr_double_char()
xdr_enum()
xdr_free()
xdr_float()
xdr_int()
xdr_long()
Um valor primitivo de filtro que faz a converso entre nmeros inteiros longos
de linguagem C e as respectivas representaes externas
xdr_netobj()
xdr_opaque()
84
API
Descrio
xdr_pointer()
xdr_reference()
xdr_short()
Um valor primitivo de filtro que faz a converso entre nmeros inteiros curtos
de linguagem C e a respectiva representao externa
xdr_string()
xdr_u_char()
xdr_u_int()
Um valor primitivo de filtro que faz a converso entre nmeros inteiros sem
sinal de linguagem C e as respectivas representaes externas
xdr_u_long()
Um valor primitivo de filtro que faz a converso entre nmeros inteiros longos
sem sinal de linguagem C e as respectivas representaes externas
xdr_u_short()
Um valor primitivo de filtro que faz a converso entre nmeros inteiros curtos
sem sinal de linguagem C e as respectivas representaes externas
xdr_union()
xdr_vector()
xdr_void()
xdr_wrapstring()
Autenticao
As APIs que se seguem fornecem autenticao s aplicaes da Chamada de Procedimento Remoto
Independente do Transporte (TI-RPC).
API
Descrio
auth_destroy()
authnone_create()
authsys_create()
85
Descrio
rpc_call()
rpc_reg()
Descrio
clnt_call()
clnt_control()
clnt_create()
clnt_destroy()
svc_create()
svc_destroy()
Descrio
clnt_tp_create()
svc_tp_create()
Descrio
clnt_tli_create()
rpcb_getaddr()
rpcb_set()
rpcb_unset()
86
API
Descrio
svc_reg()
svc_tli_create()
svc_unreg()
Descrio
clnt_freeres()
clnt_geterr()
svc_freeargs()
svc_getargs()
svc_getrpccaller()
svc_run()
svc_sendreply()
svcerr_decode()
svcerr_noproc()
svcerr_systemerr()
87
88
Utiliza a funo open() para criar um ficheiro. Concede a autoridade de leitura, escrita e execuo
do ficheiro ao proprietrio (a pessoa que criou o ficheiro).
Utiliza a funo write() para escrever uma cadeia de bytes no ficheiro. O descritor de ficheiro que
foi fornecido na operao de abertura (3) identifica o ficheiro.
Utiliza a funo mkdir() para criar um novo subdirectrio no directrio actual. concedido ao
proprietrio acesso de leitura, escrita e execuo no subdirectrio.
Utiliza a funo chdir() para passar do novo subdirectrio para o directrio actual.
Utiliza a funo link() para criar uma ligao ao ficheiro anteriormente criado (3).
Utiliza a funo open() para abrir o ficheiro apenas para leitura. A ligao que foi criada em (8)
permite o acesso ao ficheiro.
10
Utiliza a funo read() para ler uma cadeia de bytes a partir do ficheiro. O descritor de ficheiro
que foi fornecido na operao de abertura (9) identifica o ficheiro.
11
12
13
Utiliza a funo chdir() para passar do directrio actual novamente para o directrio ascendente,
onde o novo subdirectrio foi criado.
14
15
Nota: Este programa exemplo ser correctamente executado nos sistemas em que o CCSID do trabalho
em que executado seja 37. As APIs do sistema de ficheiros integrado tm de ter os nomes de
objectos e de caminhos codificados no CCSID do trabalho; no entanto, o compilador de C
armazena constantes de caracteres no CCSID 37. Para compatibilidade total, converta as
constantes de caracteres, como por exemplo, nomes de objectos e caminhos, antes de transferir
APIs para o CCSID do trabalho. Para obter mais informaes sobre como utilizar o comando
inconv() para converter cadeias de caracteres de um CCSID para outro, consulte o manual OS/400
National Language Support APIs,(SC41-5863-01).
#include
#include
#include
#include
#include
#define
#define
#define
#define
#define
#define
<stdlib.h>
<stdio.h>
<fcntl.h>
<unistd.h>
<sys/types.h>
BUFFER_SIZE
NEW_DIRECTORY
TEST_FILE
TEST_DATA
USER_ID
PARENT_DIRECTORY
2048
"testdir"
"test.file"
"Ol Mundo!"
"id_util_"
".."
89
char
char
char
char
int
int
int
uid_t
InitialFile[BUFFER_SIZE];
LinkName[BUFFER_SIZE];
InitialDirectory[BUFFER_SIZE] = ".";
Buffer[32];
FilDes = -1;
BytesRead;
BytesWritten;
UserID;
90
chdir(PARENT_DIRECTORY);
rmdir(NEW_DIRECTORY);
unlink(TEST_FILE);
break;
case 11:
printf("No foi possvel remover ligao %s.\n",LinkName);
unlink(LinkName);
chdir(PARENT_DIRECTORY);
rmdir(NEW_DIRECTORY);
unlink(TEST_FILE);
break;
case 12:
printf("No foi possvel passar para o directrio %s.\n",
PARENT_DIRECTORY);
chdir(PARENT_DIRECTORY);
rmdir(NEW_DIRECTORY);
unlink(TEST_FILE);
break;
case 13:
printf("No foi possvel remover directrio %s.\n",NEW_DIRECTORY);
rmdir(NEW_DIRECTORY);
unlink(TEST_FILE);
break;
case 14:
printf("No foi possvel remover ficheiro %s.\n",TEST_FILE);
unlink(TEST_FILE);
break;
default:
break;
}
printf("O Programa terminou com Erros.\n"\
" possvel que nem todos os ficheiros e directrios de teste tenham sido removidos.\n");
}
int main ()
{
1
/* Obtm e imprime o verdadeiro ID do utilizador com a funo getuid(). */
UserID = getuid();
printf("O verdadeiro ID de utilizador %u.
\n",UserID);
2
/* Obtm o directrio de trabalho actual e guarda-o em InitialDirectory. */
if ( NULL == getcwd(InitialDirectory,BUFFER_SIZE) )
{
perror("Erro na funo getcwd");
CleanUpOnError(1);
return 0;
}
printf("O directrio de trabalho actual %s. \n",InitialDirectory);
3
/* Cria o ficheiro TEST_FILE para escrita, se no existir.
Concede ao proprietrio autoridade para ler, escrever e executar. */
FilDes = open(TEST_FILE, O_WRONLY | O_CREAT | O_EXCL, S_IRWXU);
if ( -1 == FilDes )
{
perror("Erro na funo open");
CleanUpOnError(2);
return 0;
}
printf("Foi criado %s no directrio %s.\n",TEST_FILE,InitialDirectory);
4
/* Escrever TEST_DATA para TEST_FILE via FilDes */
BytesWritten = write(FilDes,TEST_DATA,strlen(TEST_DATA));
Apndice B. Programa exemplo que utiliza funes C do sistema de ficheiros integrado
91
if ( -1 == BytesWritten )
{
perror("Erro na funo write");
CleanUpOnError(3);
return 0;
}
printf("Foi escrito %s no ficheiro %s.\n",TEST_DATA,TEST_FILE);
5
/* Fecha TEST_FILE via FilDes */
if ( -1 == close(FilDes) )
{
perror("Erro na funo close");
CleanUpOnError(4);
return 0;
}
FilDes = -1;
printf("O ficheiro %s est fechado.\n",TEST_FILE);
6
/* Cria um novo directrio no directrio de trabalho actual e
concede ao proprietrio autoridade de keitura, escrita e execuo */
if ( -1 == mkdir(NEW_DIRECTORY, S_IRWXU) )
{
perror("Erro na funo mkdir");
CleanUpOnError(5);
return 0;
}
printf("Foi criado o directrio %s no directrio %s.\n",NEW_DIRECTORY,InitialDirectory);
7
/* Passa do directrio de trabalho actual para o
directrio NEW_DIRECTORY criado. */
if ( -1 == chdir(NEW_DIRECTORY) )
{
perror("Erro na funo chdir");
CleanUpOnError(6);
return 0;
}
printf("Passagem para o directrio %s/%s.\n",
InitialDirectory,NEW_DIRECTORY);
/* Copia PARENT_DIRECTORY para InitialFile e
acrescenta "/" e TEST_FILE a InitialFile. */
strcpy(InitialFile,PARENT_DIRECTORY);
strcat(InitialFile,"/");
strcat(InitialFile,TEST_FILE);
/* Copia USER_ID para LinkName e, depois, acrescenta o
ID de utilizador como uma cadeia a LinkName. */
strcpy(LinkName, USER_ID);
sprintf(Buffer, "%d\0", (int)UserID);
strcat(LinkName, Buffer);
8
/* Cria uma ligao ao nome InitialFile com o LinkName. */
if ( -1 == link(InitialFile,LinkName) )
{
perror("Erro na funo link");
CleanUpOnError(7);
return 0;
}
printf("Foi criada uma ligao %s a %s.\n",LinkName,InitialFile);
9
/* Abre o ficheiro LinkName apenas para leitura. */
if ( -1 == (FilDes = open(LinkName,O_RDONLY)) )
92
{
perror("Erro na funo open");
CleanUpOnError(8);
return 0;
}
printf("%s est aberto para leitura.\n",LinkName);
10
/* L do ficheiro LinkName, via FilDes, para Buffer. */
BytesRead = read(FilDes,Buffer,sizeof(Buffer));
if ( -1 == BytesRead )
{
perror("Erro na funo read");
CleanUpOnError(9);
return 0;
}
printf("%s foi lido a partir de %s.\n",Buffer,LinkName);
if ( BytesRead != BytesWritten )
{
printf("AVISO: o nmero de bytes lidos no "\
" igual ao nmero de bytes escritos.\n");
}
11
/* Fecha o ficheiro LinkName via FilDes. */
if ( -1 == close(FilDes) )
{
perror("Erro na funo close");
CleanUpOnError(10);
return 0;
}
FilDes = -1;
printf("%s fechado.\n",LinkName);
12
/* Termina a ligao LinkName a InitialFile. */
if ( -1 == unlink(LinkName) )
{
perror("Erro na funo unlink");
CleanUpOnError(11);
return 0;
}
printf("%s est removido.\n",LinkName);
13
/* Passa do directrio de trabalho actual
de novo para o directrio inicial. */
if ( -1 == chdir(PARENT_DIRECTORY) )
{
perror("Erro na funo chdir");
CleanUpOnError(12);
return 0;
}
printf("A passar o directrio para %s.\n",InitialDirectory);
14
/* Remove o directrio NEW_DIRECTORY */
if ( -1 == rmdir(NEW_DIRECTORY) )
{
perror("Erro na funo rmdir");
CleanUpOnError(13);
return 0;
}
printf("A remover o directrio %s.\n",NEW_DIRECTORY);
15
/* Desliga o ficheiro TEST_FILE */
Apndice B. Programa exemplo que utiliza funes C do sistema de ficheiros integrado
93
if ( -1 == unlink(TEST_FILE) )
{
perror("Erro na funo unlink");
CleanUpOnError(14);
return 0;
}
printf("A remover o ficheiro %s.\n",TEST_FILE);
94
95
96
Bibliografia
Esta bibliografia lista as informaes do servidor
iSeries que contm informaes de segundo
plano ou mais detalhes sobre as informaes
abordadas neste manual.
v As informaes sobre Linguagem de controlo,
includas na categoria Programao do
Information Center do iSeries, fornecem uma
descrio da linguagem de controlo (CL) do
servidor iSeries e dos seus comandos. Cada
descrio de comandos inclui um diagrama de
sintaxe, parmetros, valores assumidos,
palavras-chave e um exemplo.
v O tpico Globalizao do Information Center do
iSeries explica os conceitos de suporte de
idioma nacional (NLS), como, por exemplo,
conjunto de caracteres e pgina de cdigos, e
fornece informaes necessrias para avaliar,
planear e utilizar as capacidades de mltiplos
idiomas e de NLS do servidor iSeries.
v As informaes sobre APIs do OS/400 contidas
na categoria Programao do Information
Center do iSeries fornecem uma descrio de
cada API do OS/400, incluindo as APIs do
sistema de ficheiros integrado.
Este
v OS/400 Network File System Support
manual descreve o NFS atravs de uma srie
de aplicaes prticas. Inclui tambm
informaes sobre como exportar, instalar,
bloquear ficheiros e consideraes sobre
segurana. A partir deste manual, pode
aprender a utilizar o NFS para criar e
desenvolver um espao de nome de rede
protegida.
Este manual constitui
v Optical Support
uma fonte de informaes e de consulta para o
utilizador sobre o IBM Optical Support no
OS/400. As informaes neste manual podem
ajudar o utilizador a compreender os conceitos
do servidor de dados da biblioteca ptica, a
planear uma biblioteca ptica, a administrar e a
funcionar com um servidor de dados da
biblioteca ptica e a resolver problemas no
servidor de dados pticos.
Este
v ILE C/C++ Programmers Guide
manual fornece informaes necessrias para
conceber, editar, compilar, executar e depurar
programas do ILE C/400 no servidor iSeries.
97
Bibliografia
98
ndice Remissivo
A
directrio (continuao)
no programa de exemplo 89
o que ? 5
sistema de ficheiros integrado
directrio actual 8
directrio de trabalho 8
directrio inicial 8
API
ILE C/400 43
programa de exemplo 89
regras do nome de caminho 43
sistema de ficheiros integrado 38
utilizar em programas C 33, 38
atributo expandido de CODEPAGE 48
atributo expandido de SUBJECT 48
atributo expandido de TYPE 48
atributos expandidos
continuidade entre idiomas nacionais 12, 47
directrizes de nomenclatura 48
o que so? 12
tipos 48
tratar 48
autoridade
comandos 16
funes (APIs) 38
limitaes do sistema de ficheiros QNTC 75
limitaes para o sistema de ficheiros
QFileSvr.400 65
no programa de exemplo 89
tratamento em programas 46
E
ecrs
regras do nome de caminho 19
utilizar 15
espao de utilizador
utilizar no sistema de ficheiros QSYS.LIB 58
esquemas de codificao 12, 47
exemplo
nomes de caminho 9, 19, 43
programa utilizando APIs do sistema de ficheiros
integrado 89
utilizar ligao simblica 11
B
bibliografia
97
C
Client Access 22
cliente de PC
trabalhar com sistema de ficheiros integrado
clientes de PC
como os sistemas de ficheiros esto
representados 23
comandos
lista 16
regras do nome de caminho 19
utilizar 16
converso
dados 49
nomes do objecto 12, 47
converso de caracteres 2, 12, 47
converso de dados 49
D
descrio de ficheiro aberto
descritor de ficheiros 45
directrio
actual 8
benefcio 1
comandos 16
funes (APIs) 38
inicial 8
menus e ecrs 16
45
21
21
ficheiro 89
funes (APIs) 38
menus e ecrs 16
modos de abertura 49
transferir 23
ficheiro de base de dados
comparao com ficheiros de dados contnuos 3
copiar de/para ficheiro de dados contnuos 33
criar a partir de ficheiro de dados contnuos 33
ficheiro de dados contnuos
benefcio 1
comparao com ficheiro orientado para registos 3
copiar para/de ficheiro de base de dados 33
indicar a utilizao no ILE C/400 43
no programa de exemplo 89
o que ? 3
por que utilizar? 3
utilizar em programas 33
ficheiros de salvaguarda
utilizar no sistema de ficheiros QSYS.LIB 58
FTP 23
funes
ILE C/400 43
no programa de exemplo 89
regras do nome de caminho 43
sistema de ficheiros integrado 38
utilizar em programas C 33, 38
I
ILE C/400
APIs alternativas 38
funes de ANSI 43
funes do sistema de ficheiros integrado
38
99
indicadores 45
Informao Impressa Relacionada 97
Interface de utilizador
comandos 16
menus e ecrs 15
visualizar a partir de PCs 23
interface do sistema de ficheiros integrado
1, 2, 5
L
ligao
comandos 16
comparao 46
funes (APIs) 38
menus e ecrs 16
no programa de exemplo 89
o que ? 9
permanente 10
por que utilizar? 9
simblica 11
utilizar no sistema de ficheiros / (raiz) 55
utilizar no sistema de ficheiros QDLS 61
utilizar no sistema de ficheiros QFileSvr.400 65
utilizar no sistema de ficheiros QNTC 76
utilizar no sistema de ficheiros QOpenSys 56
utilizar no sistema de ficheiros QOPT 62
utilizar no sistema de ficheiros QSYS.LIB 59
ligao permanente
comparao com ligao simblica 46
o que ? 10
ligao simblica
comparao com ligao permanente 46
exemplo de utilizao 11
o que ? 11
LU 6.2 no sistema de ficheiros QFileSvr.400 64
O
objecto
migrar atravs de sistemas de ficheiros
operaes (programa de exemplo) 89
24
P
pgina de cdigos 2, 12, 47
pastas
sistema de ficheiros QDLS 4, 59
permisso 46
processador de I/O do servidor de ficheiros 5
programa de linguagem C
exemplo 89
funes de ILE C/400 43
funes do sistema de ficheiros integrado 38
Protocolo de Transferncia de Ficheiros 23
QFileSvr.400
QOPT 4
menus
regras do nome de caminho 19
utilizar 15
modo de acesso 46
modo de ficheiro aberto binrio 49
modo de ficheiro aberto de texto 49
modos de ficheiro aberto 49
100
64
segurana
comandos 16
funes (APIs) 38
limitaes do sistema de ficheiros QNTC 75
limitaes para o sistema de ficheiros
QFileSvr.400 65
tratamento em programas 46
servidor de ficheiros 5
servidor de ficheiros de PC 5
servidor de ficheiros do OS/400 5
sistema de ficheiros
benefcio 2
biblioteca (QSYS.LIB)
caractersticas e limitaes 57
descrio 4
comparao 51
interface 5
migrar objectos 24
o que ? 3
T
TCP/IP no sistema de ficheiros QFileSvr.400 64
transferncia atravs de sistemas de ficheiros 24
ndice Remissivo
101
U
unicode
102
12
IBM