Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
MKSTEMP(3)		   Linux Programmer's Manual		    MKSTEMP(3)

NAME
       mkstemp - create	a unique temporary file

SYNOPSIS
       #include	<stdlib.h>

       int mkstemp(char	*template);

DESCRIPTION
       The mkstemp() function generates	a unique temporary file	name from tem-
       plate.  The last	six characters of template must	be  XXXXXX  and	 these
       are  replaced with a string that	makes the filename unique. The file is
       then created with mode read/write and permissions 0666 (glibc 2.0.6 and
       earlier),  0600	(glibc	2.0.7  and later).  Since it will be modified,
       template	must not be a string constant, but should  be  declared	 as  a
       character array.	 The file is opened with the O_EXCL flag, guaranteeing
       that when mkstemp returns successfully we are the only user.

RETURN VALUE
       The mkstemp() function returns the file descriptor fd of	the  temporary
       file or -1 on error.

ERRORS
       EINVAL The  last	 six characters	of template were not XXXXXX.  Now tem-
	      plate is unchanged.

       EEXIST Could not	create a unique	temporary filename.  Now the  contents
	      of template are undefined.

NOTES
       The  old	 behaviour  (creating a	file with mode 0666) may be a security
       risk, especially	since other Unix flavours use 0600, and	somebody might
       overlook	this detail when porting programs.

       More  generally,	 the  POSIX  specification does	not say	anything about
       file modes, so the application should make sure its umask is set	appro-
       priately	before calling mkstemp.

CONFORMING TO
       BSD 4.3,	POSIX 1003.1-2001

NOTE
       The prototype is	in _unistd.h_ for libc4, libc5,	glibc1;	glibc2 follows
       the Single Unix Specification and has the prototype in _stdlib.h_.

SEE ALSO
       mkdtemp(3), mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)

GNU				  2001-12-23			    MKSTEMP(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | NOTES | CONFORMING TO | NOTE | SEE ALSO

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=mkstemp&sektion=3&manpath=Red+Hat+Linux%2fi386+9>

home | help