Annotation of 43BSDReno/lib/libc/gen/mktemp.3, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1989 The Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted provided
        !             5: .\" that: (1) source distributions retain this entire copyright notice and
        !             6: .\" comment, and (2) distributions including binaries display the following
        !             7: .\" acknowledgement:  ``This product includes software developed by the
        !             8: .\" University of California, Berkeley and its contributors'' in the
        !             9: .\" documentation or other materials provided with the distribution and in
        !            10: .\" all advertising materials mentioning features or use of this software.
        !            11: .\" Neither the name of the University nor the names of its contributors may
        !            12: .\" be used to endorse or promote products derived from this software without
        !            13: .\" specific prior written permission.
        !            14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            17: .\"
        !            18: .\"    @(#)mktemp.3    6.7 (Berkeley) 6/23/90
        !            19: .\"
        !            20: .TH MKTEMP 3  "June 23, 1990"
        !            21: .AT 3
        !            22: .SH NAME
        !            23: mktemp \- create a unique file name
        !            24: .SH SYNOPSIS
        !            25: .nf
        !            26: .ft B
        !            27: char *
        !            28: mktemp(template)
        !            29: char *template;
        !            30: .sp
        !            31: mkstemp(template)
        !            32: char *template;
        !            33: .ft R
        !            34: .fi
        !            35: .SH DESCRIPTION
        !            36: .I Mktemp
        !            37: takes a file name template and overwrites it to create a unique file
        !            38: name for use by the application.
        !            39: The template may be any file name with some number of X's appended
        !            40: to it, for example ``/tmp/temp.XXXX''.
        !            41: The trailing X's are replaced with the current process number and/or a
        !            42: unique letter combination.
        !            43: The number of unique file names
        !            44: .I mktemp
        !            45: can return depends on the number of X's provided; six X's will
        !            46: result in
        !            47: .I mktemp
        !            48: testing roughly 26 ** 6 combinations.
        !            49: .PP
        !            50: .I Mkstemp
        !            51: makes the same replacement to the template and creates the template file,
        !            52: mode 0600, returning a file descriptor opened for reading and writing.
        !            53: This avoids the race between testing for a file's existence and opening it
        !            54: for use.
        !            55: .SH "RETURN VALUE"
        !            56: .I Mktemp
        !            57: returns a pointer to the template on success and NULL on failure.
        !            58: .I Mkstemp
        !            59: returns -1 if no suitable file could be created.
        !            60: If either call fails an error code is placed in the global location
        !            61: .IR errno .
        !            62: .SH ERRORS
        !            63: .I Mktemp
        !            64: and
        !            65: .I mkstemp
        !            66: may set
        !            67: .I errno
        !            68: to one of the following values:
        !            69: .TP
        !            70: [ENOTDIR]
        !            71: The pathname portion of the template is not an existing directory.
        !            72: .PP
        !            73: .I Mktemp
        !            74: and
        !            75: .I mkstemp
        !            76: may also set
        !            77: .I errno
        !            78: to any value specified by the
        !            79: .IR stat (2)
        !            80: function.
        !            81: .I Mkstemp
        !            82: may also set
        !            83: .I errno
        !            84: to any value specified by the
        !            85: .IR open (2)
        !            86: function.
        !            87: .SH "SEE ALSO"
        !            88: chmod(2), getpid(2), open(2), stat(2)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.