#include <stdlib.h>
#include <string.h>
+#include <errno.h>
#include <net/if.h>
#include <ngadmin.h>
#define CODE_WRITE_REQ 3
#define CODE_WRITE_REP 4
+#define ERROR_READONLY 3
+#define ERROR_INVALID_VALUE 5
+#define ERROR_INVALID_PASSWORD 7
+
#define ATTR_PRODUCT 0x0001
#define ATTR_UNK_0002 0x0002
#define ATTR_NAME 0x0003
#define ATTR_FIRM_VER 0x000D
#define ATTR_UNK_000E 0x000E
#define ATTR_UNK_000F 0x000F
+#define ATTR_FIRM_UPGRADE 0x0010
#define ATTR_RESTART 0x0013
#define ATTR_DEFAULTS 0x0400
#define ATTR_PORT_STATUS 0x0C00
#define ATTR_PORT_STATISTICS 0x1000
#define ATTR_STATS_RESET 0x1400
+#define ATTR_CABLETEST_DO 0x1800
+#define ATTR_CABLETEST_RESULT 0x1C00
#define ATTR_VLAN_TYPE 0x2000
#define ATTR_VLAN_PORT_CONF 0x2400
#define ATTR_VLAN_DOT_CONF 0x2800
+#define ATTR_VLAN_DESTROY 0x2C00
+#define ATTR_VLAN_PVID 0x3000
#define ATTR_QOS_TYPE 0x3400
#define ATTR_QOS_CONFIG 0x3800
#define ATTR_BITRATE_INPUT 0x4C00
#define ATTR_STORM_BITRATE 0x5800
#define ATTR_MIRROR 0x5C00
#define ATTR_PORTS_COUNT 0x6000
-#define ATTR_UNK_6800 0x6800
-#define ATTR_UNK_6C00 0x6C00
-#define ATTR_UNK_7000 0x7000
+#define ATTR_UNK_6400 0x6400
+#define ATTR_IGMP_ENABLE_VLAN 0x6800
+#define ATTR_IGMP_BLOCK_UNK 0x6C00
+#define ATTR_IGMP_VALID_V3 0x7000
#define ATTR_UNK_7400 0x7400
#define ATTR_END 0xFFFF