+#ifdef ENABLE_CUSTOM
+
+#define CUSTOM_TLV_ADD 1
+#define CUSTOM_TLV_REPLACE 2
+#define CUSTOM_TLV_REMOVE 3
+
+/* Custom TLV struct as defined on page 35 of IEEE 802.1AB-2005 */
+struct lldpd_custom {
+ TAILQ_ENTRY(lldpd_custom) next; /* Pointer to next custom TLV */
+
+ /* Organizationally Unique Identifier */
+ u_int8_t oui[LLDP_TLV_ORG_OUI_LEN];
+ /* Organizationally Defined Subtype */
+ u_int8_t subtype;
+ /* Organizationally Defined Information String */
+ u_int8_t *oui_info;
+ /* Organizationally Defined Information String length */
+ int oui_info_len;
+};
+MARSHAL_BEGIN(lldpd_custom)
+MARSHAL_TQE(lldpd_custom, next)
+MARSHAL_FSTR(lldpd_custom, oui_info, oui_info_len)
+MARSHAL_END(lldpd_custom);
+#endif