mirror of https://github.com/mkerrisk/man-pages
121 lines
3.1 KiB
Groff
121 lines
3.1 KiB
Groff
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
|
|
.\"
|
|
.\" %%%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
|
|
.\"
|
|
.\" References consulted:
|
|
.\" Linux libc source code
|
|
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
|
|
.\" 386BSD man pages
|
|
.\" Modified Sat Jul 24 17:46:57 1993 by Rik Faith (faith@cs.unc.edu)
|
|
.\" Modified 2001-11-17, aeb
|
|
.TH TMPFILE 3 2021-03-22 "" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
tmpfile \- create a temporary file
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B #include <stdio.h>
|
|
.PP
|
|
.B FILE *tmpfile(void);
|
|
.fi
|
|
.SH DESCRIPTION
|
|
The
|
|
.BR tmpfile ()
|
|
function opens a unique temporary file
|
|
in binary read/write (w+b) mode.
|
|
The file will be automatically deleted when it is closed or the
|
|
program terminates.
|
|
.SH RETURN VALUE
|
|
The
|
|
.BR tmpfile ()
|
|
function returns a stream descriptor, or NULL if
|
|
a unique filename cannot be generated or the unique file cannot be
|
|
opened.
|
|
In the latter case,
|
|
.I errno
|
|
is set to indicate the error.
|
|
.SH ERRORS
|
|
.TP
|
|
.B EACCES
|
|
Search permission denied for directory in file's path prefix.
|
|
.TP
|
|
.B EEXIST
|
|
Unable to generate a unique filename.
|
|
.TP
|
|
.B EINTR
|
|
The call was interrupted by a signal; see
|
|
.BR signal (7).
|
|
.TP
|
|
.B EMFILE
|
|
The per-process limit on the number of open file descriptors has been reached.
|
|
.TP
|
|
.B ENFILE
|
|
The system-wide limit on the total number of open files has been reached.
|
|
.TP
|
|
.B ENOSPC
|
|
There was no room in the directory to add the new filename.
|
|
.TP
|
|
.B EROFS
|
|
Read-only filesystem.
|
|
.SH ATTRIBUTES
|
|
For an explanation of the terms used in this section, see
|
|
.BR attributes (7).
|
|
.ad l
|
|
.nh
|
|
.TS
|
|
allbox;
|
|
lbx lb lb
|
|
l l l.
|
|
Interface Attribute Value
|
|
T{
|
|
.BR tmpfile ()
|
|
T} Thread safety MT-Safe
|
|
.TE
|
|
.hy
|
|
.ad
|
|
.sp 1
|
|
.SH CONFORMING TO
|
|
POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD, SUSv2.
|
|
.SH NOTES
|
|
POSIX.1-2001 specifies:
|
|
an error message may be written to
|
|
.I stdout
|
|
if the stream
|
|
cannot be opened.
|
|
.PP
|
|
The standard does not specify the directory that
|
|
.BR tmpfile ()
|
|
will use.
|
|
Glibc will try the path prefix
|
|
.I P_tmpdir
|
|
defined
|
|
in
|
|
.IR <stdio.h> ,
|
|
and if that fails, then the directory
|
|
.IR /tmp .
|
|
.SH SEE ALSO
|
|
.BR exit (3),
|
|
.BR mkstemp (3),
|
|
.BR mktemp (3),
|
|
.BR tempnam (3),
|
|
.BR tmpnam (3)
|