OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / original / man3 / tempnam.3
diff --git a/original/man3/tempnam.3 b/original/man3/tempnam.3
deleted file mode 100644 (file)
index 680316d..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl)
-.\"
-.\" %%%LICENSE_START(VERBATIM)
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
-.\"
-.TH TEMPNAM 3  2014-02-27 "" "Linux Programmer's Manual"
-.SH NAME
-tempnam \- create a name for a temporary file
-.SH SYNOPSIS
-.nf
-.B #include <stdio.h>
-.sp
-.BI "char *tempnam(const char *" dir ", const char *" pfx );
-.fi
-.sp
-.in -4n
-Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
-.in
-.sp
-.BR tempnam ():
-_BSD_SOURCE || _SVID_SOURCE
-.SH DESCRIPTION
-.I "Never use this function."
-Use
-.BR mkstemp (3)
-or
-.BR tmpfile (3)
-instead.
-
-The
-.BR tempnam ()
-function returns a pointer to a string that is a valid filename,
-and such that a file with this name did not exist when
-.BR tempnam ()
-checked.
-The filename suffix of the pathname generated will start with
-.I pfx
-in case
-.I pfx
-is a non-NULL string of at most five bytes.
-The directory prefix part of the pathname generated is required to
-be "appropriate" (often that at least implies writable).
-
-Attempts to find an appropriate directory go through the following
-steps:
-.TP 3
-a)
-In case the environment variable
-.B TMPDIR
-exists and
-contains the name of an appropriate directory, that is used.
-.TP
-b)
-Otherwise, if the
-.I dir
-argument is non-NULL and appropriate, it is used.
-.TP
-c)
-Otherwise,
-.I P_tmpdir
-(as defined in
-.IR <stdio.h> )
-is used when appropriate.
-.TP
-d)
-Finally an implementation-defined directory may be used.
-.PP
-The string returned by
-.BR tempnam ()
-is allocated using
-.BR malloc (3)
-and hence should be freed by
-.BR free (3).
-.SH RETURN VALUE
-On success, the
-.BR tempnam ()
-function returns a pointer to a unique temporary filename.
-It returns NULL if a unique name cannot be generated, with
-.I errno
-set to indicate the cause of the error.
-.SH ERRORS
-.TP
-.B ENOMEM
-Allocation of storage failed.
-.SH CONFORMING TO
-SVr4, 4.3BSD, POSIX.1-2001.
-POSIX.1-2008 marks
-.BR tempnam ()
-as obsolete.
-.SH NOTES
-Although
-.BR tempnam ()
-generates names that are difficult to guess,
-it is nevertheless possible that between the time that
-.BR tempnam ()
-returns a pathname, and the time that the program opens it,
-another program might create that pathname using
-.BR open (2),
-or create it as a symbolic link.
-This can lead to security holes.
-To avoid such possibilities, use the
-.BR open (2)
-.B O_EXCL
-flag to open the pathname.
-Or better yet, use
-.BR mkstemp (3)
-or
-.BR tmpfile (3).
-
-SUSv2 does not mention the use of
-.BR TMPDIR ;
-glibc will use it only
-when the program is not set-user-ID.
-On SVr4, the directory used under \fBd)\fP is
-.I /tmp
-(and this is what glibc does).
-.LP
-Because it dynamically allocates memory used to return the pathname,
-.BR tempnam ()
-is reentrant, and thus thread safe, unlike
-.BR tmpnam (3).
-.LP
-The
-.BR tempnam ()
-function generates a different string each time it is called,
-up to
-.B TMP_MAX
-(defined in
-.IR <stdio.h> )
-times.
-If it is called more than
-.B TMP_MAX
-times,
-the behavior is implementation defined.
-.LP
-.BR tempnam ()
-uses at most the first five bytes from
-.IR pfx .
-
-The glibc implementation of
-.BR tempnam ()
-will fail with the error
-.B EEXIST
-upon failure to find a unique name.
-.SH BUGS
-The precise meaning of "appropriate" is undefined;
-it is unspecified how accessibility of a directory is determined.
-.SH SEE ALSO
-.BR mkstemp (3),
-.BR mktemp (3),
-.BR tmpfile (3),
-.BR tmpnam (3)
-.SH COLOPHON
-This page is part of release 3.79 of the Linux
-.I man-pages
-project.
-A description of the project,
-information about reporting bugs,
-and the latest version of this page,
-can be found at
-\%http://www.kernel.org/doc/man\-pages/.