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 cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Baromètre channel IT : fin du cuivre, essor de UCaaS et premiers pas vers l’IA
- Fraude par identité synthétique : comment l’IA peut redonner confiance aux entreprises et à leurs clients
- VirtualBrowser protège la navigation web à la source
- Innovation et performance : le rôle clé du consulting dans la transformation numérique
Articles les + lus
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
À la une de la chaîne Tech
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
