treewide: fix replace nbd@openwrt.org with nbd@nbd.name
[openwrt.git] / package / network / config / swconfig / src / swlib.h
index 2b42c14..3826a5e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * swlib.h: Switch configuration API (user space part)
  *
- * Copyright (C) 2008-2009 Felix Fietkau <nbd@openwrt.org>
+ * Copyright (C) 2008-2009 Felix Fietkau <nbd@nbd.name>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -105,11 +105,16 @@ enum swlib_port_flags {
        SWLIB_PORT_FLAG_TAGGED = (1 << 0),
 };
 
+enum swlib_link_flags {
+       SWLIB_LINK_FLAG_EEE_100BASET = (1 << 0),
+       SWLIB_LINK_FLAG_EEE_1000BASET = (1 << 1),
+};
 
 struct switch_dev;
 struct switch_attr;
 struct switch_port;
 struct switch_port_map;
+struct switch_port_link;
 struct switch_val;
 struct uci_package;
 
@@ -138,6 +143,7 @@ struct switch_val {
                char *s;
                int i;
                struct switch_port *ports;
+               struct switch_port_link *link;
        } value;
 };
 
@@ -146,8 +152,8 @@ struct switch_attr {
        int atype;
        int id;
        int type;
-       const char *name;
-       const char *description;
+       char *name;
+       char *description;
        struct switch_attr *next;
 };
 
@@ -161,6 +167,17 @@ struct switch_portmap {
        char *segment;
 };
 
+struct switch_port_link {
+       int link:1;
+       int duplex:1;
+       int aneg:1;
+       int tx_flow:1;
+       int rx_flow:1;
+       int speed;
+       /* in ethtool adv_t format */
+       uint32_t eee;
+};
+
 /**
  * swlib_list: list all switches
  */