eap_peer_fsm.h File Reference

EAP peer state machine. More...

#include <limits.h>
#include "eap/eap.h"
#include "supplicant/supplicant.h"

Go to the source code of this file.

Macros

#define EAP_LAST_ID_NONE   UINT_MAX
 

Enumerations

enum  EapPeerState {
  EAP_PEER_STATE_DISABLED = 0, EAP_PEER_STATE_INITIALIZE = 1, EAP_PEER_STATE_IDLE = 2, EAP_PEER_STATE_RECEIVED = 3,
  EAP_PEER_STATE_METHOD = 4, EAP_PEER_STATE_GET_METHOD = 5, EAP_PEER_STATE_IDENTITY = 6, EAP_PEER_STATE_NOTIFICATION = 7,
  EAP_PEER_STATE_RETRANSMIT = 8, EAP_PEER_STATE_DISCARD = 9, EAP_PEER_STATE_SEND_RESPONSE = 10, EAP_PEER_STATE_SUCCESS = 11,
  EAP_PEER_STATE_FAILURE = 12
}
 EAP peer states. More...
 
enum  EapMethodState {
  EAP_METHOD_STATE_NONE = 0, EAP_METHOD_STATE_CONTINUE = 1, EAP_METHOD_STATE_PROPOSED = 2, EAP_METHOD_STATE_END = 3,
  EAP_METHOD_STATE_NONE = 0, EAP_METHOD_STATE_INIT = 1, EAP_METHOD_STATE_CONT = 2, EAP_METHOD_STATE_MAY_CONT = 3,
  EAP_METHOD_STATE_DONE = 4
}
 EAP method states. More...
 
enum  EapDecision {
  EAP_DECISION_FAILURE = 0, EAP_DECISION_SUCCESS = 1, EAP_DECISION_CONTINUE = 2, EAP_DECISION_PASSTHROUGH = 3,
  EAP_DECISION_FAIL = 1, EAP_DECISION_COND_SUCC = 2, EAP_DECISION_UNCOND_SUCC = 3
}
 Decisions. More...
 

Functions

void eapPeerInitFsm (SupplicantContext *context)
 EAP peer state machine initialization. More...
 
void eapPeerFsm (SupplicantContext *context)
 EAP peer state machine implementation. More...
 
void eapPeerChangeState (SupplicantContext *context, EapPeerState newState)
 Update EAP peer state. More...
 

Detailed Description

EAP peer state machine.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2022-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneEAP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.4

Definition in file eap_peer_fsm.h.

Macro Definition Documentation

◆ EAP_LAST_ID_NONE

#define EAP_LAST_ID_NONE   UINT_MAX

Definition at line 40 of file eap_peer_fsm.h.

Enumeration Type Documentation

◆ EapDecision

Decisions.

Enumerator
EAP_DECISION_FAILURE 
EAP_DECISION_SUCCESS 
EAP_DECISION_CONTINUE 
EAP_DECISION_PASSTHROUGH 
EAP_DECISION_FAIL 
EAP_DECISION_COND_SUCC 
EAP_DECISION_UNCOND_SUCC 

Definition at line 88 of file eap_peer_fsm.h.

◆ EapMethodState

EAP method states.

Enumerator
EAP_METHOD_STATE_NONE 
EAP_METHOD_STATE_CONTINUE 
EAP_METHOD_STATE_PROPOSED 
EAP_METHOD_STATE_END 
EAP_METHOD_STATE_NONE 
EAP_METHOD_STATE_INIT 
EAP_METHOD_STATE_CONT 
EAP_METHOD_STATE_MAY_CONT 
EAP_METHOD_STATE_DONE 

Definition at line 74 of file eap_peer_fsm.h.

◆ EapPeerState

EAP peer states.

Enumerator
EAP_PEER_STATE_DISABLED 
EAP_PEER_STATE_INITIALIZE 
EAP_PEER_STATE_IDLE 
EAP_PEER_STATE_RECEIVED 
EAP_PEER_STATE_METHOD 
EAP_PEER_STATE_GET_METHOD 
EAP_PEER_STATE_IDENTITY 
EAP_PEER_STATE_NOTIFICATION 
EAP_PEER_STATE_RETRANSMIT 
EAP_PEER_STATE_DISCARD 
EAP_PEER_STATE_SEND_RESPONSE 
EAP_PEER_STATE_SUCCESS 
EAP_PEER_STATE_FAILURE 

Definition at line 52 of file eap_peer_fsm.h.

Function Documentation

◆ eapPeerChangeState()

void eapPeerChangeState ( SupplicantContext context,
EapPeerState  newState 
)

Update EAP peer state.

Parameters
[in]contextPointer to the 802.1X supplicant context
[in]newStateNew state to switch to

Definition at line 335 of file eap_peer_fsm.c.

◆ eapPeerFsm()

void eapPeerFsm ( SupplicantContext context)

EAP peer state machine implementation.

Parameters
[in]contextPointer to the 802.1X supplicant context

Definition at line 82 of file eap_peer_fsm.c.

◆ eapPeerInitFsm()

void eapPeerInitFsm ( SupplicantContext context)

EAP peer state machine initialization.

Parameters
[in]contextPointer to the 802.1X supplicant context

Definition at line 70 of file eap_peer_fsm.c.