As per POSIX, unconstify if_name in <net/if.h>.
[dragonfly.git] / sys / net / if.h
index 971c14f..7830c2d 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)if.h        8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/net/if.h,v 1.58.2.9 2002/08/30 14:23:38 sobomax Exp $
- * $DragonFly: src/sys/net/if.h,v 1.20 2008/01/11 11:59:40 sephe Exp $
+ * $DragonFly: src/sys/net/if.h,v 1.21 2008/08/30 16:07:59 hasso Exp $
  */
 
 #ifndef _NET_IF_H_
@@ -62,6 +62,7 @@
 #define        LINK_STATE_UNKNOWN      0       /* link invalid/unknown */
 #define        LINK_STATE_DOWN         1       /* link is down */
 #define        LINK_STATE_UP           2       /* link is up */
+#define        LINK_STATE_IS_UP(_s)    ((_s) >= LINK_STATE_UP)
 
 struct ifnet;
 
@@ -136,11 +137,14 @@ struct if_data {
 #define        IFF_POLLING     0x10000         /* Interface is in polling mode. */
 #define        IFF_PPROMISC    0x20000         /* user-requested promisc mode */
 #define        IFF_MONITOR     0x40000         /* user-requested monitor mode */
+#define IFF_STATICARP  0x80000         /* static ARP */
+#define IFF_NPOLLING   0x100000        /* ifpoll is used */
 
 /* flags set internally only: */
 #define        IFF_CANTCHANGE \
        (IFF_BROADCAST|IFF_POINTOPOINT|IFF_RUNNING|IFF_OACTIVE|\
-           IFF_SIMPLEX|IFF_MULTICAST|IFF_ALLMULTI|IFF_SMART|IFF_POLLING)
+        IFF_SIMPLEX|IFF_MULTICAST|IFF_ALLMULTI|IFF_SMART|IFF_POLLING|\
+        IFF_NPOLLING)
 
 /*
  * Some convenience macros used for setting ifi_baudrate.
@@ -157,6 +161,7 @@ struct if_data {
 #define IFCAP_VLAN_MTU         0x0008  /* VLAN-compatible MTU */
 #define IFCAP_VLAN_HWTAGGING   0x0010  /* hardware VLAN tag support */
 #define IFCAP_JUMBO_MTU                0x0020  /* 9000 byte MTU support */
+#define IFCAP_RSS              0x0040  /* Receive Side Scaling for IPv4 */
 
 #define IFCAP_HWCSUM           (IFCAP_RXCSUM | IFCAP_TXCSUM)
 
@@ -232,6 +237,7 @@ struct      ifreq {
                struct  sockaddr ifru_dstaddr;
                struct  sockaddr ifru_broadaddr;
                short   ifru_flags[2];
+               short   ifru_index;
                int     ifru_metric;
                int     ifru_mtu;
                int     ifru_phys;
@@ -252,6 +258,7 @@ struct      ifreq {
 #define        ifr_data        ifr_ifru.ifru_data      /* for use by interface */
 #define        ifr_reqcap      ifr_ifru.ifru_cap[0]    /* requested capabilities */
 #define        ifr_curcap      ifr_ifru.ifru_cap[1]    /* current capabilities */
+#define        ifr_index       ifr_ifru.ifru_index     /* interface index */
 #define ifr_pollcpu    ifr_ifru.ifru_pollcpu   /* polling(4) cpu */
 };
 
@@ -328,8 +335,8 @@ struct if_laddrreq {
 
 #ifndef _KERNEL
 struct if_nameindex {
-       u_int   if_index;       /* 1, 2, ... */
-       const char *if_name;    /* null terminated name: "le0", ... */
+       u_int    if_index;      /* 1, 2, ... */
+       char    *if_name;       /* null terminated name: "le0", ... */
 };
 
 __BEGIN_DECLS