Certaines API spéciales s’accommodent parfaitement des liens symboliques. L’API lstat() se comporte exactement comme l’API stat(), à un détail près. Si le nom de chemin d’accès fourni à l’API lstat() est un lien symbolique, l’API renvoie l’information à propos du lien lui-même, tandis que l’API stat() renvoie l’information à propos
API spéciales pour liens
du fichier vers lequel pointe le lien. L’API stat() renvoie des informations à propos des fichiers qui se trouvent dans l’IFS : la taille, le type et le propriétaire du fichier, entre autres. Vous pouvez en lire plus sur l’API stat() ainsi que voir quelques exemples de code qui l’utilisent dans un article précédent de cette série, « Obtenir des informations à propos de vos fichiers » iSeries News, juillet-août 2005.
De la même manière, les API lchown() et chown() changent le propriétaire d’un fichier dans l’IFS. Là encore, la différence entre elles ne se manifeste que quand le nom de chemin donné est un lien symbolique. L’API lchown() change le propriétaire du lien symbolique lui-même tandis que l’API chown() change le propriétaire du fichier vers lequel pointe le lien.
Certaines autres API ont des paramètres qui indiquent si les liens symboliques doivent être suivis ou non. Qp01GetAttr() est un exemple de ce genre d’API. Quand le paramètre FollowSymlink est 0, l’API donne les attributs du lien lui-même, tandis que si le paramètre est 1, l’API donne des informations sur le fichier vers lequel pointe le lien. La figure 6 montre le programme READLINK. On voit qu’on peut utiliser l’API readlink() pour savoir vers quel fichier pointe un lien symbolique (A en figure 6). Le premier paramètre est le nom de chemin d’accès vers un symlink que vous voudriez lire. Les deuxième et troisième paramètres spécifient un endroit en mémoire où l’API écrit le nom du chemin d’accès et la taille de cette zone de mémoire, respectivement. En figure 6, j’ai utilisé une variable appelée buffer comme mon emplacement en mémoire. La valeur renvoyée par l’API est la longueur du nom qui est extrait. Vous pouvez utiliser la fonction intégrée (BIF, built-in function) %SUBST pour extraire le nom de chemin à partir du buffer vers une chaîne de longueur variable (B en figure 6).
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Deepfakes et IA : 64% des Français pensent savoir les détecter, mais la confiance reste fragile
- Cryptographie post-quantique : le Campus Cyber publie deux guides clés pour accélérer la transition des entreprises
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
