summaryrefslogtreecommitdiff
path: root/src/eap_peer/eap_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/eap_peer/eap_i.h')
-rw-r--r--src/eap_peer/eap_i.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/eap_peer/eap_i.h b/src/eap_peer/eap_i.h
index 6ab24834d654..096f0f28efca 100644
--- a/src/eap_peer/eap_i.h
+++ b/src/eap_peer/eap_i.h
@@ -14,6 +14,8 @@
#include "eap_peer/eap.h"
#include "eap_common/eap_common.h"
+#define NO_EAP_METHOD_ERROR (-1)
+
/* RFC 4137 - EAP Peer state machine */
typedef enum {
@@ -206,6 +208,17 @@ struct eap_method {
const u8 * (*get_identity)(struct eap_sm *sm, void *priv, size_t *len);
/**
+ * get_error_code - Get the latest EAP method error code
+ * @priv: Pointer to private EAP method data from eap_method::init()
+ * Returns: An int for the EAP method specific error code if exists or
+ * NO_EAP_METHOD_ERROR otherwise.
+ *
+ * This method is an optional handler that only EAP methods that need to
+ * report their error code need to implement.
+ */
+ int (*get_error_code)(void *priv);
+
+ /**
* free - Free EAP method data
* @method: Pointer to the method data registered with
* eap_peer_method_register().