123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- .\" Copyright (c) 2008 Ed Schouten <ed@FreeBSD.org>
- .\" All rights reserved.
- .\"
- .\" Portions of this software were developed under sponsorship from Snow
- .\" B.V., the Netherlands.
- .\"
- .\" 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.
- .\"
- .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- .\"
- .\" Portions of this text are reprinted and reproduced in electronic form
- .\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology --
- .\" Portable Operating System Interface (POSIX), The Open Group Base
- .\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of
- .\" Electrical and Electronics Engineers, Inc and The Open Group. In the
- .\" event of any discrepancy between this version and the original IEEE and
- .\" The Open Group Standard, the original IEEE and The Open Group Standard is
- .\" the referee document. The original Standard can be obtained online at
- .\" http://www.opengroup.org/unix/online.html.
- .\"
- .Dd September 21, 2016
- .Dt POSIX_OPENPT 2
- .Os
- .Sh NAME
- .Nm posix_openpt
- .Nd "open a pseudo-terminal device"
- .Sh LIBRARY
- .Lb libc
- .Sh SYNOPSIS
- .In fcntl.h
- .In stdlib.h
- .Ft int
- .Fn posix_openpt "int oflag"
- .Sh DESCRIPTION
- The
- .Fn posix_openpt
- function allocates a new pseudo-terminal and establishes a connection
- with its master device.
- A slave device shall be created in
- .Pa /dev/pts .
- After the pseudo-terminal has been allocated, the slave device should
- have the proper permissions before it can be used (see
- .Xr grantpt 3 ) .
- The name of the slave device can be determined by calling
- .Xr ptsname 3 .
- .Pp
- The file status flags and file access modes of the open file description
- shall be set according to the value of
- .Fa oflag .
- Values for
- .Fa oflag
- are constructed by a bitwise-inclusive OR of flags from the following
- list, defined in
- .In fcntl.h :
- .Bl -tag -width ".Dv O_CLOEXEC"
- .It Dv O_RDWR
- Open for reading and writing.
- .It Dv O_NOCTTY
- If set
- .Fn posix_openpt
- shall not cause the terminal device to become the controlling terminal
- for the process.
- .It Dv O_CLOEXEC
- Set the close-on-exec flag for the new file descriptor.
- .El
- .Pp
- The
- .Fn posix_openpt
- function shall fail when
- .Fa oflag
- contains other values.
- .Sh RETURN VALUES
- Upon successful completion, the
- .Fn posix_openpt
- function shall allocate a new pseudo-terminal device and return a
- non-negative integer representing a file descriptor, which is connected
- to its master device.
- Otherwise, -1 shall be returned and errno set to indicate the error.
- .Sh ERRORS
- The
- .Fn posix_openpt
- function shall fail if:
- .Bl -tag -width Er
- .It Bq Er ENFILE
- The system file table is full.
- .It Bq Er EINVAL
- The value of
- .Fa oflag
- is not valid.
- .It Bq Er EAGAIN
- Out of pseudo-terminal resources.
- .El
- .Sh SEE ALSO
- .Xr ptsname 3 ,
- .Xr pts 4 ,
- .Xr tty 4
- .Sh STANDARDS
- The
- .Fn posix_openpt
- function conforms to
- .St -p1003.1-2001 .
- The ability to use
- .Dv O_CLOEXEC
- is an extension to the standard.
- .Sh HISTORY
- The
- .Fn posix_openpt
- function appeared in
- .Fx 5.0 .
- In
- .Fx 8.0 ,
- this function was changed to a system call.
- .Sh NOTES
- The flag
- .Dv O_NOCTTY
- is included for compatibility; in
- .Fx ,
- opening a terminal does not cause it to become a process's controlling
- terminal.
- .Sh AUTHORS
- .An \&Ed Schouten Aq Mt ed@FreeBSD.org
|