summary refs log tree commit diff
path: root/streams
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-03-14 15:44:14 +0100
committerFlorian Weimer <fweimer@redhat.com>2019-03-14 15:44:15 +0100
commita0a0dc83173ce11ff45105fd32e5d14356cdfb9c (patch)
tree8487bfd04a8a2975c062be571379e02b994f2aa2 /streams
parent081bdf942126b7d4a368d09438a06fd831c14dad (diff)
downloadglibc-a0a0dc83173ce11ff45105fd32e5d14356cdfb9c.tar.gz
glibc-a0a0dc83173ce11ff45105fd32e5d14356cdfb9c.tar.xz
glibc-a0a0dc83173ce11ff45105fd32e5d14356cdfb9c.zip
Remove obsolete, never-implemented XSI STREAMS declarations
The stub implementations are turned into compat symbols.

Linux actually has two reserved system call numbers (for getpmsg
and putpmsg), but these system calls have never been implemented,
and there are no plans to implement them, so this patch replaces
the wrappers with the generic stubs.

According to <https://bugzilla.redhat.com/show_bug.cgi?id=436349>,
the presence of the XSI STREAMS declarations is a minor portability
hazard because they are not actually implemented.

This commit does not change the TIRPC support code in
sunrpc/rpc_svcout.c.  It uses additional XTI functionality and
therefore never worked with glibc.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'streams')
-rw-r--r--streams/Makefile28
-rw-r--r--streams/Versions15
-rw-r--r--streams/fattach.c29
-rw-r--r--streams/fdetach.c29
-rw-r--r--streams/getmsg.c29
-rw-r--r--streams/getpmsg.c30
-rw-r--r--streams/isastream.c33
-rw-r--r--streams/putmsg.c30
-rw-r--r--streams/putpmsg.c30
-rw-r--r--streams/stropts.h92
-rw-r--r--streams/sys/stropts.h1
11 files changed, 0 insertions, 346 deletions
diff --git a/streams/Makefile b/streams/Makefile
deleted file mode 100644
index 916147f382..0000000000
--- a/streams/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (C) 1998-2019 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 Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 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
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-#
-#	Makefile for streams.
-#
-subdir	:= streams
-
-include ../Makeconfig
-
-headers		= stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h
-routines	= isastream getmsg getpmsg putmsg putpmsg fattach fdetach
-
-include ../Rules
diff --git a/streams/Versions b/streams/Versions
deleted file mode 100644
index 9a6f4d756c..0000000000
--- a/streams/Versions
+++ /dev/null
@@ -1,15 +0,0 @@
-libc {
-  GLIBC_2.1 {
-    # f*
-    fattach; fdetach;
-
-    # g*
-    getmsg; getpmsg;
-
-    # i*
-    isastream;
-
-    # p*
-    putmsg; putpmsg;
-  }
-}
diff --git a/streams/fattach.c b/streams/fattach.c
deleted file mode 100644
index 8ab904653a..0000000000
--- a/streams/fattach.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1998-2019 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 Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stropts.h>
-
-int
-fattach (int fildes, const char *path)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-
-
-stub_warning (fattach)
diff --git a/streams/fdetach.c b/streams/fdetach.c
deleted file mode 100644
index 2016b6699a..0000000000
--- a/streams/fdetach.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1998-2019 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 Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stropts.h>
-
-int
-fdetach (const char *path)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-
-
-stub_warning (fdetach)
diff --git a/streams/getmsg.c b/streams/getmsg.c
deleted file mode 100644
index 93bc0ddaf7..0000000000
--- a/streams/getmsg.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1998-2019 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 Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stropts.h>
-
-int
-getmsg (int fildes, struct strbuf *ctlptr, struct strbuf *dataptr, int *flagsp)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-
-
-stub_warning (getmsg)
diff --git a/streams/getpmsg.c b/streams/getpmsg.c
deleted file mode 100644
index b3912d38ab..0000000000
--- a/streams/getpmsg.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1998-2019 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 Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stropts.h>
-
-int
-getpmsg (int fildes, struct strbuf *ctlptr, struct strbuf *dataptr, int *bandp,
-	 int *flagsp)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-
-
-stub_warning (getpmsg)
diff --git a/streams/isastream.c b/streams/isastream.c
deleted file mode 100644
index 328b355c47..0000000000
--- a/streams/isastream.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1998-2019 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 Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <stropts.h>
-
-int
-isastream (int fildes)
-{
-  /* In general we do not have a STREAMS implementation and therefore
-     return 0.  But for invalid file descriptors we have to return an
-     error.  */
-  if (__fcntl (fildes, F_GETFD) < 0)
-    return -1;
-
-  /* No STREAM.  */
-  return 0;
-}
diff --git a/streams/putmsg.c b/streams/putmsg.c
deleted file mode 100644
index f6383b153a..0000000000
--- a/streams/putmsg.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1998-2019 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 Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stropts.h>
-
-int
-putmsg (int fildes, const struct strbuf *ctlptr, const struct strbuf *dataptr,
-	int flags)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-
-
-stub_warning (putmsg)
diff --git a/streams/putpmsg.c b/streams/putpmsg.c
deleted file mode 100644
index fac3d22c5d..0000000000
--- a/streams/putpmsg.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1998-2019 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 Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stropts.h>
-
-int
-putpmsg (int fildes, const struct strbuf *ctlptr, const struct strbuf *dataptr,
-	 int band, int flags)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-
-
-stub_warning (putpmsg)
diff --git a/streams/stropts.h b/streams/stropts.h
deleted file mode 100644
index 97b9428ee8..0000000000
--- a/streams/stropts.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright (C) 1998-2019 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 Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _STROPTS_H
-#define _STROPTS_H	1
-
-#include <features.h>
-#include <bits/types.h>
-#include <bits/xtitypes.h>
-
-#ifndef __gid_t_defined
-typedef __gid_t gid_t;
-# define __gid_t_defined
-#endif
-
-#ifndef __uid_t_defined
-typedef __uid_t uid_t;
-# define __uid_t_defined
-#endif
-
-typedef __t_scalar_t t_scalar_t;
-typedef __t_uscalar_t t_uscalar_t;
-
-/* Get system specific constants.  */
-#include <bits/stropts.h>
-
-
-__BEGIN_DECLS
-
-/* Test whether FILDES is associated with a STREAM-based file.  */
-extern int isastream (int __fildes) __THROW;
-
-/* Receive next message from a STREAMS file.
-
-   This function is a cancellation point and therefore not marked with
-   __THROW.  */
-extern int getmsg (int __fildes, struct strbuf *__restrict __ctlptr,
-		   struct strbuf *__restrict __dataptr,
-		   int *__restrict __flagsp);
-
-/* Receive next message from a STREAMS file, with *FLAGSP allowing to
-   control which message.
-
-   This function is a cancellation point and therefore not marked with
-   __THROW.  */
-extern int getpmsg (int __fildes, struct strbuf *__restrict __ctlptr,
-		    struct strbuf *__restrict __dataptr,
-		    int *__restrict __bandp, int *__restrict __flagsp);
-
-/* Perform the I/O control operation specified by REQUEST on FD.
-   One argument may follow; its presence and type depend on REQUEST.
-   Return value depends on REQUEST.  Usually -1 indicates error.  */
-extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
-
-/* Send a message on a STREAM.
-
-   This function is a cancellation point and therefore not marked with
-   __THROW.  */
-extern int putmsg (int __fildes, const struct strbuf *__ctlptr,
-		   const struct strbuf *__dataptr, int __flags);
-
-/* Send a message on a STREAM to the BAND.
-
-   This function is a cancellation point and therefore not marked with
-   __THROW.  */
-extern int putpmsg (int __fildes, const struct strbuf *__ctlptr,
-		    const struct strbuf *__dataptr, int __band, int __flags);
-
-/* Attach a STREAMS-based file descriptor FILDES to a file PATH in the
-   file system name space.  */
-extern int fattach (int __fildes, const char *__path) __THROW;
-
-/* Detach a name PATH from a STREAMS-based file descriptor.  */
-extern int fdetach (const char *__path) __THROW;
-
-__END_DECLS
-
-#endif /* stropts.h */
diff --git a/streams/sys/stropts.h b/streams/sys/stropts.h
deleted file mode 100644
index 5b5bc02f40..0000000000
--- a/streams/sys/stropts.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <stropts.h>