aboutsummaryrefslogtreecommitdiff
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