FPATHCONF(3) Manuel du programmeur Linux FPATHCONF(3)

fpathconf, pathconf - Obtenir des valeurs de configuration de fichiers

#include <unistd.h>
long fpathconf(int fd, int nom_option);
long pathconf(const char *chemin, int nom_option);

La fonction fpathconf() récupère la valeur de l'option de configuration nom_option pour le descripteur de fichier ouvert fd.

La fonction pathconf() récupère la valeur de l'option de configuration nom_option pour le fichier chemin.

Les macros correspondantes définies dans <unistd.h> donnent des informations minimales ; si une application désire tirer partie des valeurs qui peuvent évoluer, elle peut faire appel à fpathconf() ou pathconf() pour obtenir des résultats plus détaillés.

Définir nom_option à l'une des constantes suivantes renvoie les options de configuration suivantes :

_PC_LINK_MAX
Le nombre maximal de liens sur le fichier. Si fd ou chemin correspondent à un répertoire, la valeur s'applique à l'ensemble du répertoire. La macro correspondante est _POSIX_LINK_MAX.
_PC_MAX_CANON
La longueur maximale des lignes de saisie formatées ; fd ou chemin doivent correspondre à un terminal. La macro correspondante est _POSIX_MAX_CANON.
_PC_MAX_INPUT
La longueur maximale d'une ligne de saisie ; fd ou chemin doivent correspondre à un terminal. La macro correspondante est _POSIX_MAX_INPUT.
_PC_NAME_MAX
La longueur maximale du nom d'un fichier que le processus a le droit de créer dans les répertoires chemin ou fd. La macro correspondante est _POSIX_NAME_MAX.
_PC_PATH_MAX
La longueur maximale des chemins relatifs lorsque chemin ou fd est le répertoire courant. La macro correspondante est _POSIX_PATH_MAX.
_PC_PIPE_BUF
Le nombre maximal d'octets qui peuvent être écrits en une seule fois dans un tube ou une file FIFO. Pour fpathconf(), fd doit faire référence à un tube ou à une file FIFO. Pour pathconf(), chemin doit faire référence à une file FIFO ou à un répertoire ; dans ce dernier cas, la valeur renvoyée correspondra aux files FIFO créées dans ce répertoire. La macro correspondante est _POSIX_PIPE_BUF.
_PC_CHOWN_RESTRICTED
La valeur renvoyée est positive si l'utilisation de chown(2) et fchown(2) pour changer l'UID d'un fichier est restreinte à un processus possédant des privilèges appropriés, et si leur utilisation pour changer le GID d'un fichier à une valeur autre que celle du GID effectif du processus ou de ses GID supplémentaires est restreinte à un processus possédant les privilèges appropriés. En accord avec POSIX.1, cette variable sera toujours définie avec une valeur différente de -1. La macro correspondante est _POSIX_CHOWN_RESTRICTED.
Si fd ou chemin fait référence à un répertoire, la valeur renvoyée est valable pour tous les fichiers du répertoire considéré.
_PC_NO_TRUNC
Renvoie une valeur non nulle si l'accès à des noms de fichier plus long que _POSIX_NAME_MAX génère une erreur. La macro correspondante est _POSIX_NO_TRUNC.
_PC_VDISABLE
Renvoie une valeur non nulle si la gestion des caractères spéciaux peut être désactivée, auquel cas fd ou path doit correspondre à un terminal.

Ces fonctions peuvent renvoyer une des valeurs suivantes :

  • En cas d'erreur, la valeur renvoyée est -1 et errno est définie pour préciser l'erreur (par exemple, EINVAL pour signaler que nom_option est non valable).
  • Si nom_option correspond à une limite supérieure ou inférieure et si cette limite est indéterminée, la valeur renvoyée est -1 et errno n'est pas modifiée (pour faire la distinction entre une limite indéterminée et une erreur, définir errno à zéro avant l'appel, puis vérifier si la valeur de errno est différente de zéro lorsque la valeur renvoyée est -1).
  • Si nom_option est un nom d'option valable, une valeur positive est renvoyée si l'option correspondante est prise en charge, ou -1 dans le cas contraire.
  • Sinon, la valeur actuelle de l'option ou de la limite est renvoyée. Cette valeur ne sera pas plus restrictive que la valeur correspondante indiquée à l'application dans <unistd.h> ou <limits.h> à la compilation de cette application.

pathconf() : la permission de recherche est refusée pour un des répertoires situés dans le préfixe de chemin de chemin.
fpathconf() : fd n'est pas un descripteur de fichier valable.
nom_option n'est pas valable.
L'implémentation ne prend pas en charge l'association de nom_option avec le fichier spécifié.
pathconf() : trop de liens symboliques rencontrés en résolvant chemin.
pathconf() : chemin est trop long.
pathconf() : un composant de chemin n'existe pas ou chemin est une chaîne vide.
pathconf() : un élément utilisé comme répertoire de chemin n'est en fait pas un répertoire.

Pour une explication des termes utilisés dans cette section, consulter attributes(7).

Interface Attribut Valeur
fpathconf(), pathconf() Sécurité des threads MT-Safe

POSIX.1-2001, POSIX.1-2008.

Les fichiers dont la longueur du nom excède la valeur renvoyée pour nom_option, définie à _PC_NAME_MAX, peuvent exister dans le répertoire considéré.

Certaines valeurs renvoyées peuvent être énormes ; elles ne sont pas utilisables pour réaliser des allocations mémoires.

getconf(1), open(2), statfs(2), confstr(3), sysconf(3)

Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Lucien Gentis <lucien.gentis@waika9.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

22 mars 2021 GNU