> Tech > API spéciales pour liens

API spéciales pour liens

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

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

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010