]> git.sur5r.net Git - ngadmin/blobdiff - lib/ngadmin.h
Added support for creating and deleting a 802.1q VLAN.
[ngadmin] / lib / ngadmin.h
index 50f0bc375439d62d25940504b828caf81bff62c5..0ee138ddc1d6513f51dfa3b6bbf190fec424cd46 100644 (file)
 #define SPEED_100              4
 #define SPEED_1000             5
 
+#define VLAN_DISABLED          0
 #define VLAN_PORT_BASIC                1
 #define VLAN_PORT_ADV          2
 #define VLAN_DOT_BASIC         3
 #define VLAN_DOT_ADV           4
 
+#define VLAN_UNSPEC            0xFF
+#define VLAN_NO                        0
+#define VLAN_UNTAGGED          1
+#define VLAN_TAGGED            2
+
+#define VLAN_MAX               4093
+
 #define QOS_PORT               1
 #define QOS_DOT                        2
 
@@ -111,9 +119,15 @@ struct cabletest {
 
 
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
 // initialize NgAdmin lib
 struct ngadmin* ngadmin_init (const char *iface) EXPORT;
 
+
 // 
 int ngadmin_close (struct ngadmin *nga) EXPORT;
 
@@ -238,6 +252,48 @@ int ngadmin_setIGMPConf (struct ngadmin *nga, const struct igmp_conf *ic) EXPORT
 int ngadmin_cabletest (struct ngadmin *nga, struct cabletest *ct, int nb) EXPORT;
 
 
+// 
+int ngadmin_setNetConf (struct ngadmin *nga, const struct net_conf *nc) EXPORT;
+
+
+// 
+int ngadmin_getVLANType (struct ngadmin *nga, int *t) EXPORT;
+
+
+// 
+int ngadmin_setVLANType (struct ngadmin *nga, int t) EXPORT;
+
+
+// 
+int ngadmin_getVLANDotAllConf (struct ngadmin *nga, unsigned short *vlans, unsigned char *ports, int *nb) EXPORT;
+
+
+// 
+int ngadmin_getVLANDotConf (struct ngadmin *nga, unsigned short vlan, unsigned char *ports) EXPORT;
+
+
+// 
+int ngadmin_setVLANDotConf (struct ngadmin *nga, unsigned short vlan, const unsigned char *ports) EXPORT;
+
+
+// 
+int ngadmin_VLANDestroy (struct ngadmin *nga, unsigned short vlan) EXPORT;
+
+
+// 
+int ngadmin_getAllPVID (struct ngadmin *nga, unsigned short *ports) EXPORT;
+
+
+// 
+int ngadmin_setPVID (struct ngadmin *nga, unsigned char port, unsigned short vlan) EXPORT;
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
 
 #endif