Quick ?s
Cheat Sheets
Man Pages
The Lynx
Software
TMPNAM(3)		   Linux Programmers Manual		    TMPNAM(3)



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

SYNOPSIS
       #include 

       char *tmpnam(char *s);

DESCRIPTION
       The  tmpnam()  function	returns  a pointer to a string that is a valid
       filename, and such that a file with this name did  not  exist  at  some
       point  in  time, so that naive programmers may think it a suitable name
       for a temporary file.  If the argument s is NULL this name is generated
       in an internal static buffer and may be overwritten by the next call to
       tmpnam().  If s is not NULL, the name is copied to the character  array
       (of  length  at	least  L_tmpnam)  pointed  to  by s and the value s is
       returned in case of success.

       The pathname that is created, has a directory prefix  P_tmpdir.	 (Both
       L_tmpnam  and  P_tmpdir are defined in , just like the TMP_MAX
       mentioned below.)

RETURN VALUE
       The tmpnam() function returns a pointer to a unique temporary filename,
       or NULL if a unique name cannot be generated.

ERRORS
       No errors are defined.

CONFORMING TO
       SVr4, 4.3BSD, C89, C99, POSIX.1-2001.

NOTES
       The  tmpnam()  function	generates  a  different string each time it is
       called, up to TMP_MAX times.  If it is called more than TMP_MAX	times,
       the behavior is implementation defined.

       Although  tmpnam()  generates  names that are difficult to guess, it is
       nevertheless possible that between the time  that  tmpnam()  returns  a
       pathname, and the time that the program opens it, another program might
       create that pathname using open(2), or create it as  a  symbolic  link.
       This  can lead to security holes.  To avoid such possibilities, use the
       open(2)	O_EXCL	flag  to  open	the  pathname.	 Or  better  yet,  use
       mkstemp(3) or tmpfile(3).

       Portable applications that use threads cannot call tmpnam() with a NULL
       argument if either _POSIX_THREADS  or  _POSIX_THREAD_SAFE_FUNCTIONS  is
       defined.

       A POSIX draft proposed to use a function tmpnam_r() defined by

	   char *
	   tmpnam_r(char *s)
	   {
	       return s ? tmpnam(s) : NULL;
	   }

       apparently  as  a warning not to use NULL.  A few systems implement it.
       To get a glibc prototype for  this  function,  define  _SVID_SOURCE  or
       _BSD_SOURCE before including .

BUGS
       Never use this function.  Use mkstemp(3) or tmpfile(3) instead.

SEE ALSO
       mkstemp(3), mktemp(3), tempnam(3), tmpfile(3)

COLOPHON
       This  page  is  part of release 3.05 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.



				  2003-11-15			     TMPNAM(3)




Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:29 2009