about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/isastream.c15
-rw-r--r--sysdeps/unix/sysv/linux/net/if_packet.h17
2 files changed, 23 insertions, 9 deletions
diff --git a/sysdeps/generic/isastream.c b/sysdeps/generic/isastream.c
index 4e595808ea..00a4760aab 100644
--- a/sysdeps/generic/isastream.c
+++ b/sysdeps/generic/isastream.c
@@ -17,16 +17,19 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <errno.h>
+#include <fcntl.h>
 #include <stropts.h>
 
 int
 isastream (fildes)
      int fildes;
 {
-  __set_errno (ENOSYS);
-  return -1;
-}
-
+  /* 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;
 
-stub_warning (isastream)
-#include <stub-tag.h>
+  /* No STREAM.  */
+  return 0;
+}
diff --git a/sysdeps/unix/sysv/linux/net/if_packet.h b/sysdeps/unix/sysv/linux/net/if_packet.h
index 60155eeac3..441cad1758 100644
--- a/sysdeps/unix/sysv/linux/net/if_packet.h
+++ b/sysdeps/unix/sysv/linux/net/if_packet.h
@@ -1,5 +1,5 @@
 /* Definitions for use with Linux SOCK_PACKET sockets.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998 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
@@ -20,7 +20,18 @@
 #ifndef __IF_PACKET_H
 #define __IF_PACKET_H
 
-/* For now we can just use the kernel definitions.  */
-#include <linux/if_packet.h>
+#include <features.h>
+#include <bits/sockaddr.h>
+
+/* This is the SOCK_PACKET address structure as used in Linux 2.0.
+   From Linux 2.1 the AF_PACKET interface is preferred and you should
+   consider using it in place of this one.  */
+
+struct sockaddr_pkt
+  {
+    __SOCKADDR_COMMON (spkt_);
+    unsigned char spkt_device[14];
+    unsigned short spkt_protocol;
+  };
 
 #endif