Man page - mkstemps(3)

Packages contains this manual

Available languages:

en fr pl ja ro de

Manual

mkstemp

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
VOIR AUSSI
TRADUCTION

NOM

mkstemp, mkostemp, mkstemps, mkostemps - Créer un fichier temporaire unique

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

#include <stdlib.h>

int mkstemp(char * template );
int mkostemp(char *
template , int flags );
int mkstemps(char *
template , int suffixlen );
int mkostemps(char *
template , int suffixlen , int flags );

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros (7)) :

mkstemp () :
_XOPEN_SOURCE >= 500
|| /* glibc >= 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

mkostemp ():
_GNU_SOURCE

mkstemps ():
/* glibc >= 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _SVID_SOURCE || _BSD_SOURCE

mkostemps ():
_GNU_SOURCE

DESCRIPTION

La fonction mkstemp () engendre un nom de fichier temporaire unique, à partir du motif template , crée et ouvre le fichier, et renvoie un descripteur de fichier ouvert pour ce fichier.

Les 6 derniers caractĂšres de template doivent ĂȘtre XXXXXX, et ils seront remplacĂ©s par une chaĂźne rendant le nom de fichier unique. Comme il sera modifiĂ©, template ne doit pas ĂȘtre une chaĂźne constante, mais un tableau de caractĂšres.

Le fichier est créé en mode 0600, c’est-Ă -dire en lecture et Ă©criture pour le propriĂ©taire seulement. Le descripteur de fichier renvoyĂ© fournit les accĂšs en lecture et en Ă©criture sur le fichier. Le fichier est ouvert avec l’attribut O_EXCL de open (2), garantissant que l’appelant soit le processus qui a créé le fichier.

La fonction mkostemp () agit comme mkstemp (), Ă  la diffĂ©rence que les bits suivants — avec la mĂȘme signification que pour open (2) — peuvent ĂȘtre dĂ©finis dans flags : O_APPEND , O_CLOEXEC et O_SYNC . Remarquez qu’en crĂ©ant le fichier, mkostemp () contient les valeurs O_RDWR , O_CREAT et O_EXCL dans l’argument flags donnĂ© Ă  open (2) ; inclure ces valeurs dans l’argument flags donnĂ© Ă  mkostemp () n’est pas nĂ©cessaire et produit des erreurs sur certains systĂšmes.

La fonction mkstemps () agit comme mkstemp () sauf que la chaßne dans template contient un suffixe de suffixlen caractÚres. Ainsi, template est de la forme préfixeXXXXXXsuffixe et la chaßne XXXXXX est modifiée comme dans mkstemp ().

La fonction mkostemps () est Ă  mkstemps () ce que mkostemp () est Ă  mkstemp ().

VALEUR RENVOYÉE

Si elles rĂ©ussissent, ces fonctions renvoient le descripteur du fichier temporaire créé ou -1 si elles Ă©chouent, auquel cas errno contient le code d’erreur.

ERREURS

EEXIST

Impossible de créer un nom de fichier temporaire unique. Le contenu template est alors imprévisible.

EINVAL

Pour mkstemp () et mkostemp () : les six derniers caractĂšres de template ne sont pas XXXXXX ; template n’est pas modifiĂ©.

Pour mkstemps () et mkostemps () : template a une longueur inférieure à (6 + suffixlen) , ou les six derniers caractÚres avant le suffixe ne sont pas XXXXXX.

Ces fonctions peuvent également échouer avec une des erreurs décrites pour open (2).

ATTRIBUTS

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

Image grohtml-3872658-1.png

STANDARDS

mkstemp ()

POSIX.1-2001.

mkstemps ()

BSD.

mkostemp ()
mkostemps
()

GNU.

HISTORIQUE

mkstemp ()

4.3BSD, POSIX.1-2001.

mkstemps ()

glibc 2.11. BSD, Mac OS X, Solaris, Tru64.

mkostemp ()

glibc 2.7.

mkostemps ()

glibc 2.11.

Dans la version 2.06 de la glibc et auparavant, le fichier Ă©tait créé en mode 0666, c’est-Ă -dire en lecture et Ă©criture pour tous les utilisateurs. Cet ancien comportement est un trou de sĂ©curitĂ© potentiel, surtout depuis que les autres dĂ©rivĂ©s UNIX utilisent le mode 0600, et quelqu’un risque d’oublier ce dĂ©tail en effectuant un portage de programme. POSIX.1-2008 ajoute l’obligation de crĂ©er ce fichier en mode 0600.

Plus gĂ©nĂ©ralement, la spĂ©cification POSIX de mkstemp () ne dit rien des modes des fichiers, ainsi les applications doivent s’assurer que la valeur du masque de mode de crĂ©ation de fichiers (consultez umask (2)) est correcte avant d’appeler mkstemp () (et mkostemp ()).

VOIR AUSSI

mkdtemp (3), mktemp (3), tempnam (3), tmpfile (3), tmpnam (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 <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> et David Prévot <david@tilapin.org>

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 .