1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-29 12:03:03 +00:00

Add missing POSIX 1003.1-2008 open(2) flag; O_TTY_INIT.

On FreeBSD, this is the default behaviour. According to the spec, we may
give this flag a value of zero, but I'd rather not do this. If we define
it to a non-zero value, we can always change default behaviour without
changing the ABI. This is very unlikely to happen, though.
This commit is contained in:
Ed Schouten 2009-02-28 10:10:30 +00:00
parent 7fb2aa104f
commit 6cf4a02c5e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=189143
2 changed files with 20 additions and 1 deletions

View File

@ -28,7 +28,7 @@
.\" @(#)open.2 8.2 (Berkeley) 11/16/93
.\" $FreeBSD$
.\"
.Dd April 10, 2008
.Dd February 28, 2009
.Dt OPEN 2
.Os
.Sh NAME
@ -116,6 +116,7 @@ O_FSYNC synchronous writes
O_SYNC synchronous writes
O_NOFOLLOW do not follow symlinks
O_NOCTTY don't assign controlling terminal
O_TTY_INIT restore default terminal attributes
.Ed
.Pp
Opening a file with
@ -208,6 +209,19 @@ The
system call will not assign controlling terminals on
.Fx .
.Pp
.Dv O_TTY_INIT
may be used to ensure the OS restores the terminal attributes when
initially opening a TTY.
This is the default on
.Fx ,
but is present for
.Tn POSIX
compatibility.
The initial call to
.Fn open
on a TTY will always restore default terminal attributes on
.Fx .
.Pp
If successful,
.Fn open
returns a non-negative integer, termed a file descriptor.

View File

@ -140,6 +140,11 @@ typedef __pid_t pid_t;
#define FEXEC O_EXEC
#endif
/* Defined by POSIX 1003.1-2008; BSD default, but reserve for future use. */
#if __POSIX_VISIBLE >= 200809
#define O_TTY_INIT 0x00080000 /* Restore default termios attributes */
#endif
/*
* XXX missing O_DSYNC, O_RSYNC.
*/