#define PW_EAP_MSCHAPV2 26
#define PW_EAP_CISCO_MSCHAPV2 29
#define PW_EAP_TNC 38
-#define PW_EAP_MAX_TYPES 39
+#define PW_EAP_IKEV2 49
+ /* same number as last type */
+#define PW_EAP_MAX_TYPES 49
#define EAP_HEADER_LEN 4
* Structure to represent packet format of eap *on wire*
*/
typedef struct eap_packet_t {
- unsigned char code;
- unsigned char id;
- unsigned char length[2];
- unsigned char data[1];
+ uint8_t code;
+ uint8_t id;
+ uint8_t length[2];
+ uint8_t data[1];
} eap_packet_t;
-
-
+/*
+ * Structure to represent eap channel binding packet format *on wire*
+ */
+typedef struct eap_chbind_packet_t {
+ uint8_t code;
+ uint8_t data[1];
+} eap_chbind_packet_t;
/*
*/
extern int eaptype_name2type(const char *name);
extern const char *eaptype_type2name(unsigned int type, char *buffer, size_t buflen);
+extern int eap_wireformat(EAP_PACKET *reply);
extern int eap_basic_compose(RADIUS_PACKET *packet, EAP_PACKET *reply);
-extern void map_eap_types(RADIUS_PACKET *req);
-extern eap_packet_t *eap_attribute(VALUE_PAIR *vps);
-extern void unmap_eap_types(RADIUS_PACKET *rep);
+extern VALUE_PAIR *eap_packet2vp(const eap_packet_t *reply);
+extern eap_packet_t *eap_vp2packet(VALUE_PAIR *vps);
+extern VALUE_PAIR *eap_chbind_packet2vp(const eap_chbind_packet_t *packet, size_t len);
+extern size_t eap_chbind_vp2packet(VALUE_PAIR *vps, eap_chbind_packet_t **packet);
#endif /* _EAP_TYPES_H */