Update.
* login/pty-private.h: Move to... * sysdeps/generic/pty-private.h: ...here. * sysdeps/unix/sysv/linux/pty-private.h: New file. Linux specific version. * login/programs/pt_chown.c (do_pt_chown): Use unix98_pseudo_p is available.
This commit is contained in:
parent
5c8d1fc0f6
commit
ad65970214
@ -1,5 +1,12 @@
|
||||
1999-08-24 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* login/pty-private.h: Move to...
|
||||
* sysdeps/generic/pty-private.h: ...here.
|
||||
* sysdeps/unix/sysv/linux/pty-private.h: New file. Linux specific
|
||||
version.
|
||||
* login/programs/pt_chown.c (do_pt_chown): Use unix98_pseudo_p is
|
||||
available.
|
||||
|
||||
* libio/fileops.c (_IO_new_file_xsputn): Use _IO_OVERFLOW instead
|
||||
of __overflow.
|
||||
|
||||
|
@ -109,7 +109,13 @@ do_pt_chown (void)
|
||||
|
||||
/* Check that the returned slave pseudo terminal is a
|
||||
character device. */
|
||||
if (stat (pty, &st) < 0 || !S_ISCHR(st.st_mode))
|
||||
if (stat (pty, &st) < 0
|
||||
#ifdef unix98_pseudo_p
|
||||
|| ! unix98_pseudo_p (st.st_rdev)
|
||||
#else
|
||||
|| !S_ISCHR(st.st_mode)
|
||||
#endif
|
||||
)
|
||||
return FAIL_EINVAL;
|
||||
|
||||
/* Get the group ID of the special `tty' group. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Internal defenitions and declarations for pseudo terminal functions.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
|
||||
|
||||
@ -30,6 +30,9 @@
|
||||
/* Path to the helper program that implements `grantpt' in user space. */
|
||||
#define _PATH_PT_CHOWN LIBEXECDIR "/pt_chown"
|
||||
|
||||
/* Test whether given TTY is really a Unix98 pseudo terminal. */
|
||||
/* #define unix98_pseudo_p(Dev) ... */
|
||||
|
||||
/* Exit codes for the helper program. */
|
||||
enum /* failure modes */
|
||||
{
|
45
sysdeps/unix/sysv/linux/pty-private.h
Normal file
45
sysdeps/unix/sysv/linux/pty-private.h
Normal file
@ -0,0 +1,45 @@
|
||||
/* Internal defenitions and declarations for pseudo terminal functions.
|
||||
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _PTY_PRIVATE_H
|
||||
#define _PTY_PRIVATE_H 1
|
||||
|
||||
/* The group slave pseudo terminals belong to. */
|
||||
#define TTY_GROUP "tty"
|
||||
|
||||
/* The file descriptor connected to the master pseudo terminal. */
|
||||
#define PTY_FILENO 3
|
||||
|
||||
/* Path to the helper program that implements `grantpt' in user space. */
|
||||
#define _PATH_PT_CHOWN LIBEXECDIR "/pt_chown"
|
||||
|
||||
/* Test whether given TTY is really a Unix98 pseudo terminal. */
|
||||
#define unix98_pseudo_p(Dev) ((Dev) >= 136 && (Dev) <= 143)
|
||||
|
||||
/* Exit codes for the helper program. */
|
||||
enum /* failure modes */
|
||||
{
|
||||
FAIL_EBADF = 1,
|
||||
FAIL_EINVAL,
|
||||
FAIL_EACCES,
|
||||
FAIL_EXEC
|
||||
};
|
||||
|
||||
#endif /* pty-private.h */
|
Loading…
Reference in New Issue
Block a user