> Tech > Les API de l’IFS

Les API de l’IFS

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Julian Monypenny - Mis en ligne le 26/01/2005 - Publié en Mars 2004

Accéder aux répertoires et lire et écrire dans des fichiers stream en utilisant des API dans un programme ILE RPG

Les API de l'IFS (integrated file system) permettent de manipuler des répertoires et des fichiers stream dans l'IFS. Ces API font partie des API de style Unix pour l'iSeries. Elles ont été conçues pour des programmes C, mais ont aussi leur place dans des programmes ILE RPG ...Nous verrons ici comment utiliser les API pour accéder aux répertoires et pour lire et écrire des fichiers stream. Mais commençons par l'examen de quelques concepts C qui sous-tendent les API.

Les API de l’IFS

Pour utiliser un objet (répertoires et
fichiers stream) dans l’IFS, il faut
d’abord ouvrir l’objet. Cela fait, vous
recevrez un handle associé à  l’objet. Le
handle identifie auprès de l’API l’objet
qu’elle devra manipuler. Quand on a
fini d’utiliser un objet, on le ferme. Le
processus ressemble à  ceci :

handle = open( name );
read( handle );
close( handle );

Les variables caractères d’entrée
sont passées comme des pointeurs
vers les chaînes C. Une chaîne C est terminée
par null, c’est-à -dire qu’elle finit
par un ’00’ hexadécimal. Sur le prototype
de procédure, on définit un paramètre
avec les options( *string ) pour
passer une variable caractère comme
une valeur terminée par null. Donc, le
code open se présente maintenant
ainsi :

handle = open( %trim( name ) );

Les API renvoient normalement un
entier ou un pointeur ; un entier
négatif ou un pointeur null signale une
erreur. Toutes les autres valeurs de
renvoi sont passées comme des
paramètres de sortie.
Si une erreur survient, on peut utiliser
la fonction _errno pour renvoyer
une valeur entière qui l’identifie. On
définit les numéros d’erreurs dans le
membre ERRNO du fichier source SYS
dans la bibliothèque QSYSINC.
Les API C réduisent parfois le nombre de paramètres
d’entrée en autorisant plusieurs valeurs dans un paramètre
individuel. Pour cela, on ajoute des valeurs uniques. Si une
valeur 10 identifie une option et une valeur 100 en identifie
une autre, la valeur 110 identifiera les deux :

function( 10 + 100 );

Voilà  pour les principes de base. Deux membres copy
fournissent un cadre pour utiliser certaines des API IFS les
plus courantes. Le membre STDTYPH définit les types standard
à  utiliser dans un quelconque programme. Le membre
STMIOH définit les types de données, les constantes et les
prototypes pour les API. (Pour télécharger les deux membres
copy, aller sur www.itpro.fr Club
Abonnés.) Les définitions dans STMIOH
sont plutôt succinctes. Nous allons
donc les approfondir pour voir
comment les utiliser pour afficher un
répertoire et lire et écrire des fichiers
stream. Vous pouvez examiner en détail
les membres copy après les avoir
vus à  l’oeuvre.

Téléchargez gratuitement cette ressource

Comment sécuriser la Digital Workplace ?

Comment sécuriser la Digital Workplace ?

Avec le recours généralisé au télétravail, les entreprises ont ouvert davantage leur SI. En dépit des précautions prises, elles ont mécaniquement élargi leur surface d’exposition aux risques. Découvrez 5 axes à ne pas négliger dans ce Top 5 Sécurité du Télétravail.

Tech - Par iTPro.fr - Publié le 24 juin 2010