1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
.\"
.\" -*- nroff -*-
.\"
.\" Copyright (c) Abraham vd Merwe <abz@blio.com>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\"
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the author nor the names of other contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
.\" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.TH TMP 3abz "August 2004" Unix "Library calls"
.SH NAME
tmp_open, tmp_name, tmp_close \- create names for temporary files safely.
.SH LIBRARIES
Abz Library (-labz), Debug Library (-ldebug)
.SH SYNOPSIS
.nf
.B #include <abz/tmp.h>
.sp
.BI "int tmp_open(const char *" tmpdir ", const char *" progname ");
.nl
.BI "char *tmp_name();
.nl
.BI "void tmp_close();
.fi
.SH DESCRIPTION
The \fBtmp_open()\fP function creates a temporary directory (only accessible
by the user of the process in question) for use by the \fBtmp_name()\fP
function. You have to specify a temporary directory \fItmpdir\fP and a
program name \fIprogname\fP. These strings are used to create a directory of
the form \fI<tmpdir>/<progname>hash\fP.
.PP
The \fBtmp_name()\fP function creates a name for a temporary file which is
safe to use.
.PP
The \fBtmp_close()\fP function removes the directory created by
\fBtmp_open()\fP. It is the responsibility of the programmer to ensure that
the directory is empty (i.e. all the files/directories created with names
generated by \fBtmp_name()\fP were removed) by the time this function is
called.
.SH "RETURN VALUES"
The \fBtmp_open()\fP function returns 0 if successful, -1 if not.
.PP
The \fBtmp_name()\fP function returns a name if successful, NULL if not.
.PP
Check \fIerrno\fP to see what error occurred.
.SH "NOTES"
None of the libabz routines are thread-safe. I'm not planning to change this
either! For more information, please see http://threading.2038bug.com/
.SH "AUTHOR"
Written by Abraham vd Merwe <abz@blio.com>
|