diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2013-05-08 18:18:49 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2013-05-08 18:18:49 +0000 |
commit | 43840e901cacf50a9bb41148069e34ca307524e8 (patch) | |
tree | 2836162f69bba2534e8b9acf9797e5892f103258 /usr/src/man/man3c | |
parent | abd43b3991c3becf4fd3cc1a370aeafdc8749a30 (diff) | |
parent | 5dbfd19ad5fcc2b779f40f80fa05c1bd28fd0b4e (diff) | |
download | illumos-joyent-43840e901cacf50a9bb41148069e34ca307524e8.tar.gz |
[illumos-gate merge]
commit 5dbfd19ad5fcc2b779f40f80fa05c1bd28fd0b4e
3713 Implement accept4()
3714 Implement pipe2()
3715 Implement dup3()
3716 Implement mkostemp() and mkostemps()
3719 so_socketpair syscall should preserve FD_CLOEXEC flag
commit 6136c589445a3ea081bd34ab72db1060875b6bcc
3722 link-editor is over restrictive of R_AMD64_32 addends
Conflicts:
usr/src/lib/libc/sparcv9/Makefile.com [copyright]
usr/src/lib/libc/sparc/Makefile.com [copyright]
usr/src/lib/libc/i386/Makefile.com [copyright]
Diffstat (limited to 'usr/src/man/man3c')
-rw-r--r-- | usr/src/man/man3c/Makefile | 8 | ||||
-rw-r--r-- | usr/src/man/man3c/dup2.3c | 32 | ||||
-rw-r--r-- | usr/src/man/man3c/mkstemp.3c | 21 |
3 files changed, 56 insertions, 5 deletions
diff --git a/usr/src/man/man3c/Makefile b/usr/src/man/man3c/Makefile index ed669e9a40..ae5b8542bd 100644 --- a/usr/src/man/man3c/Makefile +++ b/usr/src/man/man3c/Makefile @@ -10,6 +10,7 @@ # # Copyright 2011, Richard Lowe +# Copyright 2013, OmniTI Computer Consulting, Inc. All rights reserved. include ../../Makefile.master @@ -671,6 +672,7 @@ MANSOFILES = FD_CLR.3c \ csetno.3c \ ctermid_r.3c \ ctime_r.3c \ + dup3.3c \ dbm_clearerr.3c \ dbm_close.3c \ dbm_delete.3c \ @@ -848,6 +850,8 @@ MANSOFILES = FD_CLR.3c \ memset.3c \ minor.3c \ mkdtemp.3c \ + mkostemp.3c \ + mkostemps.3c \ mkstemps.3c \ mq_reltimedreceive_np.3c \ mq_reltimedsend_np.3c \ @@ -1651,6 +1655,8 @@ memset.3c := SOSRC = man3c/memory.3c mkdtemp.3c := SOSRC = man3c/mkstemp.3c mkstemps.3c := SOSRC = man3c/mkstemp.3c +mkostemp.3c := SOSRC = man3c/mkstemp.3c +mkostemps.3c := SOSRC = man3c/mkstemp.3c munlock.3c := SOSRC = man3c/mlock.3c @@ -1678,6 +1684,8 @@ dbm_nextkey.3c := SOSRC = man3c/ndbm.3c dbm_open.3c := SOSRC = man3c/ndbm.3c dbm_store.3c := SOSRC = man3c/ndbm.3c +dup3.3c := SOSRC = man3c/dup2.3c + fdopendir.3c := SOSRC = man3c/opendir.3c errno.3c := SOSRC = man3c/perror.3c diff --git a/usr/src/man/man3c/dup2.3c b/usr/src/man/man3c/dup2.3c index eb19b74ff5..a2742a732f 100644 --- a/usr/src/man/man3c/dup2.3c +++ b/usr/src/man/man3c/dup2.3c @@ -1,12 +1,13 @@ '\" te +.\" Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. .\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved. .\" Copyright 1989 AT&T .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] -.TH DUP2 3C "Dec 19, 2003" +.TH DUP2 3C "Apr 19, 2013" .SH NAME -dup2 \- duplicate an open file descriptor +dup2, dup3 \- duplicate an open file descriptor .SH SYNOPSIS .LP .nf @@ -15,6 +16,11 @@ dup2 \- duplicate an open file descriptor \fBint\fR \fBdup2\fR(\fBint\fR \fIfildes\fR, \fBint\fR \fIfildes2\fR); .fi +.LP +.nf +\fBint\fR \fBdup3\fR(\fBint\fR \fIfildes\fR, \fBint\fR \fIfildes2\fR, \dBint\fR \fIflags\fR); +.fi + .SH DESCRIPTION .sp .LP @@ -30,6 +36,14 @@ to \fIfildes\fR, or if \fIfildes\fR is not a valid open file descriptor, .LP The \fBdup2()\fR function is equivalent to \fBfcntl\fR(\fIfildes\fR, \fBF_DUP2FD\fR, \fIfildes2\fR). +.sp +.LP +Ths \fBdup3()\fR function works similarly to the \fBdup2()\fR function with +two exceptions. If \fIfildes\fR and \fIfildes2\fR point to the same file +descriptor, -1 is returned and errno set to \fBEINVAL\fR. If \fIflags\fR +is \fBO_CLOEXEC\fR, then \fIfiledes2\fB will have the \fBFD_CLOEXEC\fR flag +set causing the file descriptor to be closed during any future call of +\fBexec\fR(2). .SH RETURN VALUES .sp .LP @@ -39,7 +53,7 @@ set to indicate the error. .SH ERRORS .sp .LP -The \fBdup2()\fR function will fail if: +The \fBdup2()\fR and \fBdup3()\fR functions will fail if: .sp .ne 2 .na @@ -77,6 +91,18 @@ A signal was caught during the \fBdup2()\fR call. The process has too many open files. See \fBfcntl\fR(2). .RE +.sp +.LP +Additionally, the \fBdup3()\fR function will fail if: +.sp +.ne 2 +.na +\fB\fBEINVAL\fR\fR +.ad +.RS 10n +\fIflags\fR has a value other than 0 or \fBO_CLOEXEC\fR or \fIfildes\fR and \fIfildes2\fB point to the same file descriptor. +.RE + .SH ATTRIBUTES .sp .LP diff --git a/usr/src/man/man3c/mkstemp.3c b/usr/src/man/man3c/mkstemp.3c index 697cba2a2e..4d7f4c572e 100644 --- a/usr/src/man/man3c/mkstemp.3c +++ b/usr/src/man/man3c/mkstemp.3c @@ -1,4 +1,5 @@ '\" te +.\" Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. .\" Copyright (c) 1992, X/Open Company Limited. All Rights Reserved. Portions Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved. .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at .\" http://www.opengroup.org/bookstore/. @@ -7,9 +8,9 @@ .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] -.TH MKSTEMP 3C "Feb 22, 2006" +.TH MKSTEMP 3C "Apr 19, 2013" .SH NAME -mkstemp, mkstemps, mkdtemp \- make a unique file name from a template and open +mkstemp, mkstemps, mkostemp, mkostemps, mkdtemp \- make a unique file name from a template and open the file .SH SYNOPSIS .LP @@ -21,11 +22,21 @@ the file .LP .nf +\fBint\fR \fBmkostemp\fR(\fBchar *\fR\fItemplate\fR, \fBint\fR \fIflags\fR); +.fi + +.LP +.nf \fBint\fR \fBmkstemps\fR(\fBchar *\fR\fItemplate\fR, \fBint\fR \fIslen\fR); .fi .LP .nf +\fBint\fR \fBmkostemps\fR(\fBchar *\fR\fItemplate\fR, \fBint\fR \fIslen\fR, \fBint\fR \fIflags\fR); +.fi + +.LP +.nf \fBchar *\fR\fBmkdtemp\fR(\fBchar *\fR\fItemplate\fR); .fi @@ -48,6 +59,12 @@ permits a suffix to exist in the template. The template should be of the form specifies the length of the suffix string. .sp .LP +The \fBmkostemp()\fR and \fBmkostemps\fR are like their \fBmkstemp()\fR and +\fBmkstemps()\fR couterparts except that the \fIflags\fR argument is present +and used to supplement (as a bitwise inclusive-OR) flags to internal +\fBopen()\fR calls. (e.g. \fBO_SYNC\fR, \fBO_APPEND\fR, and \fBO_CLOEXEC\fR). +.sp +.LP The \fBmkdtemp()\fR function makes the same replacement to the template as in \fBmktemp\fR(3C) and creates the template directory using \fBmkdir\fR(2), passing a \fImode\fR argument of 0700. |