Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mkstemp(3) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getpid(2)

open(2)

tmpfile(3S)

tmpnam(3S)

mkstemp(3)              (BSD Compatibility Package)              mkstemp(3)

NAME
     mkstemp - make a unique file name

SYNOPSIS
     /usr/ucb/cc [flag ...] file ... -lucb

     #include <stdlib.h>

     int mkstemp(char *template);

DESCRIPTION
     mkstemp creates a unique file name, typically in a temporary file sys-
     tem, by replacing template with a unique file name, and returns a file
     descriptor for the template file open for reading and writing. The
     string in template should contain a file name with six trailing Xs;
     mkstemp replaces the Xs with a letter and the current process ID. The
     letter will be chosen so that the resulting name does not duplicate an
     existing file. mkstemp avoids the race between testing whether the
     file exists and opening it for use.

RETURN VALUE
     mkstemp returns -1 if no suitable file could be created.

NOTES
     It is possible to run out of letters.

     mkstemp actually changes the template string which you pass; this
     means that you cannot use the same template string more than once -
     you need a fresh template for every unique file you want to open.

     When mkstemp is creating a new unique filename it checks for the prior
     existence of a file with that name. This means that if you are creat-
     ing more than one unique filename, it is bad practice to use the same
     root template for multiple invocations of mkstemp.

SEE ALSO
     getpid(2), open(2), tmpfile(3S), tmpnam(3S).


















Page 1                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026