NOM

fpathconf, pathconf - Obtenir des valeurs de configuration de fichiers

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

SYNOPSIS

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

DESCRIPTION

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.

VALEUR RENVOYÉE

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.

ERREURS

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

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface Attribut Valeur
fpathconf(), pathconf() Sécurité des threads MT-Safe
 

STANDARDS

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

NOTES

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.

VOIR AUSSI

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

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]> et Lucien Gentis <[email protected]>
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 à [email protected]

Recommended readings

Pages related to pathconf you should read also: