| OPENTEMP(3) | OPENTEMP(3)

NAME

| opentemp – create and open a uniquely-named file

SYNOPSIS

`#include <u.h>
#include <libc.h>

` `int opentemp(char *template, int mode)
`

DESCRIPTION

Opentemp replaces template by a unique file name, and returns the address of the template. The template should look like a file name with eleven trailing `X`s. The `X`s are replaced by a letter followed by the current process id. Letters from `a` to `z` are tried until the name of a file that does not yet exist (see access(2)) is generated. Opentemp then opens the file for the given mode and returns the file descriptor. Most calls should use a mode of `ORDWR|ORCLOSE`.

If no such name can be generated, opentemp returns –1.

Opentemp avoids races. Two simultaneous calls to opentemp will never return the same name.

SOURCE

| `/usr/local/plan9/src/lib9/opentemp.c`

SEE ALSO

| create in open(3)