The Assimilation Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lldp.h
Go to the documentation of this file.
1 
26 #ifndef _LLDP_H
27 #define _LLDP_H
28 # include <projectcommon.h>
29 # include <sys/types.h>
30 # include <glib.h>
31 /*
32  * LLDP TLV types
33  */
34 
35 #define LLDP_INVAL 65535
36 
42 #define LLDP_TLV_END 0
43 #define LLDP_TLV_CHID 1
44 #define LLDP_TLV_PID 2
45 #define LLDP_TLV_TTL 3
46 #define LLDP_TLV_PORT_DESCR 4
47 #define LLDP_TLV_SYS_NAME 5
48 #define LLDP_TLV_SYS_DESCR 6
49 #define LLDP_TLV_SYS_CAPS 7
50 #define LLDP_TLV_MGMT_ADDR 8
51 #define LLDP_TLV_ORG_SPECIFIC 127
52 
54 
59 #define LLDP_CHIDTYPE_COMPONENT 1
60 #define LLDP_CHIDTYPE_ALIAS 2
62 #define LLDP_CHIDTYPE_PORT 3
63 #define LLDP_CHIDTYPE_MACADDR 4
65 #define LLDP_CHIDTYPE_NETADDR 5
66 #define LLDP_CHIDTYPE_IFNAME 6
67 #define LLDP_CHIDTYPE_LOCAL 7
68 
70 
75 #define LLDP_PIDTYPE_ALIAS 1
76 #define LLDP_PIDTYPE_COMPONENT 2
77 #define LLDP_PIDTYPE_MACADDR 3
79 #define LLDP_PIDTYPE_NETADDR 4
80 #define LLDP_PIDTYPE_IFNAME 5
81 #define LLDP_PIDTYPE_CIRCUITID 6
82 #define LLDP_PIDTYPE_LOCAL 7
83 
85 #define LLDP_CAPMASK_REPEATER 0x02
90 #define LLDP_CAPMASK_BRIDGE 0x04
91 #define LLDP_CAPMASK_WLAN_AP 0x08
92 #define LLDP_CAPMASK_ROUTER 0x10
93 #define LLDP_CAPMASK_PHONE 0x20
94 #define LLDP_CAPMASK_DOCSIS 0x40
95 #define LLDP_CAPMASK_STATION 0x80
96 
98 #define LLDP_ORG802_1_VLAN_PVID 1
104 #define LLDP_ORG802_1_VLAN_PORTPROTO 2
105 #define LLDP_ORG802_1_VLAN_NAME 3
106 #define LLDP_ORG802_1_VLAN_PROTOID 4
107 
109 #define LLDP_ORG802_3_PHY_CONFIG 1
115 #define LLDP_ORG802_3_POWERVIAMDI 2
116 #define LLDP_ORG802_3_LINKAGG 3
117 #define LLDP_ORG802_3_MTU 4
118 
120 
121 WINEXPORT unsigned get_lldp_chassis_id_type(gconstpointer tlv_vp, gconstpointer tlv_vpend);
122 WINEXPORT gconstpointer get_lldp_chassis_id(gconstpointer tlv_vp, gssize* idlength, gconstpointer tlv_vpend);
123 gconstpointer get_lldp_port_id(gconstpointer tlv_vp, gssize* idlength, gconstpointer tlv_vpend);
124 WINEXPORT unsigned get_lldp_port_id_type(gconstpointer tlv_vp, gconstpointer tlv_vpend);
125 
126 WINEXPORT guint8 get_lldptlv_type(gconstpointer tlvp_vp, gconstpointer pktend);
127 WINEXPORT gsize get_lldptlv_len(gconstpointer tlvp_vp, gconstpointer pktend);
128 WINEXPORT gconstpointer get_lldptlv_first(gconstpointer tlv_vp, gconstpointer pktend);
129 WINEXPORT gconstpointer get_lldptlv_next(gconstpointer tlv_vp, gconstpointer pktend);
130 WINEXPORT gconstpointer get_lldptlv_body(gconstpointer tlv_vp, gconstpointer pktend);
131 WINEXPORT gconstpointer find_next_lldptlv_type(gconstpointer tlv_vp, unsigned tlvtype, gconstpointer tlv_vpend);
132 WINEXPORT gboolean is_valid_lldp_packet(gconstpointer tlv_vp, gconstpointer tlv_vpend);
133 WINEXPORT gboolean enable_lldp_packets(gboolean enableme);
134 #endif /* _LLDP_H */