aboutsummaryrefslogtreecommitdiffstats
path: root/man3/tmpnam.3
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2004-11-03 13:51:07 +0000
committerMichael Kerrisk <mtk.manpages@gmail.com>2004-11-03 13:51:07 +0000
commitfea681dafb1363a154b7fc6d59baa83d2a9ebc5c (patch)
tree8ea275c0f242af739617d0afc3e1b16c4eff3dc2 /man3/tmpnam.3
downloadman-pages-fea681dafb1363a154b7fc6d59baa83d2a9ebc5c.tar.gz
Import of man-pages 1.70man-pages-1.70
Diffstat (limited to 'man3/tmpnam.3')
-rw-r--r--man3/tmpnam.3110
1 files changed, 110 insertions, 0 deletions
diff --git a/man3/tmpnam.3 b/man3/tmpnam.3
new file mode 100644
index 0000000000..e42c49865a
--- /dev/null
+++ b/man3/tmpnam.3
@@ -0,0 +1,110 @@
+.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl)
+.\"
+.\" 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.
+.\"
+.\" 2003-11-15, aeb, added tmpnam_r
+.\"
+.TH TMPNAM 3 2003-11-15 "" "Linux Programmer's Manual"
+.SH NAME
+tmpnam, tmpnam_r \- create a name for a temporary file
+.SH SYNOPSIS
+.nf
+.B #include <stdio.h>
+.sp
+.BI "char *tmpnam(char *" s );
+.fi
+.SH DESCRIPTION
+The
+.B tmpnam()
+function returns a pointer to a string that is a valid filename,
+and such that a file with this name did not exist at some point
+in time, so that naive programmers may think it
+a suitable name for a temporary file. If the argument
+.I s
+is NULL this name is generated in an internal static buffer
+and may be overwritten by the next call to
+.BR tmpnam() .
+If
+.I s
+is not NULL, the name is copied to the character array (of length
+at least
+.IR L_tmpnam )
+pointed to by
+.I s
+and the value
+.I s
+is returned in case of success.
+.LP
+The path name that is created, has a directory prefix
+.IR P_tmpdir .
+(Both
+.I L_tmpnam
+and
+.I P_tmpdir
+are defined in
+.IR <stdio.h> ,
+just like the TMP_MAX mentioned below.)
+.SH "RETURN VALUE"
+The
+.B tmpnam()
+function returns a pointer to a unique temporary
+filename, or NULL if a unique name cannot be generated.
+.SH ERRORS
+No errors are defined.
+.SH NOTES
+The
+.B tmpnam()
+function generates a different string each time it is called,
+up to TMP_MAX times. If it is called more than TMP_MAX times,
+the behaviour is implementation defined.
+.LP
+Portable applications that use threads cannot call
+.B tmpnam()
+with NULL parameter if either _POSIX_THREADS or
+_POSIX_THREAD_SAFE_FUNCTIONS is defined.
+.LP
+A POSIX draft proposed to use a function
+.B tmpnam_r()
+defined by
+.sp
+.nf
+.in +5
+char *tmpnam_r(char *s) {
+ return s ? tmpnam(s) : NULL;
+}
+.in
+.fi
+.sp
+apparently as a warning not to use NULL.
+A few systems implement it. To get a glibc prototype,
+define _SVID_SOURCE or _BSD_SOURCE before including
+.IR "<stdio.h>" .
+.SH BUGS
+Never use this function. Use
+.BR mkstemp (3)
+instead.
+.SH "CONFORMING TO"
+SVID 2, POSIX, BSD 4.3, ISO 9899
+.SH "SEE ALSO"
+.BR mkstemp (3),
+.BR mktemp (3),
+.BR tempnam (3),
+.BR tmpfile (3)