"DYN");
ENUM_END(eap_type_short_names, EAP_DYNAMIC);
+ENUM(eap_vendor_names_unknown, 0, 0,
+ "(0)",
+);
+
+ENUM(eap_vendor_names_ms, EAP_MS_SOH, EAP_MS_CAPABILITES,
+ "MS-SOH",
+ "MS-CAP",
+);
+
+/*
+ * See header
+ */
+enum_name_t* eap_type_get_names(pen_t vendor)
+{
+ switch (vendor)
+ {
+ case PEN_IETF:
+ return eap_type_short_names;
+ case PEN_MICROSOFT:
+ return eap_vendor_names_ms;
+ default:
+ return eap_vendor_names_unknown;
+ }
+}
+
/*
* See header
*/
typedef enum eap_code_t eap_code_t;
typedef enum eap_type_t eap_type_t;
+typedef enum eap_vendor_type_t eap_vendor_type_t;
#include <library.h>
+#include <pen/pen.h>
/**
* EAP code, type of an EAP message
*/
extern enum_name_t *eap_type_short_names;
+/**
+ * Vendor specific types. Vendors itself are defined as pen_t.
+ */
+enum eap_vendor_type_t {
+ /** Microsoft Statement of Health */
+ EAP_MS_SOH = 0x21,
+ /** Microsoft PEAP Capabilities */
+ EAP_MS_CAPABILITES = 0x22,
+};
+
+/**
+ * Get the enum names for a specific vendor
+ */
+enum_name_t* eap_type_get_names(pen_t vendor);
+
/**
* EAP packet format
*/