Académique Documents
Professionnel Documents
Culture Documents
AS/400e
Copyright International Business Machines Corporation 1999, 2000. Reservados todos los derechos.
Contenido
Acerca de la introduccin al sistema de archivos integrado . . . . . . . . . . v
Quin debe leer el manual Introduccin al sistema de archivos integrado? . . . . . . . . . . . v Migracin de objetos a otro sistema de archivos del sistema de archivos integrado . . . . . . 26
iii
Utilizacin de QOPT mediante la interfaz del sistema de archivos integrado . . . . . . . Sistema de archivos del servidor de archivos OS/400 (QFileSvr.400) . . . . . . . . . . . Utilizacin de QFileSvr.400 mediante la interfaz del sistema de archivos integrado . . . . . . Sistema de archivos definido por el usuario (UDFS) Conceptos del sistema de archivos integrado UDFS . . . . . . . . . . . . . . . Utilizacin de UDFS mediante la interfaz del sistema de archivos integrado . . . . . . . Sistema de archivos de red (NFS) . . . . . . . Utilizacin de los sistemas de archivos NFS mediante la interfaz del sistema de archivos integrado . . . . . . . . . . . . . . Sistema de archivos NetWare (QNetWare) . . . . Montar sistemas de archivos NetWare . . . . Estructura de directorios de QNetWare . . . . Utilizacin de QNetWare mediante la interfaz del sistema de archivos integrado . . . . . . . Sistema de archivos de Windows NT Server (QNTC) Utilizacin de QNTC mediante la interfaz del sistema de archivos integrado . . . . . . .
57 59 60 63 63 64 67
67 69 70 70 71 72 73
Apndice C. Ejemplo de cdigo RPG para un sistema de archivos integrado . 89 Bibliografa . . . . . . . . . . . . . 91 ndice . . . . . . . . . . . . . . . 93
iv
vi
Sistema de archivos integrado Directorios Bibliotecas Archivos de base de datos Archivos continuos Objetos Carpetas Documentos
RV3N076-1
Sistema de archivos
Sistema de archivos
Sistema de archivos
RV3N062-1
v Permite a los usuarios de PC aprovechar mejor la interfaz grfica de usuario. Por ejemplo, los usuarios de Windows pueden utilizar las herramientas grficas de Windows para efectuar operaciones en los archivos continuos y otros objetos del AS/400 de la misma manera que lo hacen en los archivos almacenados en sus PC. v Este soporte proporciona continuidad en los nombres de objeto e informacin de objeto asociada al pasar de un idioma nacional a otro. Este soporte garantiza que los caracteres individuales se mantienen iguales al cambiar de la pgina de cdigos de un idioma a la pgina de cdigos de otro idioma.
Archivo continuo
Registro 1 Registro 2
..............................
Campo 1 Campo 2 Campo 3
Registro n
RV3N081-0
forma distinta, y esta diferencia estructural afecta a la utilizacin de los mismos. La estructura afecta a la forma de escribir una aplicacin para interactuar con los archivos y en qu parte de la aplicacin es ms adecuado cada tipo de archivo. Un archivo orientado a registro, por ejemplo, resulta adecuado para almacenar estadsticas de cliente, como por ejemplo nombre, direccin y saldo de cuentas. Un archivo orientado a registro permite acceder individualmente a estos campos predefinidos y manipularlos, utilizando los amplios recursos de programacin del AS/400. Sin embargo, un archivo continuo es ms adecuado para almacenar informacin como, por ejemplo, la imagen de un cliente, que se compone de una serie continua de bits que representan variaciones de color. Los archivos continuos son adecuados especialmente para almacenar series de datos como el texto de un documento, imgenes, audio y vdeo. Consulte tambin el apartado Los archivos continuos en los programas en la pgina 29.
QDLS El sistema de archivos de servicios de biblioteca de documentos. Este sistema de archivos proporciona acceso a documentos y carpetas. | | | QFileSvr.400 Este sistema de archivos proporciona acceso a otros sistemas de archivos que residen en sistemas AS/400 remotos. QNetWare El sistema de archivos QNetWare. Da acceso a datos y objetos locales o remotos almacenados en un servidor en el que se ejecuta Novell NetWare 4.10 o 4.11, o en Servidores PC autnomos en los que se ejecuta Novell NetWare 3.12, 4.10, 4.11 o 5.0. El usuario puede montar de forma dinmica los sistemas de archivos NetWare encima de sistemas de archivos locales existentes. QNTC El sistema de archivos de Windows NT Server. Este sistema de archivos proporciona acceso a los datos y objetos que se encuentran almacenados en un servidor con Windows NT 4.0 o una versin superior. Posibilita que las aplicaciones del AS/400 utilicen los mismos datos que los clientes de Windows NT. En este caso se incluye el acceso a los datos que se encuentran en un sistema Windows NT Server que se ejecute en un Servidor PC integrado. Si desea obtener detalles, puede consultar la publicacin AS/400 Integracin de OS/400 con Windows NT Server, SC10-3235 (SC41-5439). QOpenSys El sistema de archivos de los sistemas abiertos. Es compatible con los estndares de sistemas abiertos basados en UNIX como, por ejemplo, POSIX y XPG. Al igual que el sistema de archivos raz, este sistema de archivos se beneficia del soporte de directorios y archivos continuos que proporciona el sistema de archivos integrado. Adems, dispone de soporte para nombres de objeto sensibles a maysculas y minsculas.
QOPT El sistema de archivos ptico. Da acceso a los datos continuos almacenados en soportes pticos. QSYS.LIB El sistema de archivos de biblioteca. Da soporte a la estructura de bibliotecas del AS/400. Este sistema de archivos proporciona acceso a los archivos de base de datos y a todos los dems tipos de objeto del AS/400 que gestiona el soporte de bibliotecas. raz El sistema de archivos /. Este sistema de archivos obtiene el mximo provecho del soporte de archivos continuos y de la estructura jerrquica de directorios del sistema de archivos integrado. Tiene las caractersticas de los sistemas de archivos del DOS y del OS/2. UDFS El sistema de archivos definido por el usuario. Reside en la agrupacin de almacenamiento auxiliar (ASP) elegida por el usuario, que es quien crea y gestiona este sistema de archivos. Puede interactuar con cualquiera de los sistemas de archivos a travs de una interfaz comn. Esta interfaz est optimizada para entrada/salida de datos continuos, en contraste con la entrada/salida de registro proporcionada mediante las interfaces de gestin de datos. Los mandatos, mens y pantallas, e interfaces de programacin de aplicaciones (API) suministradas permiten la interaccin con los sistemas de archivos a travs de esta interfaz comn. Para obtener ms informacin, consulte los temas y publicaciones siguientes:
Clientes UNIX, AS/400 o PC Clientes PC
Usuarios AS/400
Aplicaciones
Sistema de Sistema de Sistema de Sistema de Sistema de Sistema de archivos archivos archivos archivos archivos archivos UDFS QNetWare QFileSvr.400 NFS QNTC QOPT
RV3N721-2
Figura 4. Sistemas de archivos, servidores de archivos y la interfaz del sistema de archivos integrado
Figura 5. Los sistemas de archivos y los objetos son ramas del rbol de directorios del sistema de archivos integrado
Para comodidad de los usuarios, puede utilizarse la barra inclinada invertida (\) en lugar de la barra inclinada en los mandatos del sistema de archivos integrado. Existen dos modos de indicar un nombre de va de acceso: v Un nombre de va de acceso absoluto empieza en el nivel superior, o directorio raz (que se identifica por el carcter / ). Por ejemplo, piense en la va de acceso siguiente desde el directorio / hasta el archivo denominado Prez.
/
Depto2
Directorio "raz"
El nombre de va de acceso absoluto tambin se denomina nombre de va de acceso completo. v Si el nombre de la va de acceso no empieza con el carcter /, el sistema presupone que la va de acceso empieza en el directorio actual. Este tipo de nombre de va de acceso se denomina nombre de va de acceso relativo. Por ejemplo, si el directorio actual es Depto2 y tiene un subdirectorio denominado Fotos que contiene el archivo Prez, el nombre de va de acceso relativo al archivo es:
Fotos/Prez
Observe que el nombre de va de acceso no incluye el nombre del directorio actual. El primer elemento del nombre es el directorio u objeto del siguiente nivel inferior del directorio actual.
10
Directorio
XXXXXX XXXXXX XXXXXX
Directorio
XXXXXX
Dir 2
Arc hiv o1
Los enlaces fijos se pueden eliminar sin que afecte a la existencia de un objeto, siempre que exista, como mnimo, un enlace fijo disponible con el objeto. Cuando se elimina el ltimo enlace fijo, el objeto se elimina del sistema, excepto si una aplicacin tiene abierto el objeto. Cada aplicacin que tiene abierto el objeto puede continuar utilizndolo hasta que la aplicacin cierre el objeto. Cuando la ltima aplicacin que utiliza el objeto lo cierra, el objeto se elimina del sistema. Un objeto no se puede abrir despus de haberse eliminado el ltimo enlace fijo. El concepto de enlace fijo tambin se puede aplicar al sistema de archivos de biblioteca (QSYS.LIB) y al sistema de archivos de servicios de biblioteca de documentos (QDLS), pero con una restriccin. Una biblioteca, en efecto, tiene un enlace fijo con cada objeto de la biblioteca. Del mismo modo, una carpeta tiene un enlace fijo con cada documento de la carpeta. No obstante, no se permiten los enlaces fijos mltiples con el mismo objeto en el sistema de archivos QSYS.LIB ni QDLS. Un enlace fijo no puede cruzar sistemas de archivos. Por ejemplo, un directorio del sistema de archivos QOpenSys no puede tener un enlace fijo con un objeto del sistema de archivos QSYS.LIB ni con un documento del sistema de archivos QDLS.
r1 Di
Estadsticas
o1 hiv Arc
Directorio
XXXXXX XXXXXX
Archivo
....... ....... .......
os Dat
RV3N066-1
11
/
Re gi st ro s
Directorio
Directorio
es nt ie Cl
Cuentas
Directorio
Estado
/Registros/Cuentas
Archivo
Se selecciona una opcin de men para mostrar el estado de las cuentas de clientes. El programa que visualiza el men utiliza el nombre de va de acceso siguiente:
/Cliente/Estado/Resumen
El sistema sigue el enlace Cliente, que conduce a un directorio 1 , y despus sigue el enlace Estado. El enlace Estado es un enlace simblico, que contiene un nombre de va de acceso 2 . Puesto que el nombre de va de acceso empieza por /, el sistema vuelve al directorio (raz) / y sigue los enlaces Registros y Cuentas en orden secuencial. Esta va de acceso conduce a otro directorio 3 .Ahora el sistema completa la va de acceso del nombre de va de acceso que proporciona el programa. Sigue el enlace Resumen, que conduce a un archivo 4 que contiene los datos que necesita el usuario. A diferencia del enlace fijo, el enlace simblico es un objeto (de tipo de objeto *SYMLNK); puede existir sin sealar a un objeto existente. Puede utilizar un enlace simblico, por ejemplo, para proporcionar una va de acceso a un archivo que se ha de aadir o sustituir ms adelante. Tambin, a diferencia del enlace fijo, el enlace simblico puede cruzar sistemas de archivos. Por ejemplo, un usuario de un programa que trabaja en un sistema de archivos puede utilizar un enlace simblico para acceder a un archivo de otro sistema de archivos. Aunque los sistemas de archivos QSYS.LIB y QDLS no disponen de soporte para crear y almacenar enlaces simblicos, se puede crear un enlace simblico en el sistema de archivos / o QOpenSys que permite lo siguiente:
n ume Res
RV3N068-1
12
v Acceder a un miembro de archivo de base de datos del sistema de archivos QSYS.LIB. v Acceder a un documento del sistema de archivos QDLS. Consulte tambin el apartado Enlaces fijos y enlaces simblicos: comparacin en la pgina 40.
RV3N141-0
Este soporte facilita la interaccin con un AS/400 desde dispositivos que utilizan pginas de cdigos diferentes. Por ejemplo, los usuarios de PC pueden acceder a
Captulo 2. Conceptos del sistema de archivos integrado
13
un archivo del AS/400 utilizando el mismo nombre de archivo, aunque los PC no tengan la misma pgina de cdigos que el AS/400. El sistema maneja automticamente la conversin de una pgina de cdigos a otra. Obviamente, el dispositivo debe utilizar una pgina de cdigos que contenga los caracteres utilizados en el nombre.
14
15
v v v v v v v v
Visualizar y cambiar el nombre del directorio actual Aadir, visualizar, cambiar y eliminar enlaces de objetos Copiar, mover y redenominar objetos Reservar y reincorporar objetos
Salvar y restaurar objetos Visualizar y cambiar propietarios de objetos y autorizaciones de usuarios Copiar datos entre archivos continuos y miembros de archivo de base de datos Crear, suprimir y visualizar el estado de los sistemas de archivos definidos por el usuario v Exportar sistemas de archivos de un servidor v Montar y desmontar sistemas de archivos en un cliente Determinados sistema de archivos no disponen de soporte para todas estas operaciones. Para conocer las restricciones de sistemas de archivos concretos, consulte el Sistemas de archivos en el sistema de archivos integrado en la pgina 4.
CHGAUD CHGAUT
CHGCURDIR
16
CPYTOSTMF
DLTUDFS DSPAUT
DSPCURDIR DSPLNK
DSPF DSPMFSINF
17
REN
SAV STRNFSSVR
WRKAUT
WRKLNK
WRKOBJOWN1
WRKOBJPGP1
1. Los mandatos WRKOBJOWN y WRKOBJPGP pueden visualizar todos los tipos de objeto, pero puede ser que no funcionen completamente en todos los sistemas de archivos. 2. Si desea obtener detalles sobre cada uno de los mandatos, puede consultar la ayuda para mandatos o la publicacin Manual de consulta de CL. 3. Para conocer las restricciones sobre el uso de estos mandatos en sistemas de archivos concretos, consulte el Sistemas de archivos en el sistema de archivos integrado en la pgina 4.
18
Reglas de nombres de vas de acceso para mandatos y pantallas del sistema de archivos integrado
Cuando se utiliza un mandato o una pantalla del sistema de archivos integrado para trabajar con un objeto, el objeto se identifica suministrando el nombre de la va de acceso. A continuacin se proporciona un resumen de las reglas que hay que tener en cuenta al especificar nombres de vas de acceso. El trmino objeto en estas reglas hace referencia a cualquier directorio, archivo, enlace u otro objeto. v Los nombres de objetos deben ser exclusivos en cada directorio. v El nombre de va de acceso que se pasa a un mandato CL o API de un sistema de archivos integrado debe estar representado en el CCSID que afecte actualmente al trabajo. Si el CCSID del trabajo es 65535, el nombre de va de acceso debe estar representado en el CCSID por omisin del trabajo. Dado que el CCSID 37 contiene nombres de va de acceso integrados en el cdigo, cabe la posibilidad de que se haya de convertir al CCSID del trabajo antes de pasar el trabajo al mandato. v Los nombres de vas de acceso deben estar delimitados con apstrofos (') cuando se teclean en la lnea de mandatos. Los apstrofos son opcionales cuando los nombres de vas de acceso se entran en las pantallas. Si el nombre de va de acceso contiene series entre apstrofos, sin embargo, los signos delimitadores ' ' tambin deben incluirse. v Los nombres de vas de acceso se entran de izquierda a derecha, empezando por el directorio de nivel superior y acabando por el nombre del objeto sobre el que se va a ejecutar el mandato. El nombre de cada componente de la va de acceso se separa con una barra inclinada (/) o una barra inclinada invertida (\); por ejemplo:
'Dir1/Dir2/Dir3/ArchUsr'
o
'Dir1\Dir2\Dir3\ArchUsr'
v Los caracteres / y \ y los nulos no se pueden utilizar en los componentes individuales del nombre de va de acceso (debido a que los caracteres / y \ se utilizan de separadores). Los mandatos no cambian las minsculas por maysculas. El nombre puede cambiarse o no por maysculas, segn si el sistema de archivos que contiene el objeto es sensible a las maysculas y minsculas y si el objeto se est creando o buscando. v La longitud del nombre de objeto est limitada por el sistema de archivos donde est el objeto y por la longitud mxima de una serie del mandato. Los mandatos aceptan nombres de objeto con una longitud mxima de 255 caracteres y nombres de vas de acceso con una longitud mxima de 5000 caracteres. Consulte el Captulo 5. Sistemas de archivos: conceptos en la pgina 45 para conocer los lmites de los nombres de vas de acceso de cada sistema de archivos. v Un carcter / o \ al principio de un nombre de va de acceso significa que la va de acceso empieza en el directorio de mayor nivel, el directorio raz (/); por ejemplo:
'/Dir1/Dir2/Dir3/ArchUsr'
v Si el nombre de va de acceso no empieza con un carcter / o \, la va de acceso se presupone que empieza en el directorio actual del usuario que entra el mandato; por ejemplo:
'MiDir/MiArch'
19
v Una tilde (x) seguida de una barra inclinada (o barra inclinada invertida) al principio de un nombre de va de acceso significa que la va de acceso empieza en el directorio inicial del usuario que entra el mandato; por ejemplo:
'x/DirUsr/ObjUsr'
v Una tilde (x) seguida de un nombre de usuario y despus una barra inclinada (o barra inclinada invertida) al principio del nombre de va de acceso significa que la va de acceso empieza en el directorio inicial del usuario identificado por el nombre de usuario; por ejemplo:
'xnombre-usuario/DirUsr/ObjUsr'
v En algunos mandatos, el asterisco (*) o el interrogante (?) se pueden utilizar en el ltimo componente de un nombre de va de acceso para buscar patrones de nombres. El signo * indica al sistema que busque los nombres con cualquier nmero de caracteres en la posicin del carcter *. El signo ? indica al sistema que busque los nombres que tengan un solo carcter en la posicin del carcter ?. El ejemplo siguiente busca todos los objetos cuyos nombres empiezan por d y terminan por txt:
'/Dir1/Dir2/Dir3/d*txt'
El ejemplo siguiente busca los objetos cuyos nombres empiezan con d seguida de cualquier carcter y terminan con txt:
'/Dir1/Dir2/Dir3/d?txt'
Para evitar la confusin que podra producirse con los valores especiales del AS/400, los nombres de va de acceso no pueden comenzar con un nico carcter de asterisco (*). Para llevar a cabo una comparacin de patrones al principio de un nombre de va de acceso, utilice dos asteriscos (**); por ejemplo:
'**.file'
Nota: Este caso slo se aplica a los nombres de va de acceso relativo donde no hay otros caracteres antes del asterisco (*). v Cuando se trabaja con objetos del sistema de archivos QSYS.LIB, los nombres de componentes deben tener el formato nombre.tipo-objeto; por ejemplo:
'/QSYS.LIB/PAY.LIB/TAX.FILE'
Consulte el apartado Sistema de archivos de biblioteca (QSYS.LIB) en la pgina 51 para conocer ms detalles. v El nombre de va de acceso debe estar delimitado por conjuntos adicionales de apstrofos (') o comillas (") si se utiliza alguno de los caracteres siguientes en un nombre de componente: Asterisco (*) Interrogante (?) Apstrofo (') Comillas (") Tilde (x), si se utiliza como el primer carcter del primer nombre de componente del nombre de va de acceso (si se utiliza en cualquier otra posicin, la tilde se interpreta exactamente igual que otro carcter) Por ejemplo:
/Dir1/Dir/A*Antonio
o
/Dir1/Dir/A*Antonio
20
Esta prctica no es aconsejable debido a que el significado del carcter en una serie del mandato se puede confundir y hay ms probabilidades de entrar incorrectamente la serie del mandato. v No utilice signos de dos puntos (:) en los nombres de va de acceso. Tienen un significado especial dentro del sistema. v El soporte de proceso para los mandatos y las pantallas de usuario asociadas no reconoce elementos de cdigo por debajo de 40 hexadecimal como caracteres que pueden utilizarse en series de mandato o en las pantallas. Si se utilizan estos elementos de cdigo, deben entrarse en representacin hexadecimal, como por ejemplo:
crtdir dir(X'02')
Por consiguiente, la utilizacin de elementos de cdigo por debajo de 40 hexadecimal en nombres de va de acceso no es recomendable. Esta restriccin se aplica slo a mandatos y pantallas asociadas, no a las API (consulte el apartado Interfaces de programas de aplicacin (API) para el sistema de archivos integrado en la pgina 32). Si desea conocer las restricciones en la utilizacin de un mandato determinado, puede consultar la ayuda para mandatos o la publicacin Manual de consulta de CL .
21
de usuario sea el directorio del usuario en /home, por ejemplo /home/pedro. Para obtener ms informacin, consulte el apartado Directorio actual y directorio inicial en el sistema de archivos integrado en la pgina 8. v /etc El directorio /etc almacena archivos de administracin, de configuracin y otros archivos del sistema. v /usr El directorio /usr incluye subdirectorios que contienen informacin utilizada por el sistema. Generalmente, los archivos de /usr no cambian a menudo. v /usr/bin El directorio /usr/bin contiene los programas de utilidad estndares. v /usr/lib El directorio /usr/lib contiene los programas compartidos (soporte en tiempo de ejecucin). v /usr/sbin El directorio /usr/sbin contiene los programas proporcionados por el sistema.
22
Figura 10. Utilizacin de arrastrar y soltar para mover un archivo del AS/400 al cliente PC
Todos los objetos que se copian entre sistemas AS/400 y PC utilizando la interfaz de Windows 95/98/NT pueden convertirse automticamente entre EBCDIC y ASCII. EBCDIC es el cdigo de intercambio decimal ampliado codificado en
Captulo 3. Acceso al sistema de archivos integrado
23
binario y ASCII es el cdigo estndar norteamericano para el intercambio de informacin. Client Access puede configurarse de forma que efecte automticamente esta conversin, y puede especificarse incluso que dicha conversin se efecte en archivos que tengan una extensin especfica. En OS/400 Versin 4 Release 4 (V4R4), tambin puede configurarse NetServer para que realice la conversin en los archivos. Segn el tipo de objeto, pueden utilizarse las interfaces del PC, y posiblemente las aplicaciones del PC, para trabajar con l. Por ejemplo, un archivo continuo que contiene texto se podra editar con un editor de PC. Pueden realizarse varias tareas utilizando el sistema de archivos integrado como un cliente: v Conectarse desde un PC con el sistema de archivos integrado. v Transferencia de archivos en el sistema de archivos integrado en la pgina 25.
24
En Client Access, el nivel superior, el nivel raz (/), representa la totalidad del sistema AS/400. Cada directorio del siguiente nivel por debajo del nivel / aparece como directorio de la unidad de AS/400. Este nivel incluye los directorios que representan los sistemas de archivos (tales como QSYS.LIB y QDLS), as como todos los subdirectorios de primer nivel del sistema de archivos raz (/) (como, por ejemplo, home y tmp). En NetServer, el administrador del sistema elije los directorios que se compartirn en la red. Estos directorios aparecern como el primer nivel bajo el nombre del sistema. Por ejemplo, si el administrador comparte el directorio /home/carlos con el nombre dircarlos, un usuario podr acceder a dicho directorio desde el PC utilizando el nombre \\QAS400X\DIRCARLOS. El sistema de archivos raz proporciona un rendimiento mucho mejor en el servicio de archivos PC que otros sistemas de archivos AS/400. A los administradores les puede interesar la migracin de archivos al sistema de archivos raz. Los archivos de PC que estn en QDLS son buenos candidatos para la migracin. La mayora de aplicaciones PC deben ser capaces de continuar trabajando con archivos PC que se trasladan desde QDLS a otros sistemas de archivos.
No obstante, debe tener presentes las limitaciones siguientes: v El sistema de archivos integrado limita el soporte de FTP a la transferencia de datos de archivos nicamente. No se puede utilizar FTP para transferir datos de atributos. v El sistema de archivos QSYS.LIB limita el soporte de FTP a miembros de archivo fsico, a miembros de archivo fsico fuente y a archivos de salvar. No se puede utilizar FTP para transferir otros tipos de objeto como, por ejemplo, programas (*PGM). No obstante, se puede guardar dichos tipos de objeto en un archivo de salvar, transferir ste y, a continuacin, restaurar los objetos. Si desea obtener informacin acerca de FTP, puede consultar el tema Iniciacin a FTP o la publicacin TCP/IP Configuration and Reference, SC41-5420-03 .
25
aprovechar esas caractersticas. Antes de migrar objetos a otro sistema de archivos, debe familiarizarse con los sistemas de archivos del sistema de archivos integrado y sus caractersticas. Si desea obtener ms informacin, puede consultar el tema Sistemas de archivos en el sistema de archivos integrado en la pgina 4. Tambin deber considerar lo siguiente: v Est utilizando aplicaciones que aprovechan las ventajas del sistema de archivos en el que estn actualmente los objetos? Algunos sistemas de archivos soportan interfaces que no forman parte del soporte del sistema de archivos integrado. Es posible que las aplicaciones que utilizan esas interfaces dejen de poder acceder a los objetos que se han movido a otro sistema de archivos. Por ejemplo, los sistemas de archivos QDLS y QOPT dan soporte a los mandatos y las API del sistema de archivos jerarquizado (HFS) que funcionan con objetos carpetas y documentos. No se pueden utilizar esas interfaces con objetos que estn en otros sistemas de archivos. v Cules son las caractersticas importantes de los objetos para usted? No todas las caractersticas estn soportadas en todos los sistemas de archivos. Por ejemplo, el sistema de archivos QSYS.LIB slo proporciona soporte para almacenar y recuperar unos cuantos atributos ampliados, mientras que los sistemas de archivos raz (/) y QOpenSys proporcionan soporte para almacenar y recuperar todos los atributos ampliados. Por consiguiente, QSYS.LIB no es aconsejable para almacenar objetos que tengan atributos ampliados. QDLS soporta muchos atributos de oficina, pero otros sistemas no. Por lo tanto, QDLS es un buen lugar para conservar los documentos de oficina. Los archivos de PC que estn en QDLS son buenos candidatos a la migracin. La mayora de aplicaciones PC deben ser capaces de seguir trabajando con los archivos PC que se trasladan desde QDLS a otros sistemas de archivos. Los sistemas de archivos raz (/), QOpenSys, QNetWare y QNTC son buenas opciones para almacenar dichos archivos de PC. Puesto que disponen de soporte para muchas de las caractersticas del sistema de archivos del OS/2, estos sistemas de archivos pueden proporcionar un acceso ms rpido a los archivos.
| | | | | | |
26
MOV es aconsejable debido a que protege la propiedad de los objetos, si el sistema de archivos tiene soporte para establecer la propiedad de los objetos. Si se utiliza el mandato Copiar (CPY), el usuario que copia los objetos se convierte en el propietario, si el sistema de archivos tiene soporte para establecer la propiedad de los objetos. Observe que cuando se utiliza MOV o CPY: v Los atributos pueden no coincidir y pueden descartarse. v Los atributos ampliados pueden descartarse. v Las autorizaciones pueden no ser equivalentes y descartarse. Esto significa que si decide devolver el objeto a su sistema de archivos original, tal vez no desee simplemente volver a moverlo o copiarlo debido a los atributos y autorizaciones que se han descartado. El mtodo ms seguro de devolver un objeto es restaurar una versin salvada del objeto.
27
28
29
30
El parmetro DTAFMT especifica que el archivo continuo (de importacin) de entrada es delimitado; la otra opcin es DTAFMT(*FIXED), que obliga a especificar un archivo de definicin de campos. Los parmetros FLDDLM, RCDDLM y STRDLM identifican los caracteres que actan como delimitadores o separadores de campos, registros y series. Los parmetros DATFMT y TIMFMT indican el formato que tendr toda la informacin de fecha y hora que se copie al archivo de importacin. El uso de mandatos resulta de utilidad porque pueden colocarse en un programa y se ejecutan totalmente en el AS/400. No obstante, las interfaces son complejas. Si desea obtener ms informacin, puede consultar la ayuda para mandatos o la publicacin Manual de consulta de CL.
31
archivo de base de datos resultante. A continuacin, la herramienta puede crear la definicin del archivo de base de datos en el AS/400. Si mueve datos a una definicin que ya exista en el AS/400, la aplicacin de Transferencia de datos le obligar a utilizar un archivo de descripcin de formato (FDF) asociado. Un archivo FDF describe el formato de un archivo continuo, y lo crea la aplicacin Transferencia de datos desde AS/400 cuando transfiere datos de un archivo de base de datos a un archivo continuo. Para realizar la transferencia de datos de un archivo continuo a un archivo de base de datos, pulse el botn Transferencia de datos a AS/400. Si no dispone de un archivo .FDF existente, puede crear uno rpidamente. Cree un archivo de base de datos descrito externamente con un formato que coincida con el archivo continuo fuente (nmero de campos, tipos de datos). Cree un registro de datos temporal dentro del archivo de base de datos. Utilice la funcin Transferencia de datos desde AS/400 para crear un archivo continuo y su archivo .FDF asociado a partir de este archivo de base de datos. A continuacin, puede utilizar la Transferencia de datos a AS/400 y especificar este archivo .FDF con el archivo continuo fuente que desea transferir. Tambin puede realizar este movimiento de datos en un trabajo de proceso por lotes con las aplicaciones de Transferencia de datos de Client Access. Proceda del mismo modo que antes, pero seleccione la opcin de men Archivo para guardar la peticin de transferencia. La aplicacin Transferencia de datos a AS/400 crea un archivo .DTT o .TFR. La aplicacin Transferencia de datos desde AS/400 crea un archivo .DTF o .TTO. En el directorio de Client Access pueden ejecutarse por lotes dos programas desde una lnea de mandatos: v RTOPCB toma un archivo .DTF o .TTO como parmetro v RFROMPCB toma un archivo .DTT o .TFR como parmetro Mediante una aplicacin planificadora puede definir que se ejecute cualquiera de estos mandatos de forma planificada. Por ejemplo, puede utilizar System Agent Tool (que forma parte de Microsoft Plus Pack) para especificar el programa que debe ejecutarse (por ejemplo, RTOPCB MIARCH.TTO) y la hora en la que desea que se ejecute el programa. Las aplicaciones de Transferencia de datos de Client Access presentan la ventaja de tener una interfaz grfica fcil de utilizar y una conversin automtica de los datos de tipo numrico y carcter. No obstante, la Transferencia de datos requiere la instalacin del producto Client Access, la utilizacin de recursos del PC y el AS/400 y comunicaciones entre ambos.
32
archivos integrado. Si desea obtener detalles, puede consultar el tema Soporte de archivos grandes en las API del sistema de archivos integrado en la pgina 37. Si desea conocer las reglas que se aplican a los nombres de va de acceso de las API del sistema de archivos integrado, puede consultar el tema Reglas de nombres de vas de acceso para las API del sistema de archivos integrado en la pgina 36.
33
Qp0lCvtPathToQSYSObjName() Convertir el nombre de va de acceso en nombre del objeto QSYS de tres partes Qp0lFLOP() Qp0lGetAttr() Qp0lGetPathFromFileID() Qp0lOpen() Qp0lProcessSubtree() Qp0lRenameKeep() Qp0lRenameUnlink() Qp0lSaveStgFree() Qp0lSetAttr() Qp0lUnlink() QZNFRTVE() read() Realizacin de operaciones de diverso tipo sobre los objetos Obtener los atributos de sistema de un objeto Obtener nombre de va de acceso de objeto a partir de su ID de archivo Abrir archivo con nombre de va de acceso habilitado para NLS Procesar directorios u objetos en un rbol de directorios Redenominar archivo o directorio, mantener nuevo si existe Redenominar archivo o directorio, desenlazar nuevo si existe Guardar datos de objetos y liberar su almacenamiento Establecer los atributos de sistema de un objeto Eliminar enlace con archivo con nombre de va de acceso habilitado para NLS Recuperar la informacin de exportacin de NFS Leer en archivo
34
rewinddir() rmdir() select() DosSetRelMaxFH() stat() stat64() statvfs() statvfs64() symlink() sysconf() takedescriptor() umask() unlink() utime() write() writev()
Si desea obtener detalles sobre cada funcin, puede consultar la categora API tipo UNIX del tema API OS/400 del AS/400 Information Center. Si desea obtener una discusin sobre la conversin de datos utilizando la funcin open(), puede consultar el tema Conversin de datos en el sistema de archivos integrado en la pgina 43. Para obtener informacin sobre la propiedad de objetos, el grupo primario, el nmero de ID de usuario (UID) y el nmero de ID de grupo (GID), consulte la publicacin Security - Reference, SC41-5302-04. Algunas de estas funciones se utilizan tambin para sockets OS/400 (consulte el apartado Soporte de sockets en el sistema de archivos integrado en la pgina 41). Para conocer las restricciones sobre el uso de estas funciones en sistemas de archivos concretos, consulte el Sistemas de archivos en el sistema de archivos integrado en la pgina 4.
35
Si desea obtener un programa de ejemplo que utilice funciones C del sistema de archivos integrado, puede consultar el Apndice A. Programa de ejemplo con funciones C del sistema de archivos integrado en la pgina 77.
Figura 11. Las funciones ILE C/400 utilizan las funciones de E/S continua del sistema de archivos integrado
Para obtener ms informacin acerca de la utilizacin de las funciones de ILE C/400 con la E/S continua del sistema de archivos integrado, consulte la publicacin ILE C for AS/400 Programmers Guide, SC09-2712-01 . Para obtener detalles sobre cada una de las funciones C de ILE C/400, consulte la publicacin ILE C for AS/400 Run-Time Library Reference, SC09-2711-01 .
Reglas de nombres de vas de acceso para las API del sistema de archivos integrado
Cuando se utiliza una API del sistema de archivos integrado o de ILE C/400 para realizar operaciones sobre un objeto, ste se identifica especificando su va de acceso de directorio. A continuacin se proporciona un resumen de las reglas que hay que tener en cuenta al especificar nombres de vas de acceso en las API. El trmino objeto en estas reglas hace referencia a cualquier directorio, archivo, enlace u otro objeto.
36
v Los nombres de vas de acceso se especifican por orden jerrquico, empezando por el nivel superior de la jerarqua de directorios. El nombre de cada componente de la va de acceso se separa con una barra inclinada (/); por ejemplo:
Dir1/Dir2/Dir3/ArchUsr
La barra inclinada invertida (\) no se reconoce como separador. Se maneja exactamente igual que otro carcter del nombre. v Los nombres de objeto deben ser exclusivos en el directorio. v La longitud mxima de cada componente del nombre de va de acceso y la longitud mxima de la serie del nombre de va de acceso pueden variar en cada sistema de archivos. Consulte el Sistemas de archivos en el sistema de archivos integrado: comparacin en la pgina 45 para conocer los lmites de cada sistema de archivos. v Un carcter / al principio de un nombre de va de acceso significa que la va de acceso empieza en el directorio de mayor nivel, el directorio raz (/); por ejemplo:
/Dir1/Dir2/Dir3/ArchUsr
v Si el nombre de va de acceso no empieza con el carcter /, se presupone que la va de acceso empieza en el directorio actual; por ejemplo:
MiDir/MiArch
donde MiDir es un subdirectorio del directorio actual. v Para evitar la confusin que podra producirse con los valores especiales del AS/400, los nombres de va de acceso no pueden comenzar con un nico carcter de asterisco (*). Para especificar un nombre de va de acceso que comience con cualquier nmero de caracteres, utilice dos asteriscos (*); por ejemplo:
'**.file'
Tenga en cuenta que este caso slo se aplica a los nombres de va de acceso relativa donde no hay otros caracteres antes del asterisco (*). v Cuando se trabaja con objetos del sistema de archivos QSYS.LIB, los nombres de componentes deben tener el formato nombre.tipo-objeto; por ejemplo:
/QSYS.LIB/PAYROLL.LIB/PAY.FILE
v No utilice signos de dos puntos (:) en los nombres de va de acceso. Tiene un significado especial dentro del sistema. v A diferencia de los nombres de va de acceso de los mandatos del sistema de archivos integrado (consulte el apartado Reglas de nombres de vas de acceso para mandatos y pantallas del sistema de archivos integrado en la pgina 19), el asterisco (*), el interrogante (?), el apstrofo ('), las comillas (") y la tilde (x) carecen de significacin especial. Se manejan exactamente igual que otro carcter del nombre.
37
El sistema de archivos integrado proporciona un conjunto de interfaces API tipo UNIX de 64 bits y permite correlacionar fcilmente las API tipo UNIX de 32 bits existentes con interfaces API de 64 bits capaces de acceder a tamaos y desplazamientos de archivos grandes utilizando argumentos de tipo entero de 8 bytes. Si desea tener una lista de las API de 64 bits, puede consultar el tema API del sistema de archivos integrado en la pgina 33. Si desea obtener detalles sobre cada una de las API de 64 bits, consulte el captulo API del Sistema de Archivos Integrado de la publicacin Programacin de las API de sistema. Para permitir la utilizacin del soporte de archivos grandes por parte de las aplicaciones se proporcionan los siguientes mecanismos: 1. Si se define la etiqueta de macro _LARGE_FILE_API durante la compilacin, las aplicaciones tendrn acceso a las API y a las estructuras de datos habilitadas para 64 bits. Por ejemplo, una aplicacin en la que se pretenda utilizar la API stat64() y la estructura stat64 deber definir _LARGE_FILE_API durante la compilacin. 2. Si las aplicaciones definen la etiqueta de macro _LARGE_FILES durante la compilacin, las API y las estructuras de datos existentes se correlacionarn con sus versiones de 64 bits. Por ejemplo, si una aplicacin define _LARGE_FILES durante la compilacin, una llamada a la API stat() se correlacionar con la API stat64() y una estructura stat se correlacionar con una estructura stat64. Las aplicaciones en las que se pretenda utilizar el soporte de archivos grandes pueden definir _LARGE_FILE_API durante la compilacin y codificar directamente las API de 64 bits, o bien pueden definir _LARGE_FILES durante la compilacin y todas las correspondientes API y estructuras de datos se correlacionarn automticamente con sus versiones de 64 bits. Las aplicaciones en las que no se pretenda utilizar el soporte de archivos grandes no se ven afectadas y pueden seguir utilizando las API del sistema de archivos integrado sin efectuar cambio alguno.
38
Sistema
ssize_t read(int files, . . .) Descriptor de archivo Descripcin de archivo abierto Desplazamiento xxx Estado xxxx Modalidades de acceso xxxxxx
RV3N077-1
Si se utiliza una funcin de E/S continua de ILE C/400 con el sistema de archivos integrado, el soporte de tiempo de ejecucin de ILE C/400 convierte el puntero de archivo en un descriptor de archivo. Cuando se utilizan los sistemas de archivos raz (/), QOpenSys o el definido por el usuario, se puede pasar el acceso a una descripcin de archivo abierto de un trabajo a otro, con lo que se permite al trabajo acceder al archivo. Esta operacin se efecta utilizando la funcin givedescriptor() o takedescriptor() para pasar el descriptor de archivo entre trabajos. Si desea obtener una descripcin de estas funciones, puede consultar la publicacin Sockets Programming o el captulo API de Sockets de la publicacin System API Programming .
39
Para obtener detalles sobre seguridad de datos y autorizaciones, consulte la publicacin Security - Reference, SC41-5302-04 . Si desea obtener detalles sobre las API del sistema de archivos integrado, puede consultar el captulo API del Sistema de Archivos Integrado de la publicacin System API Programming .
Existencia de objeto
Necesario. Un objeto debe existir para poder crear un enlace fijo con l.
Supresin de objeto
Restringido. Todos los Sin restriccin. Un objeto se enlaces fijos con un objeto puede suprimir incluso deben estar desenlazados aunque haya enlaces (eliminados) para suprimir el simblicos que hagan objeto. referencia a l. Ms lento. Muchos de los atributos de un objeto se almacenan en cada enlace fijo. Los cambios efectuados en un objeto dinmico, por lo tanto, son ms lentos a medida que aumenta el nmero de enlaces fijos con el objeto. Ms rpido. Para un objeto esttico, la resolucin del nombre es el principal objeto de inters en cuanto a rendimiento. La resolucin del nombre es ms rpida cuando se utilizan enlaces fijos. Restringido. Los enlaces fijos no pueden cruzar sistemas de archivos. Ms rpido. Los cambios efectuados en un objeto dinmico no resultan afectados por los enlaces simblicos.
mbito
40
41
42
NombreEmpresaNombreProducto.Nombre_Atributo
43
44
Longitud mxima de cada componente 255 cars. en el nombre de va de acceso Longitud mxima de nombre de va de 16MB acceso 8 Longitud mxima de los atributos ampliados de un objeto Niveles mximos de la jerarqua de directorios dentro del sistema de archivos Nmero mximo de enlaces por objeto
11
2 Gb Sin lmite
Sin lmite
32 767 S
32 767 S S S S No S
1 No S S S No S
1 No S S S S No
1 No No S S No S
Objeto/archivo puede tener propietario S Soporte de mandatos del sistema de archivos integrado Soporte de las API del sistema de archivos integrado Soporte de las API del sistema de archivos jerarquizado (HFS) Admite ejecucin en hebras
13
S S No S
45
Componente estndar del S OS/400 Tipo de archivo Integrado con OfiVisin (por ejemplo, el archivo se puede enviar por correo) Acceso a travs del servidor de archivos OS/400 Continuo No
Acceso directo a travs No del Servidor PC Integrado (FSIOP) 1 Velocidad comparativa de Baja abrir/cerrar
No
No
No
Baja
Media
Media
Alta
11
46
UDFS S
12
NFS Variable
2
QNetWare No
Longitud mxima de cada Variable componente en el nombre de va de acceso Longitud mxima de nombre de va de acceso Longitud mxima de los atributos ampliados de un objeto Niveles mximos de la jerarqua de directorios dentro del sistema de archivos Nmero mximo de enlaces por objeto 7 Soporte de enlaces simblicos Objeto/archivo puede tener propietario Soporte de mandatos del sistema de archivos integrado Soporte de las API del sistema de archivos integrado Soporte de las API del sistema de archivos jerarquizado (HFS) Admite ejecucin en hebras 14 294 cars. 8 Mb
Variable
255 cars.
Variable
255 cars.
13
Sin lmite 0
6
16MB 2GB
10
Sin lmite 0
6
Sin lmite
Sin lmite
Sin lmite
Sin lmite
100
1 No No S
1 No No S
9
32 767 S S S
Variable S S S
2
1 No S S
No
No
No
No
No
No
No
47
48
El sistema de archivos conserva la misma forma de maysculas y minsculas en la que se han entrado los nombres de objetos, pero no hace ninguna distincin entre maysculas y minsculas cuando el sistema efecta bsquedas de nombres.
v Los componentes de los nombres de va de acceso que siguen al nombre compartido siguen las reglas de nombres de va de acceso de Windows NT. La combinacin de nombres de directorio y nombre de objeto puede ocupar una longitud mxima de 255 caracteres. v No existe ningn lmite en la profundidad de la jerarqua de directorios ms que los lmites de espacio del programa y del sistema. v Los caracteres de los nombres se convierten al formato UCS2 Nivel 1 al almacenarse los nombres (consulte el apartado Continuidad de nombres a travs de distintos modelos de codificacin en el sistema de archivos integrado en la pgina 13).
Se permiten varios enlaces fijos con el mismo objeto en el sistema de archivos raz (/). Los enlaces simblicos se soportan totalmente. Se puede utilizar un enlace simblico para tener un enlace desde el sistema raz (/) con un objeto de otro sistema de archivos como, por ejemplo, QSYS.LIB o QDLS. Para ver la descripcin de los enlaces, consulte el apartado Enlaces y enlaces simblicos en el sistema de archivos integrado en la pgina 10.
Utilizacin de mandatos del sistema de archivos integrado en el sistema de archivos raz (/)
Todos los mandatos listados en el apartado Mandatos del sistema de archivos integrado en la pgina 16 y las pantallas descritas en el apartado Realizacin de operaciones en el sistema de archivos integrado desde el AS/400 en la pgina 15 pueden realizar operaciones en el sistema de archivos raz (/). Sin embargo, puede que la ejecucin de estos mandatos en un proceso con posibilidad multihebra no sea segura.
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos raz (/)
Todas las API del lenguaje C que se listan en el apartado API del sistema de archivos integrado en la pgina 33 pueden operar en el sistema de archivos raz (/) de un modo seguro en ejecucin multihebra.
49
v v v v
nombres sensibles a las maysculas y minsculas. sockets locales. objetos *OOPOOL. las API que admiten ejecucin en hebras.
El sistema de archivos QOpenSys tiene las mismas caractersticas que el sistema de archivos raz (/), excepto que es sensible a las maysculas y minsculas para habilitar el soporte para los estndares de sistemas abiertos basados en UNIX.
Utilizacin de QOpenSys
Al QOpenSys puede accederse a travs de la interfaz del sistema de archivos integrado utilizando los mandatos del servidor de archivos OS/400 o sistema de archivos integrado, las pantallas de usuario y las API del lenguaje C.
v Cada componente del nombre de va de acceso puede tener una longitud mxima de 255 caracteres. El nombre completo de la va de acceso puede tener una longitud mxima de 16 megabytes. v No existe ningn lmite en la profundidad de la jerarqua de directorios ms que los lmites de espacio del programa y del sistema. v Los caracteres de los nombres se convierten al formato UCS2 Nivel 1 al almacenarse los nombres (consulte el apartado Continuidad de nombres a travs de distintos modelos de codificacin en el sistema de archivos integrado en la pgina 13).
Utilizacin de los mandatos y pantallas del sistema de archivos integrado en el sistema de archivos QOpenSys
Todos los mandatos listados en el apartado Mandatos del sistema de archivos integrado en la pgina 16 y las pantallas descritas en el apartado Realizacin de operaciones en el sistema de archivos integrado desde el AS/400 en la pgina 15
50
pueden realizar operaciones en el sistema de archivos QOpenSys. Sin embargo, puede que la ejecucin de estos mandatos en un proceso con posibilidad multihebra no sea segura.
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos QOpenSys
Todas las funciones del lenguaje C que se listan en el apartado API del sistema de archivos integrado en la pgina 33 pueden realizar operaciones en el sistema de archivos QOpenSys en modalidad de hebras.
51
52
El nombre del objeto y el tipo del objeto se separan con un punto (.). Los objetos de una biblioteca pueden tener el mismo nombre si tienen tipos de objeto distintos, por lo que el tipo de objeto debe especificarse para identificar exclusivamente al objeto. v El nombre de objeto de cada componente puede tener una longitud mxima de 10 caracteres y el tipo de objeto, 6 caracteres. v La jerarqua de directorios dentro de QSYS.LIB puede tener una extensin de dos o tres niveles (dos o tres componentes en el nombre de va de acceso) en funcin del tipo de objeto al que se accede. Si el objeto es un archivo de base de datos, la jerarqua puede contener tres niveles (biblioteca, archivo, miembro); de lo contrario, slo puede haber dos niveles (biblioteca, objeto). La combinacin de la longitud de cada nombre de componente y el nmero de niveles de directorio determina la longitud mxima del nombre de la va de acceso. Si / y QSYS.LIB se incluyen como los dos primeros niveles, la jerarqua de directorios de QSYS.LIB puede tener una extensin mxima de cinco niveles. v Los caracteres de los nombres se convierten a la pgina de cdigos 37 al almacenarse los nombres. Los nombres entre comillas, en cambio, se almacenan utilizando la pgina de cdigos del trabajo. Para obtener informacin acerca de las pginas de cdigos, consulte la publicacinNational Language Support .
Utilizacin de los mandatos y pantallas del sistema de archivos integrado en el sistema de archivos QSYS.LIB
Los mandatos listados en el apartado Mandatos del sistema de archivos integrado en la pgina 16 pueden realizar operaciones en el sistema de archivos QSYS.LIB, con las excepciones siguientes: v El mandato ADDLNK slo se puede utilizar para enlazar con un objeto de QSYS.LIB. v Los mandatos CHKIN y CHKOUT no estn soportados. v Las operaciones de archivos slo se pueden efectuar con archivos fsicos descritos por programa y con archivos fsicos fuente. Las mismas restricciones son aplicables a las pantallas de usuario descritas en el apartado Realizacin de operaciones en el sistema de archivos integrado desde el AS/400 en la pgina 15.
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos QSYS.LIB
Las funciones del lenguaje C listadas en el apartado API del sistema de archivos integrado en la pgina 33 pueden realizar operaciones en el sistema de archivos QSYS.LIB, a excepcin de las siguientes:
53
v Las operaciones de archivos slo se pueden efectuar con archivos fsicos descritos por programa y con archivos fsicos fuente. v La funcin symlink() slo se puede utilizar para enlazar con un objeto de QSYS.LIB desde otro sistema de archivos que soporte enlaces simblicos. v Las funciones siguientes no estn soportadas: givedescriptor() link() takedescriptor() utime()
54
o de un nombre ms una extensin (semejante a la extensin de los archivos del DOS), como por ejemplo:
/QDLS/FLR1/DOC1.TXT
v El nombre de cada componente puede tener una longitud mxima de 8 caracteres, y la extensin (si la hay) puede tener una longitud mxima de 3 caracteres. La longitud mxima del nombre de la va de acceso es de 82 caracteres, asumiendo un nombre de va de acceso absoluto que empieza con /QDLS. v La jerarqua de directorios dentro de QDLS puede tener una extensin de 32 niveles. Si se incluyen / y QDLS como los dos primeros niveles, la jerarqua de directorios puede tener una profundidad de 34 niveles. v Los caracteres de los nombres se convierten a la pgina de cdigos del trabajo al almacenarse los nombres, a menos que se haya creado el rea de datos Q0DEC500 en la biblioteca QUSRSYS. Si existe esta rea de datos, los caracteres de los nombres se convierten a la pgina de cdigos 500 al almacenarse los nombres. Esta funcin aporta compatibilidad con el comportamiento del sistema de archivos QDLS en releases anteriores. Puede rechazarse un nombre si no puede convertirse a la pgina de cdigos apropiada. Para obtener informacin acerca de las pginas de cdigos, consulte la publicacinNational Language Support .
55
Utilizacin de los mandatos y pantallas del sistema de archivos integrado en el sistema de archivos QDLS
Los mandatos listados en Mandatos del sistema de archivos integrado en la pgina 16 pueden realizar operaciones en el sistema de archivos QDLS, a excepcin de: v El mandato ADDLNK slo puede utilizarse para enlazar con un objeto de QDLS desde otro sistema de archivos que soporte enlaces simblicos. v Los mandatos CHKIN y CHKOUT estn soportados en los archivos, pero no en los directorios. Las mismas restricciones son aplicables a las pantallas de usuario descritas en el apartado Realizacin de operaciones en el sistema de archivos integrado desde el AS/400 en la pgina 15.
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos QDLS
Las funciones del lenguaje C listadas en el apartado API del sistema de archivos integrado en la pgina 33 pueden realizar operaciones en el sistema de archivos QDLS, a excepcin de las siguientes: v La funcin symlink() puede utilizarse solamente para enlazar con un objeto de QDLS desde otro sistema de archivos que soporte enlaces simblicos. v Las funciones siguientes no estn soportadas: givedescriptor() ioctl() link() Qp0lGetPathFromFileID() readlink() takedescriptor() |
56
Tenga en cuenta que las reglas de denominacin para utilizar las API del HFS son distintas de las reglas de denominacin para las API que utilizan la interfaz del sistema de archivos integrado. Puede encontrar detalles acerca de las API de HFS en la publicacin System API Reference o en la publicacin Optical Support, SC41-5310-02 .
v El nombre de sistema de archivos, QOPT, es obligatorio. v El nombre de volumen es obligatorio y puede tener 32 caracteres de longitud como mximo. v Pueden incluirse uno o ms directorios o subdirectorios en el nombre de va de acceso, pero QOPT no requiere ninguno. El nmero total de caracteres de todos los nombres de directorio y subdirectorio, incluida la barra inclinada inicial, no puede ser superior a 256 caracteres. Los nombres de directorios y archivos permiten cualquier carcter excepto los que van del X'00' a X'3F', X'FF', caracteres alfabticos en minscula y los siguientes caracteres: Asterisco (*) Guin (-) Interrogante (?) Comillas (") Mayor que (>) Menor que (<) v El nombre de archivo es el ltimo elemento del nombre de va de acceso. La longitud del nombre de archivo est limitada por la longitud del nombre de directorio en la va de acceso. Los nombres de directorios y nombre de archivos combinados no pueden superar 256 caracteres, incluyendo la barra inclinada inicial. v El sistema de archivos QOPT graba los nombres de va de acceso en los soportes de almacenamiento ptico en la pgina de cdigos especificada al inicializar el volumen. Si se inicializa un volumen como EBCDIC, la pgina de cdigos ser
Captulo 5. Sistemas de archivos: conceptos
57
500. Si se inicializa un volumen como ASCII, la pgina de cdigos ser 850. El nombre de va de acceso no se rechazar si no se puede convertir a la pgina de cdigos del volumen. El sistema de archivos QOPT siempre utiliza para un nombre de archivo dado la pgina de cdigos de un volumen si se crea dicho archivo sin ninguna pgina de cdigos. El soporte de almacenamiento CD-ROM no asocia ninguna pgina de cdigos con los archivos. QOPT utiliza por tanto la pgina de cdigos 850 como valor por omisin para todas las pginas de cdigos de CD-ROM. Para obtener informacin acerca de las pginas de cdigos, consulte la publicacinNational Language Support . Para obtener ms detalles acerca de las normas de nombres de va de acceso del sistema de archivos QOPT, consulte el apartado dedicado a este particular en la publicacin Optical Support .
Utilizacin de los mandatos y pantallas del sistema de archivos integrado en el sistema de archivos QOPT
Los mandatos listados en el apartado Mandatos del sistema de archivos integrado en la pgina 16 pueden realizar operaciones sobre el sistema de archivos QOPT, con las siguientes excepciones: v CHGAUT OBJ debe ser un volumen ptico. USER no puede especificarse. DTAAUT debe tener el valor *SAME. OBJAUT debe tener el valor *SAME. El siguiente ejemplo muestra una utilizacin vlida del mandato CHGAUT en el sistema de archivos QOPT:
CHGAUT OBJ(nombre de volumen ptico) AUTL(lista autorizaciones)
v CPY OBJ debe ser un archivo. No puede ser un volumen ni un directorio. v CRTDIR DTAAUT debe tener el valor *INDIR. OBJAUT debe tener el valor *INDIR. CRTOBJAUD debe tener el valor *SYSVAL. v MOV OBJ debe ser un archivo. No puede ser un volumen ni un directorio. v RMVDIR RMVLNK debe tener el valor *NO v RNM OBJ debe ser un archivo o un volumen. No puede ser un directorio. v Los siguientes mandatos del sistema de archivos integrado no estn soportados en el sistema de archivos QOPT:
58
ADDLNK CHGAUD CHGOWN CHGPGP CHKIN CHKOUT RST SAV WRKOBJOWN WRKOBJPGP Las mismas restricciones son aplicables a las pantallas de usuario descritas en el apartado Realizacin de operaciones en el sistema de archivos integrado desde el AS/400 en la pgina 15.
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos QOPT
Las funciones del lenguaje C listadas en el apartado API del sistema de archivos integrado en la pgina 33 pueden realizar operaciones sobre el sistema de archivos QOPT, con las siguientes excepciones: v Qp0lRenameKeep El nombre de va de acceso debe ser un archivo o un volumen. No puede ser un directorio. v Qp0lRenameUnlink El nombre de va de acceso debe ser un archivo o un volumen. No puede ser un directorio. El destino no debe existir. v rename El nombre de va de acceso debe ser un archivo o un volumen. No puede ser un directorio. v Las siguientes API de sistema de archivos integrado no estn soportadas en el sistema de archivos QOPT: chmod() chown() fchmod() fchown() givedescriptor() ioctl() link() readlink() symlink() takedescriptor() utime()
59
El sistema de archivos QFileSvr.400 debe considerarse como un cliente que acta en nombre de los usuarios para ejecutar peticiones de archivo. QFileSvr.400 interacta con el servidor de archivos OS/400 del sistema destino para efectuar la operacin de archivo real.
El directorio de primer nivel (es decir, NombreUbicacinRemota en el ejemplo anterior) representa lo siguiente: El nombre del sistema destino que se utilizar para establecer una conexin de comunicaciones. El nombre de sistema destino puede ser uno de los siguientes: - Un nombre de sistema principal TCP/IP (por ejemplo, beowulf.newyork.corp.com) - Un nombre de LU 6.2 SNA (por ejemplo, appn.newyork). El directorio raz (/) del sistema destino Por consiguiente, cuando se crea un directorio de primer nivel utilizando una interfaz de sistema de archivos integrado, los atributos especificados se pasan por alto. Nota: Los directorios de primer nivel no perduran tras una IPL. Es decir, los directorios de primer nivel deben crearse de nuevo despus de cada IPL. v Cada componente del nombre de va de acceso puede tener una longitud mxima de 255 caracteres. El nombre completo de la va de acceso puede tener una longitud mxima de 16 megabytes.
60
Nota: El sistema de archivos en el que reside el objeto puede restringir la longitud de componente y la longitud del nombre de va de acceso a menos que el mximo permitido por QFileSvr.400. v No existe lmite para la extensin de la jerarqua de directorios, a excepcin de los lmites del programa y del sistema, as como los lmites impuestos por el sistema de archivos al que se accede. v Los caracteres de los nombres se convierten al formato UCS2 Nivel 1 al almacenarse los nombres (consulte el apartado Continuidad de nombres a travs de distintos modelos de codificacin en el sistema de archivos integrado en la pgina 13).
61
v El sistema de archivos QFileSvr.400 efecta una comprobacin peridicamente (cada 2 horas) para determinar si hay conexiones que no se utilicen (por ejemplo, ningn archivo abierto asociado con la conexin) y que dichas conexiones no han tenido actividad durante un perodo de 2 horas. Si se encuentra una conexin que cumpla estas caractersticas, la conexin se finaliza. v El sistema de archivos QFileSvr.400 no puede detectar bucles. El siguiente nombre de va de acceso es un ejemplo de un bucle:
/QFileSvr.400/Remoto2/QFileSvr.400/Remoto1/QFileSvr.400/Remoto2/...
donde Remoto1 es el sistema local. Cuando se especifica un nombre de va de acceso que contiene un bucle, el sistema de archivos QFileSvr.400 devuelve un error tras un breve periodo de tiempo. El error indica que se ha producido un tiempo de espera excedido. El sistema de archivos QFileSvr.400 utilizar una sesin libre existente al comunicarse a travs de SNA. Es necesario arrancar el mdulo y establecer una sesin para QFileSvr.400 para conectarse satisfactoriamente al sistema de comunicaciones remoto.
Seguridad y autorizaciones sobre objetos en el sistema de archivos del servidor de archivos OS/400
v Para acceder a un sistema de archivos que reside en un sistema AS/400 destino, el usuario debe tener un ID de usuario y una contrasea en el sistema destino que coincida con el ID de usuario y la contrasea del sistema local. Nota: Si se cambia la contrasea en el sistema local o destino despus de que se haya verificado el acceso al sistema destino, el cambio no se reflejar hasta que finalice la conexin con el sistema destino. Sin embargo, no hay retardo si se suprime el perfil de usuario del sistema local y se crea otro perfil de usuario con el mismo ID de usuario. En este caso, el sistema de archivos QFileSvr.400 verifica que se tenga acceso al sistema destino. v La autorizacin sobre objetos se basa en el perfil de usuario que reside en el sistema destino. Es decir, slo puede accederse a un objeto del sistema de archivos en el sistema destino si el perfil de usuario del sistema destino tiene la autorizacin adecuada sobre el objeto.
Utilizacin de los mandatos y pantallas del sistema de archivos integrado en el sistema de archivos del servidor de archivos OS/400
Los mandatos listados en el apartado Mandatos del sistema de archivos integrado en la pgina 16 pueden realizar operaciones en el sistema de archivos QFileSvr.400, con las siguientes excepciones: ADDLNK CHGAUT CHGOWN
62
DSPAUT RST SAV WRKOBJOWN WRKOBJPGP Las mismas restricciones son aplicables a las pantallas de usuario descritas en el apartado Realizacin de operaciones en el sistema de archivos integrado desde el AS/400 en la pgina 15.
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos del servidor de archivos OS/400
Las funciones del lenguaje C listadas en el apartado API del sistema de archivos integrado en la pgina 33 pueden realizar operaciones en el sistema de archivos QFileSvr.400, con las siguientes excepciones: chown() fchown() givedescriptor() link() Qp0lGetPathFromFileID() symlink() takedescriptor()
63
Un objeto archivo especial de bloqueo (*BLKSF) representa un UDFS. A medida que se van creando UDFS, tambin se van creando automticamente archivos especiales de bloqueo. Slo puede accederse al archivo especial de bloqueo mediante los mandatos genricos del sistema de archivos integrado, las API y la interfaz QFileSvr.400. Un UDFS existe nicamente en dos estados: montado y desmontado. Cuando se monta un UDFS, puede accederse a los objetos que ste contiene. Cuando se desmonta un UDFS, los objetos que ste contiene dejan de ser accesibles. Para poder acceder a los objetos de un UDFS, debe montarse este ltimo en un directorio (por ejemplo, /home/JUAN). Cuando monte un UDFS en un directorio, el contenido original de dicho directorio, incluyendo los objetos y los subdirectorios, quedan inaccesibles. El contenido del UDFS se vuelve accesible a travs de la va de acceso del directorio en el que se monta el UDFS. Por ejemplo, el directorio /home/JUAN contiene un archivo /home/JUAN/sueldo. Un UDFS contiene tres directorios correo, acciones y salida. Despus de montar el UDFS en /home/JUAN, el archivo /home/JUAN/sueldo es inaccesible y tres directorios de UDFS pasan a estar accesibles como /home/JUAN/correo, /home/JUAN/acciones, y /home/JUAN/salida. Despus de desmontar el UDFS, se puede acceder de nuevo al archivo /home/JUAN/sueldo y no a los tres directorios del UDFS. Para obtener ms informacin acerca del montaje de sistemas de archivos, consulte la publicacin OS/400 Network File System Support, SC41-5714-01 .
64
donde XX es el nmero de la ASP donde se almacena el UDFS y nombre_udfs es el nombre exclusivo del UDFS dentro de dicha ASP. Observe que el nombre del UDFS debe terminar con la extensin .udfs. Los nombres de vas de acceso para objetos en un UDFS son relativos al directorio sobre el que se monta un UDFS. Por ejemplo, si se monta el UDFS /dev/qasp01/wysocki.udfs en /home/daniel, los nombres de va de acceso de todos los objetos del UDFS empezarn por /home/daniel.
DSPUDFS MOUNT
RMVMFS
65
Nota: Para que los mandatos del sistema de archivos integrado puedan realizar operaciones sobre los objetos almacenados en un UDFS, primero debe montar ste.
66
Utilizacin de los sistemas de archivos NFS mediante la interfaz del sistema de archivos integrado
El Sistema de Archivos de Red es accesible a travs de la interfaz del sistema de archivos integrado y tiene las siguientes consideraciones y limitaciones.
67
directorio raz (/) del cliente. Aunque el sistema de archivos montado parece ser una ampliacin del directorio local, en realidad funcionar y actuar como el sistema de archivos QDLS. Tener presente esta relacin de los sistemas de archivos montados a travs de NFS es importante para procesar las peticiones de forma local y mediante la conexin del servidor. Que un mandato se procese correctamente a nivel local no significa que vaya a funcionar en el directorio montado desde el servidor. Cada directorio montado en el cliente tendr las propiedades y las caractersticas del sistema de archivos del servidor.
Utilizacin de los mandatos del sistema de archivos integrado en el sistema de archivos de red
Todos los mandatos listados en el apartado Mandatos del sistema de archivos integrado en la pgina 16 y las pantallas descritas en el apartado Realizacin de operaciones en el sistema de archivos integrado desde el AS/400 en la pgina 15 pueden realizar operaciones en el Sistema de Archivos de Red. Hay algunos mandatos CL que son especficos del sistema de archivos de red y otros sistemas de archivos montados en general. Sin embargo, puede que la ejecucin de estos
68
mandatos en un proceso con posibilidad multihebra no sea segura. Estn descritos en la tabla siguiente. Encontrar la descripcin completa de los mandatos y pantallas relacionados especficamente con el Sistema de Archivos de Red en la publicacin OS/400 Network File System Support .
Tabla 7. Mandatos CL del Sistema de Archivos de Red
Mandato ADDMFS CHGNFSEXP Descripcin Aadir sistema de archivos montado. Coloca los sistemas de archivos de servidor remoto exportados en directorios de cliente locales. Cambiar exportacin de sistema de archivos de red. Aade o elimina rboles de directorios de la tabla de exportacin de los sistemas de archivos exportados a los clientes del sistema de archivos de red. Visualizar informacin de sistema de archivos montado. Visualiza informacin acerca de un sistema de archivos montado. Finalizar servidor de sistema de archivos de red. Finaliza uno o todos los daemons de sistema de archivos de red del servidor. Exportar sistema de archivos. Aade o elimina rboles de directorios de la tabla de exportacin de los sistemas de archivos exportados a los clientes del sistema de archivos de red. Montar sistema de archivos. Coloca los sistemas de archivos de servidor remoto exportados en directorios de cliente locales. Es un alias del mandato ADDMFS. Liberar bloqueos del sistema de archivos integrado. Libera todos los bloqueos de rango de bytes del sistema de archivos de red mantenidos por un cliente o sobre un objeto. Eliminar sistema de archivos montado. Elimina los sistemas de archivos de servidor remoto exportados del espacio de nombres del cliente local. Iniciar servidor de sistema de archivos de red. Inicia uno o todos los daemons de sistema de archivos de red del servidor. Desmontar sistema de archivos. Elimina los sistemas de archivos de servidor remoto exportados del espacio de nombres del cliente local. Es un alias del mandato RMVMFS.
MOUNT
RLSIFSLCK
Nota: Para poder utilizar los mandatos en un sistema de archivos de red, primero debe montarse ste.
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos de red
Todas las funciones del lenguaje C que se listan en el apartado API del sistema de archivos integrado en la pgina 33 pueden realizar operaciones en el sistema de archivos de red en modalidad de hebras. Para obtener una descripcin completa de las funciones del lenguaje C relacionadas especficamente con el sistema de archivos de red, consulte la publicacin OS/400 Network File System Support . Nota: Para poder utilizar las API en un sistema de archivos de red, primero debe montarse ste.
69
Adems: v Proporciona acceso a los objetos de los Servicios de Directorio NetWare (NDS). v Soporta datos almacenados en archivos continuos. v Proporciona montaje dinmico de Sistemas de Archivos NetWare en el espacio de nombres local. Nota: El sistema de archivos QNetWare est disponible slo si en el sistema est instalada la integracin mejorada NetWare para AS/400, opcin 25 del BOSS. Despus de realizar la siguiente IPL una vez efectuada la instalacin, el directorio /QNetWare y sus subdirectorios aparecen como parte de la estructura de directorios del sistema de archivos integrado. .
Esta sintaxis de va de acceso es semejante a la sintaxis del mandato MAP de NetWare. Las vas de acceso de NDS pueden utilizarse para especificar una va de acceso a un volumen de NetWare, pero, en s, no pueden montarse.
La extensin .SVR se utiliza para representar un servidor Novell NetWare. v Cuando se accede a un volumen de un servidor por medio de los mens, los mandatos o las API del sistema de archivos integrado, el directorio raz del volumen NetWare queda montado de forma automtica en el directorio VOLUMEN de /QNetWare. v QNetWare representa los rboles de NDS de la red de la manera siguiente:
/QNetWare/ARB_EMPR.TRE/ESP.C/ORG.O/UNID_ORG.OU/VOL_SVR1.CN
Las extensiones .TRE, .C, .O, .OU y .CN se utilizan para representar rboles de NDS, pases, organizaciones, unidades organizativas y nombres comunes, respectivamente. Si a un volumen de Novell NetWare se accede a travs de la va de acceso de NDS por medio de un objeto volumen o del alias de un objeto volumen, el directorio raz del mismo se monta tambin de forma automtica en el objeto de NDS.
70
Utilizacin de los mandatos y las pantallas del sistema de archivos integrado en el sistema de archivos QNetWare
Los mandatos listados en el apartado Mandatos del sistema de archivos integrado en la pgina 16 pueden realizar operaciones en el sistema de archivos QNetWare, con la excepcin de los mandatos siguientes, que las realizan en enlaces o que conllevan propiedad de grupos, auditora y reincorporacin/reservas: ADDLINK CHGAUD CHGPGP CHKIN
Captulo 5. Sistemas de archivos: conceptos
71
CHKOUT WRKOBJOWN WRKOBJPGP Adems de los mandatos anteriores, los siguientes no pueden utilizarse en volmenes, servidores ni objetos de NDS: CPYFRMSTMF CPYTOSTMF CRTDIR CHGOWN
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos QNetWare
Las funciones del lenguaje C listadas en el apartado Interfaces de programas de aplicacin (API) para el sistema de archivos integrado en la pgina 32 pueden realizar operaciones en el sistema de archivos, QNetWare, excepto las API siguientes: givedescriptor() link() readlink() symlink() takedescriptor() Adems de las API anteriores, no pueden utilizarse las siguientes API sobre objetos, servidores o volmenes NDS: chmod() chown() create() fchmod() fchown() fcntl() ftruncate() lseek() mkdir() read() readv() unmask() write() writev()
72
El sistema de archivos QNTC forma parte del sistema operativo OS/400 base. Para utilizar el sistema de archivos QNTC, los Programas de Utilidad de Conectividad TCP/IP para el AS/400 han de estar instalados (su nmero de pieza es 5769-TC1). No es necesario que est instalada la Integracin del AS/400 con Windows NT Server, opcin 29 del sistema operativo, para acceder a /QNTC.
v El nombre de servidor puede tener una longitud de 15 caracteres como mximo. Debe formar parte de la va de acceso. v El nombre compartido puede tener una longitud de 12 caracteres como mximo. v Cada componente del nombre de va de acceso tras el nombre compartido puede tener una longitud mxima de 255 caracteres. v Dentro de QNTC, suele haber disponibles 130 niveles de jerarqua. Si todos los componentes del nombre de la va de acceso se incluyen como niveles de jerarqua, la jerarqua de directorios puede llegar a tener una extensin de 132 niveles. v El nombre compartido se almacena en el CCSID de Unicode. v Cada servidor Windows NT en funcionamiento en la subred local aparecer automticamente como un directorio bajo /QNTC. Utilice el mandato Crear Directorio (MKDIR) (consulte la Tabla 1 en la pgina 16) o la API mkdir()
Captulo 5. Sistemas de archivos: conceptos
73
(consulte el tema Interfaces de programas de aplicacin (API) para el sistema de archivos integrado en la pgina 32) para aadir servidores Windows NT externos a la subred local.
Utilizacin de los mandatos y pantallas del sistema de archivos integrado en el sistema de archivos QNTC
Los mandatos que se enumeran en el apartado Mandatos del sistema de archivos integrado en la pgina 16 pueden operar sobre el sistema de archivos QNTC, con la excepcin de los mandatos siguientes, que operan sobre enlaces, propiedad de objetos, acciones de guardar o restaurar, reincorporar y reservar: ADDLNK CHGOWN CHGAUT CHGPGP CHKIN CHKOUT DSPAUT RST SAV WRKAUT WRKOBJOWN WRKOBJPGP Las mismas restricciones son aplicables a las pantallas de usuario descritas en el apartado Realizacin de operaciones en el sistema de archivos integrado desde el AS/400 en la pgina 15.
aadir el servidor NTSRV1 en la estructura de directorios del sistema de archivos QNTC para permitir el acceso a los archivos y directorios de este servidor. Tambin puede aadir un nuevo servidor a la estructura de directorios utilizando la direccin TCP/IP. Por ejemplo:
MKDIR '/QNTC/9.130.67.24'
74
Nota: Si utiliza la API mkdir() o el mandato CL MKDIR para aadir directorios a la estructura de directorios, stos no permanecern visibles despus de una IPL. El mandato MKDIR o la API mkdir() deben volverse a emitir tras cada IPL de sistema.
Utilizacin de las API del sistema de archivos integrado en el sistema de archivos QNTC
Las funciones del lenguaje C que se enumeran en el apartado API del sistema de archivos integrado en la pgina 33 pueden operar en el sistema de archivos QNTC, con las siguientes excepciones: v Las funciones chmod(), fchmod(), utime() y umask() no tendrn ningn efecto sobre los objetos de QNTC, pero si se intentan utilizar no se producir ningn error. v El sistema de archivos QNTC no da soporte a las funciones siguientes. chown() fchown() givedescriptor() link() Qp0lGetPathFromFileID() readlink() symlink() takedescriptor()
75
76
5 6
7 8 9 10
11 12 13 14 15
Nota: Este programa de ejemplo funcionar correctamente en aquellos sistemas en los que el CCSID del trabajo en el que se ejecuta sea 37. Los nombres de va de acceso y de objeto de las API del sistema de archivos integrado deben codificarse en el CCSID del trabajo; sin embargo, el compilador C almacena las constantes de tipo carcter en el CCSID 37. Para que la compatibilidad sea total, convierta las constantes de tipo carcter, como, por ejemplo, los nombres de va de acceso y de objeto, antes de pasar las API al CCSID del trabajo. Si desea ms informacin sobre cmo utilizar el mandato inconv() para convertir cadenas de caracteres de un CCSID a otro, consulte la publicacin OS/400 National Language Support APIs, (SC41-5863-01).
Copyright IBM Corp. 1999, 2000
77
#include #include #include #include #include #define #define #define #define #define #define char char char char int int int uid_t
<stdlib.h> <stdio.h> <fcntl.h> <unistd.h> <sys/types.h> BUFFER_SIZE NEW_DIRECTORY TEST_FILE TEST_DATA USER_ID PARENT_DIRECTORY 2048 "dirtest" "test.file" "Hola todos!" "user_id_" ".."
InitialFile[BUFFER_SIZE]; LinkName[BUFFER_SIZE]; InitialDirectory[BUFFER_SIZE] = "."; Buffer[32]; FilDes = -1; BytesRead; BytesWritten; UserID;
void CleanUpOnError(int level){ printf("Encontrado error, borrando.\n"); switch ( level ) { case 1: printf("No se pudo obtener directorio de trabajo actual.\n"); break; case 2: printf("No se pudo crear el archivo %s.\n",TEST_FILE); break; case 3: printf("No se pudo grabar en archivo %s.\n",TEST_FILE); close(FilDes); unlink(TEST_FILE); break; case 4: printf("No se pudo cerrar el archivo %s.\n",TEST_FILE); close(FilDes); unlink(TEST_FILE); break; case 5: printf("No se pudo crear el directorio %s.\n",NEW_DIRECTORY); unlink(TEST_FILE); break; case 6: printf("No se pudo ir al directorio %s.\n",NEW_DIRECTORY); rmdir(NEW_DIRECTORY); unlink(TEST_FILE); break; case 7: printf("No se pudo crear enlace %s con %s.\n",LinkName,InitialFile); chdir(PARENT_DIRECTORY); rmdir(NEW_DIRECTORY); unlink(TEST_FILE); break; case 8: printf("No se pudo abrir el enlace %s.\n",LinkName); unlink(LinkName); chdir(PARENT_DIRECTORY); rmdir(NEW_DIRECTORY); unlink(TEST_FILE); break; case 9: printf("No se pudo leer el enlace %s.\n",LinkName);
78
close(FilDes); unlink(LinkName); chdir(PARENT_DIRECTORY); rmdir(NEW_DIRECTORY); unlink(TEST_FILE); break; case 10: printf("No se pudo cerrar el enlace %s.\n",LinkName); close(FilDes); unlink(LinkName); chdir(PARENT_DIRECTORY); rmdir(NEW_DIRECTORY); unlink(TEST_FILE); break; case 11: printf("No se pudo deshacer el enlace %s.\n",LinkName); unlink(LinkName); chdir(PARENT_DIRECTORY); rmdir(NEW_DIRECTORY); unlink(TEST_FILE); break; case 12: printf("No se pudo ir al directorio %s.\n",PARENT_DIRECTORY); chdir(PARENT_DIRECTORY); rmdir(NEW_DIRECTORY); unlink(TEST_FILE); break; case 13: printf("No se pudo eliminar el directorio %s.\n",NEW_DIRECTORY); rmdir(NEW_DIRECTORY); unlink(TEST_FILE); break; case 14: printf("No se pudo desenlazar el archivo %s.\n",TEST_FILE); unlink(TEST_FILE); break; default: break; } printf("El programa finaliz con Error.\n"\ "Pueden no estar eliminados todos los archivos y directorios de prueba.\n");} int main (){ 1 /* Obtener e imprimir el ID de usuario real con la funcin getuid(). */ UserID = getuid(); printf("El ID de usuario real es %u. \n",UserID); 2 /* Obtener el directorio de trabajo actual y almacenarlo en InitialDirectory. */ if ( NULL == getcwd(InitialDirectory,BUFFER_SIZE) ) { perror("Error getcwd"); CleanUpOnError(1); return 0; } printf("El directorio de trabajo actual es %s. \n",InitialDirectory); 3 /* Crear el archivo TEST_FILE para grabar, si no existe. Otorgar al propietario autorizacin de lectura, grabacin y ejecucin. */ FilDes = open(TEST_FILE, O_WRONLY | O_CREAT | O_EXCL, S_IRWXU); if ( -1 == FilDes ) { perror("Error open"); CleanUpOnError(2); return 0; } printf("Creado %s en directorio %s.\n",TEST_FILE,InitialDirectory); 4 /* Grabar TEST_DATA en TEST_FILE va FilDes */ BytesWritten = write(FilDes,TEST_DATA,strlen(TEST_DATA));
Apndice A. Programa de ejemplo con funciones C del sistema de archivos integrado
79
5 /* Cerrar TEST_FILE va FilDes */ if ( -1 == close(FilDes) ) { perror("Error close"); CleanUpOnError(4); return 0; } FilDes = -1; printf("Archivo %s cerrado.\n",TEST_FILE); 6 /* Crear un nuevo directorio en el directorio de trabajo actual y otorgar al propietario autorizacin de lectura, grabacin y ejecucin */ if ( -1 == mkdir(NEW_DIRECTORY, S_IRWXU) ) { perror("Error mkdir"); CleanUpOnError(5); return 0; } printf("Directorio %s creado en directorio %s.\n",NEW_DIRECTORY,InitialDirectory); 7 /* Cambiar el directorio de trabajo actual por el directorio NEW_DIRECTORY recin creado. */ if ( -1 == chdir(NEW_DIRECTORY) ) { perror("Error chdir"); CleanUpOnError(6); return 0; } printf("Se ha pasado al directorio %s/%s.\n",InitialDirectory,NEW_DIRECTORY); /* Copiar PARENT_DIRECTORY en InitialFile y aadir "/" y TEST_FILE a InitialFile. */ strcpy(InitialFile,PARENT_DIRECTORY); strcat(InitialFile,"/"); strcat(InitialFile,TEST_FILE); /* Copiar USER_ID en LinkName despus aadir el ID usuario como una serie a LinkName. */ strcpy(LinkName, USER_ID); sprintf(Buffer, "%d\0", (int)UserID); strcat(LinkName, Buffer); 8 /* Crear un enlace con el nombre de InitialFile con LinkName. */ if ( -1 == link(InitialFile,LinkName) ) { perror("Error link"); CleanUpOnError(7); return 0; } printf("Creado un enlace %s con %s.\n",LinkName,InitialFile); 9 /* Abrir el archivo LinkName slo para lectura. */ if ( -1 == (FilDes = open(LinkName,O_RDONLY)) ) { perror("Error open"); CleanUpOnError(8); return 0; } printf("Abierto %s para lectura.\n",LinkName); 10 /* Leer en archivo LinkName, va FilDes, en Buffer. */ BytesRead = read(FilDes,Buffer,sizeof(Buffer)); if ( -1 == BytesRead ) { perror("Error read"); CleanUpOnError(9);
80
return 0; } printf("%s ledo en %s.\n",Buffer,LinkName); if ( BytesRead != BytesWritten ) { printf("AVISO: el nmero de bytes ledos no "\ "es igual al nmero de bytes grabados.\n");
11 /* Cerrar el archivo LinkName va FilDes. */ if ( -1 == close(FilDes) ) { perror("Error close"); CleanUpOnError(10); return 0; } FilDes = -1; printf("Cerrado %s.\n",LinkName); 12 /* Desenlazar el enlace LinkName con InitialFile. */ if ( -1 == unlink(LinkName) ) { perror("Error unlink"); CleanUpOnError(11); return 0; } printf("%s est desenlazado.\n",LinkName); 13 /* Volver a cambiar el directorio de trabajo actual por el directorio inicial. */ if ( -1 == chdir(PARENT_DIRECTORY) ) { perror("Error chdir"); CleanUpOnError(12); return 0; } printf("pasando del directorio al %s.\n",InitialDirectory); 14 /* Eliminar el directorio NEW_DIRECTORY */ if ( -1 == rmdir(NEW_DIRECTORY) ) { perror("Error rmdir"); CleanUpOnError(13); return 0; } printf("Eliminando directorio %s.\n",NEW_DIRECTORY); 15 /* Desenlazar el archivo TEST_FILE */ if ( -1 == unlink(TEST_FILE) ) { perror("Error unlink"); CleanUpOnError(14); return 0; } printf("Desenlazando archivo %s.\n",TEST_FILE); printf("Programa terminado satisfactoriamente.\n"); return 0;}
81
82
Selecciones de red
Las API siguientes proporcionan los medios para elegir el transporte en el que una aplicacin debe ejecutarse. Estas API requieren que el archivo *STMF /etc/netconfig exista en el sistema. Si el archivo netconfig no existiese en el directorio /etc, el usuario debe copiarlo del directorio /QIBM/ProdData/OS400/RPC. El archivo netconfig se encuentra siempre en el directorio QIBM/ProdData/OS400/RPC.
API endnetconfig() freenetconfigent() getnetconfig() getnetconfigent() setnetconfig() Descripcin Libera el puntero a los registros almacenados en el archivo netconfig Libera la estructura netconfig devuelta a partir de la llamada a la funcin getnetconfigent() Devuelve el puntero al registro actual del archivo netconfig e incrementa su puntero hasta el registro siguiente Devuelve el puntero a la estructura netconfig que corresponde al identificador de red de entrada Inicializa el puntero del registro a la primera entrada del archivo netconfig. La funcin setnetconfig() debe utilizarse antes de que se utilice por primera vez la funcin getnetconfig(). La funcin setnetconfig() devuelve un handle exclusivo (un puntero a los registros almacenados en el archivo netconfig) para que la funcin getnetconfig() lo utilice.
83
netdir_options()
xdr_bool()
xdr_bytes()
xdr_char()
84
API xdr_double()
Descripcin Una primitiva de tipo filtro que convierte entre los nmeros con precisin doble propios del lenguaje C y su representacin externa Una primitiva de tipo filtro que convierte entre los caracteres de dos bytes propios del lenguaje C y sus representaciones externas Una primitiva de tipo filtro que convierte entre las enumeraciones (enum) propias del lenguaje C y sus representaciones externas Libera recursivamente el objeto al que apunta el puntero que se ha pasado Una primitiva de tipo filtro que convierte entre los nmeros de coma flotante (nmeros normalizados con una nica coma flotante) propios del lenguaje C y sus representaciones externas. Una primitiva de tipo filtro que convierte entre enteros propios del lenguaje C y sus representaciones externas. Una primitiva de tipo filtro que convierte entre enteros de tipo long propios del lenguaje C y sus representaciones externas. Una primitiva de tipo filtro que convierte entre datos opacos de longitud variable y sus representaciones externas. Una primitiva de tipo filtro que convierte entre datos opacos de tamao fijo y sus representaciones externas. Proporciona seguimiento de punteros dentro de estructuras y serializa punteros de tipo nulo. Puede representar estructuras de datos recursivas como, por ejemplo, rboles binarios o listas enlazadas. Una primitiva de tipo filtro que proporciona seguimiento a punteros dentro de estructuras. Esta primitiva posibilita serializar, deserializar y liberar cualquier puntero dentro de una estructura que est referenciado por otra estructura. La funcin xdr_reference() no concede un significado especial a un puntero nulo durante el proceso de serializacin, por lo que el hecho de pasar la direccin de un puntero nulo puede provocar un error de memoria. En consecuencia, el programador debe describir los datos con una unin discriminada de dos lados. Un lado se utiliza cuando el puntero es vlido, mientras que el otro se utiliza cuando el puntero es nulo. Una primitiva de tipo filtro que convierte entre enteros de tipo short propios del lenguaje C y sus representacin externa Una primitiva de tipo filtro que convierte entre cadenas de caracteres propias del lenguaje C y sus representaciones externas correspondientes Una primitiva de tipo filtro que convierte entre los caracteres sin signo propios del lenguaje C y sus representaciones externas Una primitiva de tipo filtro que convierte entre los enteros sin signo propios del lenguaje C y sus representaciones externas
xdr_double_char()
xdr_enum()
xdr_free() xdr_float()
xdr_int() xdr_long()
xdr_reference()
xdr_short()
xdr_string()
xdr_u_char()
xdr_u_int()
85
API xdr_u_long()
Descripcin Una primitiva de tipo filtro que convierte entre los enteros sin signo de tipo long propios del lenguaje C y sus representaciones externas Una primitiva de tipo filtro que convierte entre los enteros sin signo de tipo short propios del lenguaje C y sus representaciones externas Una primitiva de tipo filtro que convierte entre uniones C discriminadas y sus representaciones externas correspondientes Una primitiva de tipo filtro que convierte entre matrices de longitud fija y sus representaciones externas correspondientes No tiene parmetros. Se pasa a otras funciones RPC que necesitan un parmetro, pero no transmite datos Una primitiva que llama a la API xdr_string(xdr, sp, maxuint), donde maxuint es el valor mximo de un entero sin signo. xdr_wrapstring() es til porque el paquete RPC pasa un mximo de dos funciones XDR como parmetros y la funcin xdr_string() necesita tres.
xdr_u_short()
xdr_union()
xdr_vector()
xdr_void() xdr_wrapstring()
Autenticacin
Las API siguientes proporcionan autenticacin a las aplicaciones con Llamada de procedimiento remoto independiente del transporte (TI-RPC).
API auth_destroy() authnone_create() Descripcin Destruye la estructura de la informacin de autenticacin a la que el parmetro auth apunta Crea y devuelve un handle de autenticacin RPC por omisin que pasa informacin de autenticacin nula con cada llamada de procedimiento remoto. Crea y devuelve un handle de autenticacin RPC que contiene informacin de autenticacin
authsys_create()
86
87
API clnt_freeres() clnt_geterr() svc_freeargs() svc_getargs() svc_getrpccaller() svc_run() svc_sendreply() svcerr_decode() svcerr_noproc() svcerr_systemerr()
Descripcin Libera los datos asignados mediante el sistema RPC o el XDR Obtiene la estructura de error a partir del handle de cliente Libera los datos asignados mediante el sistema RPC o el XDR Decodifica los argumentos de una peticin RPC Obtiene la direccin de red del llamador Espera a que lleguen las peticiones RPC Enva los resultados de una llamada de procedimiento a un cliente remoto. Enva informacin al cliente relativa a un error en la decodificacin Enva informacin al cliente relativa a un error en el nmero del procedimiento Enva informacin al cliente relativa a un error en el sistema
88
89
90
Bibliografa
Esta bibliografa lista la informacin de AS/400 que contiene informacin previa o ms detallada de la informacin que se expone en este manual. v APPC Programming, SC41-5443-00 Este manual describe el soporte APPC (comunicaciones avanzadas programa a programa) para el sistema AS/400. Constituye una gua para realizar el desarrollo de programas de aplicacin que utilizan APPC y para la definicin del entorno de comunicaciones para APPC. v CL Programming, SC41-5721-03 Esta publicacin trata las funciones y conceptos del OS/400 que son relevantes en programacin. v El tema Lenguaje de control de la categora Programacin del AS/400 Information Center proporciona una descripcin del lenguaje de control (CL) del AS/400 y de sus mandatos. Cada descripcin de mandato incluye un diagrama de sintaxis, parmetros, valores por omisin, palabras clave y un ejemplo. v ILE Concepts, SC41-5606-04 En esta publicacin se describen los conceptos y la terminologa del Entorno de Lenguajes Integrado del sistema operativo OS/400. v ILE C for AS/400 Programmers Guide, SC09-2712-01 Esta publicacin proporciona la informacin necesaria para disear, editar, compilar, ejecutar y depurar programas ILE C/400 en el AS/400. v ILE C for AS/400 Run-Time Library Reference, SC09-2711-01 Esta publicacin proporciona informacin acerca de la estructura de los programas ILE C/400 y contiene detalles sobre las funciones de biblioteca y los archivos de incluir (cabecera). v International Application Development, SC41-5603-01 Este manual proporciona informacin relativa a valores de CCSID, esquemas de codificacin, pginas de cdigos y juegos de caracteres grficos. v Gestin de OfiVisin/400, SH10-9074-00 (SH21-0699-00) Este manual describe procedimientos de administracin relevantes para el sistema de archivos QDLS. v National Language Support, SC41-5101-01 Esta publicacin explica los conceptos de soporte de idioma nacional (NLS), por ejemplo el juego de caracteres y la pgina de cdigos y proporciona informacin necesaria para evaluar, planificar y utilizar las posibilidades plurilinges NLS del AS/400. v OS/400 Network File System Support, SC41-5714-01 En esta publicacin est descrito el sistema de archivos de red por medio de una serie de aplicaciones sacadas de la vida real. Se incluye informacin sobre exportacin, montaje y bloqueo de archivos, as como conceptos de seguridad. Con esta publicacin aprender a utilizar NFS para crear y desarrollar un espacio de nombres de red protegido. v Office Services Concepts and Programmers Guide, SH21-0703-00 Este manual proporciona informacin secundaria para los usuarios del sistema de archivos QDLS. v Optical Support, SC41-5310-02 Este manual sirve de gua del usuario y manual de consulta para IBM Optical Support en OS/400. La informacin de esta publicacin puede servir de ayuda al usuario para comprender los conceptos de servidor de datos de biblioteca ptica, planificar una biblioteca ptica, administrar y manejar un servidor de datos de biblioteca ptica y solucionar problemas relativos al servidor de datos de biblioteca ptica. v Client Access Express for Windows Host Servers, SC41-5740-03 En esta publicacin estn descritos los servidores suministrados con OS/400, se explica cmo los productos Client Access/400 utilizan los servidores y se facilita informacin acerca del soporte del sistema y las actividades relacionadas con la gestin de servidores. v Security - Reference, SC41-5302-04 Esta publicacin proporciona informacin tcnica detallada acerca de la seguridad de OS/400.
91
Bibliografa
v System API Programming, SC41-5800-00 Esta publicacin proporciona informacin acerca de la utilizacin de las API de OS/400. v El tema API del OS/400 de la categora Programacin del AS/400 Information Center proporciona una descripcin de cada una de las API del OS/400, incluidas las API del sistema de archivos integrado. v Gestin de trabajos, SC10-3124-03 (SC41-5306-03) Esta publicacin describe conceptos relativos a la gestin de trabajos.
92
ndice A
API ILE C/400 36 programa de ejemplo 77 reglas de nombres de vas de acceso 36 sistema de archivos integrado 33 utilizacin en programas C 29, 32 archivo 77 funciones (API) 33 mens y pantallas 15 modalidades de abrir 43 transferir 25 archivo continuo qu es? 3 comparacin con archivo orientado a registros 3 copiar en/de archivo de base de datos 29 en programa de ejemplo 77 indicando utilizacin en ILE C/400 36 por qu utilizarlo 3 utilizacin en programas 29 ventajas 2 archivo de base de datos comparacin con archivo continuo 3 copiar en/de archivo continuo 29 crear a partir de archivo continuo 29 atributo ampliado CODEPAGE 42 atributo ampliado SUBJECT 42 atributo ampliado TYPE 42 atributos ampliados qu son? 13 continuidad a travs de idiomas nacionales 13, 41 directrices de denominacin 42 manejo 42 tipos 42 autorizacin en programa de ejemplo 77 funciones (API) 33 limitaciones del sistema de archivos QNTC 73 limitaciones en el sistema de archivos QFileSvr.400 62 mandatos 16 manejo en programas 39 clientes PC cmo estn representados los sistemas de archivos 25 conversin datos 43 nombres de objeto 13, 41 conversin de caracteres 2, 13, 41 conversin de datos 43 enlace fijo qu es? 10 comparacin con enlace simblico 40 enlace simblico qu es? 11 comparacin con enlace fijo 40 ejemplo de utilizacin 11 espacio de usuario utilizacin en el sistema de archivos QSYS.LIB 52 esquemas de codificacin 13, 41
D
definido por el usuario, sistema de archivos 5 descripcin 5 descripcin de archivo abierto 38 descriptor de archivo 38 directorio qu es? 6 actual 8 en programa de ejemplo 77 funciones (API) 33 inicial (home) 8 mandatos 16 mens y pantallas 15 sistema de archivos integrado 21 ventajas 1 directorio actual 8 directorio de trabajo 8 directorio inicial (home) 8
F
FTP 25 funciones en programa de ejemplo 77 ILE C/400 36 reglas de nombres de vas de acceso 36 sistema de archivos integrado 33 utilizacin en programas C 29, 32
I
ILE C/400 alternativas API 32 funciones ANSI 36 funciones del sistema de archivos integrado 33 informacin impresa relacionada 91 interfaz de sistema de archivos integrado 1, 2, 5 interfaz de usuario mandatos 16 mens y pantallas 15 vista desde PC 25
E
ejemplo nombres de vas de acceso 9, 19, 36 programa utilizando las API del sistema de archivos integrado 77 utilizacin de enlace simblico 11 enlace qu es? 10 comparacin 40 en programa de ejemplo 77 fijo 10 funciones (API) 33 mandatos 16 mens y pantallas 15 por qu utilizarlo 10 simblico 11 uso en el sistema de archivos / (raz) 49 uso en el sistema de archivos QNTC 74 utilizacin en el sistema de archivos QDLS 55 utilizacin en el sistema de archivos QFileSvr.400 62 utilizacin en el sistema de archivos QOpenSys 50 utilizacin en el sistema de archivos QOPT 58 utilizacin en el sistema de archivos QSYS.LIB 53
L
LU 6.2 en el sistema de archivos QFileSvr.400 60
M
mandatos lista 16 reglas de nombres de vas de acceso 19 utilizacin 16 mens reglas de nombres de vas de acceso 19 utilizacin 15 migracin a travs de sistemas de archivos 25 modalidad de acceso 39 modalidad de archivo abierto binario modalidad de archivo abierto de texto 43
B
bibliografa 91
C
carpetas sistema de archivos QDLS 4, 54 Client Access 24 cliente PC trabajar con el sistema de archivos integrado 22 Copyright IBM Corp. 1999, 2000
43
93
43
N
NetServer 24 NetWare (QNetWare), sistema de archivos caractersticas y limitaciones 69 nombre de va de acceso qu es? 9 nombre de va de acceso absoluto 9 nombre de va de acceso relativo 9 reglas para las API 36 reglas para mandatos y pantallas 19 uso en el sistema de archivos / (raz) 49 uso en el sistema de archivos QNTC 73 utilizacin en el sistema de archivos QDLS 55 utilizacin en el sistema de archivos QFileSvr.400 60 utilizacin en el sistema de archivos QOpenSys 50 utilizacin en el sistema de archivos QOPT 57 utilizacin en el sistema de archivos QSYS.LIB 52 nombre de va de acceso absoluto 9 nombre de va de acceso relativo 9 nombres continuidad a travs de esquemas de codificacin 13 continuidad a travs de idiomas nacionales 41 uso en el sistema de archivos / (raz) 49 uso en el sistema de archivos QNTC 73 utilizacin en el sistema de archivos QDLS 55 utilizacin en el sistema de archivos QFileSvr.400 60 utilizacin en el sistema de archivos QOpenSys 50 utilizacin en el sistema de archivos QOPT 57 utilizacin en el sistema de archivos QSYS.LIB 52
procesador de E/S servidor de archivos 5 programa de lenguaje C ejemplo 77 funciones del sistema de archivos integrado 33 funciones ILE C/400 36 protocolo de transferencia de archivos 25 punteros 38
Q
QFileSvr.400 4 QFileSvr.400 (QFileSvr.400), sistema de archivos descripcin 4 QFileSvr.400, sistema de archivos descripcin 4 QNetWare, sistema de archivos 4 caractersticas y limitaciones 69 descripcin 4 QOPT 5
R
raz (/), sistema de archivos caractersticas y limitaciones descripcin 5 red, sistema de archivos 4 descripcin 4 48
S
seguridad funciones (API) 33 limitaciones del sistema de archivos QNTC 73 limitaciones en el sistema de archivos QFileSvr.400 62 mandatos 16 manejo en programas 39 servidor de archivos 5 servidor de archivos de PC 5 servidor de archivos OS/400 5 servidor de archivos OS/400 (QFileSvr.400), sistema de archivos caractersticas y limitaciones 59 sistema de archivos qu es? 4 biblioteca (QSYS.LIB) caractersticas y limitaciones 51 descripcin 5 comparacin 45 de servidor de archivos OS/400 (QFileSvr.400) caractersticas y limitaciones 59 definido por el usuario, sistema de archivos descripcin 5 interfaz 5 migrar objetos 25 NetWare (QNetWare), sistema de archivos caractersticas y limitaciones 69 ptico (QOPT) caractersticas y limitaciones 56
O
objeto migracin entre sistemas de archivos 25 operaciones (programa de ejemplo) 77 ptico, sistema de archivos (QOPT) descripcin 5 OS/2 Warp Server para AS/400 5
P
pgina de cdigos 2, 13, 41 pantallas reglas de nombres de vas de acceso 19 utilizacin 15 permiso 39
sistema de archivos (continuacin) QNetWare, sistema de archivos descripcin 4 raz (/) caractersticas y limitaciones 48 descripcin 5 servicios de biblioteca de documentos (QDLS) caractersticas y limitaciones 54 descripcin 4 servidor QNTC caractersticas y limitaciones 72 sistema de archivos de red caractersticas y limitaciones 67 descripcin 4 sistema de archivos definido por el usuario caractersticas y limitaciones 63 sistema de archivos ptico (QOPT) descripcin 5 sistema de archivos QFileSvr.400 (QFileSvr.400) descripcin 4 sistema de archivos QNTC descripcin 4 sistemas abiertos (QOpenSys) caractersticas y limitaciones 49 descripcin 4 transferir archivos 25 ventajas 2 sistema de archivos de biblioteca (QSYS.LIB) caractersticas y limitaciones 51 descripcin 5 sistema de archivos de red caractersticas y limitaciones 67 sistema de archivos de servicios de biblioteca de documentos (QDLS) caractersticas y limitaciones 54 descripcin 4 sistema de archivos de sistemas abiertos (QOpenSys) caractersticas y limitaciones 49 descripcin 4 Sistema de archivos de Windows NT Server (QNTC) caractersticas y limitaciones 72 sistema de archivos definido por el usuario caractersticas y limitaciones 63 sistema de archivos integrado por qu utilizarlo? 2 qu es? 1 interfaces de programacin lista de funciones 33 programa de ejemplo 77 punteros y descriptores de archivo 38 reglas de nombres de vas de acceso 36 seguridad 39 soporte de idioma nacional 41 utilizacin en programas C 32 mandatos lista 16 reglas de nombres de vas de acceso 19
94
sistema de archivos integrado (continuacin) utilizacin 16 mens y pantallas reglas de nombres de vas de acceso 19 utilizacin 15 trabajar desde PC cmo estn representados los sistemas de archivos 25 trabajar desde un PC interaccin con directorios y objetos 22 sistema de archivos jerarquizado (HFS) utilizacin de API para el sistema de archivos QDLS 54 utilizacin de las API para el sistema de archivos QOPT 56 sistema de archivos pticos (QOPT) caractersticas y limitaciones sistema de archivos QDLS caractersticas y limitaciones descripcin 4 sistema de archivos QFileSvr.400 caractersticas y limitaciones sistema de archivos QNTC 4 72 caractersticas y limitaciones descripcin 4 sistema de archivos QOpenSys caractersticas y limitaciones descripcin 4 sistema de archivos QOPT caractersticas y limitaciones descripcin 5 sistema de archivos QSYS.LIB caractersticas y limitaciones descripcin 5 socket 41 2, 13, 41 soporte de idioma nacional 51 56 49 59 54 56
T
TCP/IP en el sistema de archivos QFileSvr.400 60
U
unicode 13
ndice
95
96