summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-03-27 10:24:00 +0000
committerRoland McGrath <roland@gnu.org>1995-03-27 10:24:00 +0000
commit342414a6e0952c308c0cf27daab6ea24fc4cc172 (patch)
tree7572299dd85fccd4421e4be6e1b496e0013ccb58
parent1474b80f017c2fcc18b1de5bbc51884650d30582 (diff)
downloadglibc-342414a6e0952c308c0cf27daab6ea24fc4cc172.tar.gz
glibc-342414a6e0952c308c0cf27daab6ea24fc4cc172.tar.xz
glibc-342414a6e0952c308c0cf27daab6ea24fc4cc172.zip
* sysdeps/unix/bsd/bsd4.4/revoke.S: New file.
	* sysdeps/stub/revoke.c: New file.
	* misc/Makefile (routines): Add revoke.
	* posix/unistd.h [__USE_BSD] (revoke): Declare it.
	* sysdeps/generic/pty.c (openpty, forkpty): Declare return types.
	(forkpty): Declare login_tty.
	* misc/logwtmp.c (logwtmp): Declare to return void.
	* misc/login_tty.c (login_tty): Include unistd.h.  Declare return type.
-rw-r--r--ChangeLog9
-rw-r--r--NEWS7
-rw-r--r--misc/Makefile4
-rw-r--r--misc/logwtmp.c1
-rw-r--r--posix/unistd.h3
-rw-r--r--sysdeps/generic/pty.c3
-rw-r--r--sysdeps/stub/revoke.c30
-rw-r--r--sysdeps/unix/bsd/bsd4.4/revoke.S23
8 files changed, 77 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 6006bcb991..10e8ad181d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 Mon Mar 27 02:23:15 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
 
+	* sysdeps/unix/bsd/bsd4.4/revoke.S: New file.
+	* sysdeps/stub/revoke.c: New file.
+	* misc/Makefile (routines): Add revoke.
+	* posix/unistd.h [__USE_BSD] (revoke): Declare it.
+	* sysdeps/generic/pty.c (openpty, forkpty): Declare return types.
+	(forkpty): Declare login_tty.
+	* misc/logwtmp.c (logwtmp): Declare to return void.
+	* misc/login_tty.c (login_tty): Include unistd.h.  Declare return type.
+
 	* posix/unistd.h [__USE_BSD] (ttyslot): Declare it.
 
 	* posix/unistd.h [__USE_BSD] (L_SET, L_INCR, L_XTND): Define
diff --git a/NEWS b/NEWS
index 49cfc032e7..be5eb46a21 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  21 March 1995
+GNU C Library NEWS -- history of user-visible changes.  27 March 1995
 
 Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
 See the end for copying conditions.
@@ -98,6 +98,11 @@ Version 1.10
 * The new functions `ecvt', `fcvt', and `gcvt' provide an obsolete interface
   for formatting floating-point numbers.  They are provided only for
   compatibility; new programs should use `sprintf' instead.
+
+* The new auxiliary library `-lutil' from 4.4 BSD contains various
+  functions for maintaining the login-record files (primarily of use to
+  system programs such as `login'), and convenient functions for
+  allocating and initializing a pseudo-terminal (pty) device.
 
 Version 1.09
 
diff --git a/misc/Makefile b/misc/Makefile
index 3c87abf9ec..53489c68cd 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -37,8 +37,8 @@ routines := brk sbrk sstk ioctl \
 	    select \
 	    acct chroot fsync sync reboot \
 	    gethostid sethostid \
-	    mknod \
-	    swapon vhangup mktemp mkstemp \
+	    revoke vhangup mknod \
+	    swapon mktemp mkstemp \
 	    ualarm usleep \
 	    gtty stty \
 	    ptrace \
diff --git a/misc/logwtmp.c b/misc/logwtmp.c
index d55ac9e941..5b3c8ded11 100644
--- a/misc/logwtmp.c
+++ b/misc/logwtmp.c
@@ -43,6 +43,7 @@ static char sccsid[] = "@(#)logwtmp.c	8.1 (Berkeley) 6/4/93";
 #include <unistd.h>
 #include <utmp.h>
 
+void
 logwtmp(line, name, host)
 	char *line, *name, *host;
 {
diff --git a/posix/unistd.h b/posix/unistd.h
index 4468541e3a..db952883f2 100644
--- a/posix/unistd.h
+++ b/posix/unistd.h
@@ -559,6 +559,9 @@ extern int sync __P ((void));
    group of the control terminal.  */
 extern int vhangup __P ((void));
 
+/* Revoke the access of all descriptors currently open on FILE.  */
+extern int revoke __P ((const char *__file));
+
 
 /* Turn accounting on if NAME is an existing file.  The system will then write
    a record for each process as it terminates, to this file.  If NAME is NULL,
diff --git a/sysdeps/generic/pty.c b/sysdeps/generic/pty.c
index 1644aee39b..a539a9bb8b 100644
--- a/sysdeps/generic/pty.c
+++ b/sysdeps/generic/pty.c
@@ -47,6 +47,7 @@ static char sccsid[] = "@(#)pty.c	8.1 (Berkeley) 6/4/93";
 #include <string.h>
 #include <grp.h>
 
+int
 openpty(amaster, aslave, name, termp, winp)
 	int *amaster, *aslave;
 	char *name;
@@ -97,12 +98,14 @@ openpty(amaster, aslave, name, termp, winp)
 	return (-1);
 }
 
+int
 forkpty(amaster, name, termp, winp)
 	int *amaster;
 	char *name;
 	struct termios *termp;
 	struct winsize *winp;
 {
+	extern int login_tty();
 	int master, slave, pid;
 
 	if (openpty(&master, &slave, name, termp, winp) == -1)
diff --git a/sysdeps/stub/revoke.c b/sysdeps/stub/revoke.c
new file mode 100644
index 0000000000..295dc2bb5e
--- /dev/null
+++ b/sysdeps/stub/revoke.c
@@ -0,0 +1,30 @@
+/* Revoke the access of all descriptors currently open on a file.
+Copyright (C) 1995 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+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., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <unistd.h>
+#include <errno.h>
+
+int
+revoke (file)
+     const char *file;
+{
+  errno = ENOSYS;
+  return -1;
+}
+stub_warning (revoke)
diff --git a/sysdeps/unix/bsd/bsd4.4/revoke.S b/sysdeps/unix/bsd/bsd4.4/revoke.S
new file mode 100644
index 0000000000..ee0cb4dec7
--- /dev/null
+++ b/sysdeps/unix/bsd/bsd4.4/revoke.S
@@ -0,0 +1,23 @@
+/* Revoke the access of all descriptors currently open on a file.
+Copyright (C) 1995 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+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., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+SYSCALL (revoke, 1)
+	ret