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

État des lieux de la réponse à incident de cybersécurité
Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.
Les articles les plus consultés
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Activer la mise en veille prolongée dans Windows 10
- Les 6 étapes vers un diagnostic réussi
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
Les plus consultés sur iTPro.fr
- DSI en assurance : gardien du temple ou moteur de la transformation ?
- Ransomware : persistance des cyberattaques à l’échelle mondiale
- Cybersécurité : l’IA générative rebat les cartes du cybercrime
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
- Comment le Quarter Plan permet d’aligner IT et Métiers pour délivrer
