Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tmpnam(3S) — Amiga System V Release 4 Version 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

creat(2)

unlink(2)

fopen(3S)

malloc(3C)

mktemp(3C)

tmpfile(3S)



tmpnam(3S)           STANDARD I/O FUNCTIONS            tmpnam(3S)



NAME
     tmpnam, tempnam - create a name for a temporary file

SYNOPSIS
     #include <stdio.h>

     char *tmpnam (char *s);

     char *tempnam (const char *dir, const char *pfx);

DESCRIPTION
     These functions generate file names that can safely be  used
     for a temporary file.

     tmpnam always generates a file name  using  the  path-prefix
     defined  as  Ptmpdir in the <stdio.h> header file.  If s is
     NULL, tmpnam leaves its result in an  internal  static  area
     and returns a pointer to that area.  The next call to tmpnam
     will destroy the contents of the area.  If s is not NULL, it
     is  assumed  to  be  the  address  of  an  array of at least
     Ltmpnam bytes, where Ltmpnam  is  a  constant  defined  in
     <stdio.h>;  tmpnam  places  its  result  in  that  array and
     returns s.  tempnam allows the user to control the choice of
     a  directory.   The  argument  dir points to the name of the
     directory in which the file is to be  created.   If  dir  is
     NULL  or  points  to  a  string  that  is  not a name for an
     appropriate directory, the path-prefix defined  as  Ptmpdir
     in  the <stdio.h> header file is used.  If that directory is
     not accessible, /tmp will be used as a  last  resort.   This
     entire sequence can be up-staged by providing an environment
     variable TMPDIR in the user's environment,  whose  value  is
     the  name  of  the  desired  temporary-file directory.  Many
     applications prefer their temporary files  to  have  certain
     favorite  initial  letter sequences in their names.  Use the
     pfx argument for this.  This argument may be NULL  or  point
     to a string of up to five characters to be used as the first
     few characters of the  temporary-file  name.   tempnam  uses
     malloc  to  get  space  for  the  constructed file name, and
     returns a pointer to this area.   Thus,  any  pointer  value
     returned  from tempnam may serve as an argument to free [see
     malloc(3C)].  If tempnam cannot return the  expected  result
     for any reason-e.g., malloc failed-or none of the above men-
     tioned attempts to find an appropriate  directory  was  suc-
     cessful, a NULL pointer will be returned.

     tempnam fails if there is not enough space.

FILES
     ptmpdir
            /var/tmp





          Last change: C Programming Language Utilities         1





tmpnam(3S)           STANDARD I/O FUNCTIONS            tmpnam(3S)



SEE ALSO
     creat(2),  unlink(2),  fopen(3S),  malloc(3C),   mktemp(3C),
     tmpfile(3S).

NOTES
     These functions generate a different  file  name  each  time
     they  are  called.   Files created using these functions and
     either fopen or creat are temporary only in the  sense  that
     they  reside  in a directory intended for temporary use, and
     their names are unique.  It is the user's responsibility  to
     remove the file when its use is ended.

     If called more than TMPMAX (defined in stdio.h) times in  a
     single  process,  these functions start recycling previously
     used names.

     Between the time a file name is  created  and  the  file  is
     opened,  it  is  possible for some other process to create a
     file with the same name.  This  can  never  happen  if  that
     other  process  is  using  these functions or mktemp and the
     file names are chosen to render duplication by  other  means
     unlikely.

































          Last change: C Programming Language Utilities         2



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