.TH OPENTEMP 3
.SH NAME
opentemp \- create and open a uniquely-named file
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.PP
.B
int opentemp(char *template, int mode)
.SH DESCRIPTION
.I Opentemp
replaces
.I template
by a unique file name, and returns the
address of the template.
The template should look like a file name with eleven trailing
.LR X s.
The
.LR X s
are replaced by a letter followed by the current process id.
Letters from
.L a
to
.L z
are tried until the name of a file that does not yet exist
(see
.IR access (2))
is generated.
.I Opentemp
then opens the file for the given
.I mode
and returns the file descriptor.
Most calls should use a mode
of
.BR ORDWR|ORCLOSE .
.PP
If no such name can be generated,
.I opentemp
returns \-1.
.PP
.I Opentemp
avoids races.
Two simultaneous calls to
.I opentemp
will never return the same name.
.SH SOURCE
.B \*9/src/lib9/opentemp.c
.SH "SEE ALSO
.I create
in
.IR open (3)
