summaryrefslogtreecommitdiffstats
path: root/sys/net/if.h
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2010-01-27 00:30:07 +0000
committerdelphij <delphij@FreeBSD.org>2010-01-27 00:30:07 +0000
commitd9a0cd0982402f9faf826972323ba7e2c92d4da2 (patch)
treeff676986c0098bc03f0b66a25fb89a62e45f8b53 /sys/net/if.h
parentf58131e1e486131bc5b10b4db8adfbfb58a6db5f (diff)
downloadFreeBSD-src-d9a0cd0982402f9faf826972323ba7e2c92d4da2.zip
FreeBSD-src-d9a0cd0982402f9faf826972323ba7e2c92d4da2.tar.gz
Revised revision 199201 (add interface description capability as inspired
by OpenBSD), based on comments from many, including rwatson, jhb, brooks and others. Sponsored by: iXsystems, Inc. MFC after: 1 month
Diffstat (limited to 'sys/net/if.h')
-rw-r--r--sys/net/if.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/net/if.h b/sys/net/if.h
index f94b54a..aff0d76 100644
--- a/sys/net/if.h
+++ b/sys/net/if.h
@@ -284,6 +284,14 @@ struct if_announcemsghdr {
#define IFAN_DEPARTURE 1 /* interface departure */
/*
+ * Buffer with length to be used in SIOCGIFDESCR/SIOCSIFDESCR requests
+ */
+struct ifreq_buffer {
+ size_t length;
+ void *buffer;
+};
+
+/*
* Interface request structure used for socket
* ioctl's. All interface ioctl's must have parameter
* definitions which begin with ifr_name. The
@@ -295,6 +303,7 @@ struct ifreq {
struct sockaddr ifru_addr;
struct sockaddr ifru_dstaddr;
struct sockaddr ifru_broadaddr;
+ struct ifreq_buffer ifru_buffer;
short ifru_flags[2];
short ifru_index;
int ifru_jid;
@@ -308,6 +317,7 @@ struct ifreq {
#define ifr_addr ifr_ifru.ifru_addr /* address */
#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */
#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
+#define ifr_buffer ifr_ifru.ifru_buffer /* user supplied buffer with its length */
#define ifr_flags ifr_ifru.ifru_flags[0] /* flags (low 16 bits) */
#define ifr_flagshigh ifr_ifru.ifru_flags[1] /* flags (high 16 bits) */
#define ifr_jid ifr_ifru.ifru_jid /* jail/vnet */
OpenPOWER on IntegriCloud