tmpnam man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

TMPNAM(3C)							    TMPNAM(3C)

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

       #include <stdio.h>

       char *tmpnam(char *s);

       char *tmpnam_r(char *s);

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

       These  functions generate file names that can be used safely for a tem‐
       porary file.

       The tmpnam() function always generates a file name using the path  pre‐
       fix  defined  as	 P_tmpdir in the <stdio.h> header. On Solaris systems,
       the default value for P_tmpdir is  /var/tmp. If	s  is  NULL,  tmpnam()
       leaves  its result in a thread-specific data area and returns a pointer
       to that area. The next call to tmpnam() by the same thread 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 L_tmpnam bytes,	where  L_tmpnam	 is  a
       constant defined through inclusion of <stdio.h>. The  tmpnam() function
       places its result in that array and returns s.

       The tmpnam_r() function has the same functionality as  tmpnam()	except
       that if s is a null pointer, the function returns NULL.

       The  tempnam()  function	 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 P_tmpdir in the <stdio.h> header is used. If that directory
       is not accessible, /tmp is used. If, however,  the  TMPDIR  environment
       variable	 is  set  in  the user's environment, its value is used as the
       temporary-file directory.

       Many applications prefer that  temporary	 files	have  certain  initial
       character  sequences  in	 their	names. The pfx argument may be NULL or
       point to a string of up to five characters to be used  as  the  initial
       characters of the temporary-file name.

       Upon successful completion, tempnam() uses malloc(3C) to allocate space
       for a string, puts the generated pathname in that space, and returns  a
       pointer	to it. The pointer is suitable for use in a subsequent call to
       free(). If tempnam() cannot return the expected result for  any	reason
       (for  example,  malloc()	 failed),  or  if  none of the above-mentioned
       attempts to find	 an  appropriate  directory  was  successful,  a  null
       pointer is returned and errno is set to indicate the error.

       The tempnam() function will fail if:

		 Insufficient storage space is available.

       These  functions	 generate  a  different	 file  name each time they are

       Files created using these functions and either  fopen(3C)  or  creat(2)
       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 TMP_MAX (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(3C) and the file names are chosen to render duplication by other
       means unlikely.

       The tmpnam() function is safe  to  use  in  multithreaded  applications
       because it employs thread-specific data if it is passed a NULL pointer.
       However, its use is discouraged. The tempnam() function is safe in mul‐
       tithreaded applications and should be used instead.

       When compiling multithreaded applications, the  _REENTRANT flag must be
       defined on the compile line.  This flag should be used only with multi‐
       threaded applications.

       See attributes(5) for descriptions of the following attributes:

       │Interface Stability │ tmpnam() and tempnam() are Standard. │
       │MT-Level	    │ Safe				   │

       creat(2),   unlink(2),  fopen(3C),  free(3C),  malloc(3C),  mktemp(3C),
       mkstemp(3C), tmpfile(3C), attributes(5), standards(5)

				 May 18, 2004			    TMPNAM(3C)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net