Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mkstemp(3) — Atari System V 1.1-06

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
         cc [ flag... ] file ... -lucb

         mkstemp(template)
         char *template;

   DESCRIPTION
         mkstemp creates a unique file name, typically in a temporary
         filesystem, 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.

   SEE ALSO
         getpid(2), open(2), tmpfile(3S), tmpnam(3S) in the Programmer's
         Reference Manual.

   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
         creating more than one unique filename, it is bad practice to use the
         same root template for multiple invocations of mkstemp.
















   8/91                                                                 Page 1





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