Products
and Services Support
and Docs Training Partner Programs About Red
Hat
  download storecart
red hat logo
redhat.comredhat network

Red Hat Documentation: man pages: man3: Linux Programmer's Manual (3)

Manpage of MKSTEMP

MKSTEMP

Section: Linux Programmer's Manual (3)
Updated: April 3, 2025
Index  

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 template. 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 template is unchanged.
EEXIST
Could not create a unique temporary filename. Now the contents of template are undefined.
 

BUGS

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.  

CONFORMING TO

BSD 4.3  

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
BUGS
CONFORMING TO
NOTE
SEE ALSO

This document was created by using the manual pages.
Time: 11:58:05 GMT, March 24, 2025

 

 


 
© 2001 Red Hat, Inc. All rights reserved.
About Red Hat  :  Legal statement  :  Privacy statement  :  Y2K statement  :  Contact Red Hat