TrustCore SDK NanoSec API reference  version 7.0
eap1x_auth.h
Go to the documentation of this file.
1 /*
2  * eap1x_auth.h
3  *
4  * EAPOL 802.1x AUTHENTICATOR Developer API
5  *
6  * Copyright 2019-2024 DigiCert, Inc. All Rights Reserved.
7  * Proprietary and Confidential Material.
8  *
9  */
10 
29 /*------------------------------------------------------------------*/
30 
31 #ifndef __EAP1X_AUTH_HEADER__
32 #define __EAP1X_AUTH_HEADER__
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 #if defined(__ENABLE_MOCANA_EAP_AUTH__)
38 
39 
40 #define EAP1X_DEFAULT_PORT_TIME (1)
41 #define EAP1X_DEFAULT_REAUTH_TIME (3600)
42 #define EAP1X_DEFAULT_QUIET_TIME (30)
43 
44 
46 typedef struct eap1xAuthSessionCfg_s
47 {
48  eap1xPortMode portControl;
49  ubyte4 portTimeout;
50  ubyte4 reAuthMax;
51  intBoolean reAuthEnabled;
52  ubyte4 reAuthTimeout;
53  ubyte4 quietTime;
54  ubyte4 portNumber;
55  MSTATUS (*funcPtrEAPIndication)(ubyte *appHdl,ubyte *eapSession,eap1XIndication indType);
56  MSTATUS (*funcPtrEAPOLCallback)(ubyte *appHdl,ubyte *pEapPkt,ubyte2 pktLen,ubyte4 pktType);
57 
58 } eap1xAuthSessionCfg;
59 
60 
62 typedef struct eap1xSessionStats_s
63 {
64  ubyte4 authEntersConnecting;
65  ubyte4 authEapLogoffsWhileConnecting;
66  ubyte4 authEntersAuthenticating;
67  ubyte4 authAuthSuccessesWhileAuthenticating;
68  ubyte4 authAuthTimeoutsWhileAuthenticating;
69  ubyte4 authAuthFailWhileAuthenticating;
70  ubyte4 authAuthEapStartsWhileAuthenticating;
71  ubyte4 authAuthEapLogoffsWhileAuthenticating;
72  ubyte4 authAuthReauthsWhileAuthenticated;
73  ubyte4 authAuthEapStartsWhileAuthenticated;
74  ubyte4 authAuthEapLogoffsWhileAuthenticated;
75 } eap1xSessionStats;
76 
125 MOC_EXTERN MSTATUS EAP1X_authUpdateSetState (ubyte* session,ubyte4 stateInfo);
126 
175 MOC_EXTERN MSTATUS EAP1X_authUpdateUnsetState (ubyte* session,ubyte4 stateInfo);
176 
208 MOC_EXTERN MSTATUS EAP1X_authSessionCreate (ubyte* appHdl, ubyte** session, eap1xAuthSessionCfg *cfg);
209 
238 MOC_EXTERN MSTATUS EAP1X_authSessionDelete (ubyte* appHdl, ubyte* session );
239 
267 MOC_EXTERN MSTATUS EAP1X_authInit(void);
268 
295 MOC_EXTERN MSTATUS EAP1X_authDeInit(void);
296 
325 MOC_EXTERN MSTATUS EAP1X_authGetSesssionStats (ubyte* session,eap1xSessionStats* stats);
326 
359 MOC_EXTERN MSTATUS EAP1X_authUpdatePortControl (ubyte* session,eap1xPortMode portMode);
360 
394 MOC_EXTERN MSTATUS EAP1X_authReceivePkt (ubyte* session,ubyte* pPkt,ubyte4 pktLen);
395 
439 MOC_EXTERN MSTATUS
440 EAP1X_authSendEAP(ubyte *session, eapHdr_t *eap_hdr, ubyte *eap_data,
441  ubyte4 eap_data_len,
442  ubyte4 headRoom,
443  ubyte **ppPkt,ubyte2 *pPktLen);
444 
470 MOC_EXTERN MSTATUS EAP1X_authCheckTimers(void);
471 
472 #endif /* defined(__ENABLE_MOCANA_EAP_AUTH__) */
473 
474 #ifdef __cplusplus
475 }
476 #endif
477 #endif
MOC_EXTERN MSTATUS EAP1X_authSessionDelete(ubyte *appHdl, ubyte *session)
Delete an EAP1X authenticator session.
MOC_EXTERN MSTATUS EAP1X_authGetSesssionStats(ubyte *session, eap1xSessionStats *stats)
Get an EAP1X session's current statistics.
MOC_EXTERN MSTATUS EAP1X_authUpdateSetState(ubyte *session, ubyte4 stateInfo)
Set an EAP1X session's state parameters (which in turn control the EAP state machine).
MOC_EXTERN MSTATUS EAP1X_authCheckTimers(void)
Call expired timers' callbacks.
MOC_EXTERN MSTATUS EAP1X_authSessionCreate(ubyte *appHdl, ubyte **session, eap1xAuthSessionCfg *cfg)
Create an EAP1X authenticator session.
MOC_EXTERN MSTATUS EAP1X_authUpdateUnsetState(ubyte *session, ubyte4 stateInfo)
Clear (unset) an EAP1X session's state parameters (which in turn control the EAP state machine)...
MOC_EXTERN MSTATUS EAP1X_authSendEAP(ubyte *session, eapHdr_t *eap_hdr, ubyte *eap_data, ubyte4 eap_data_len, ubyte4 headRoom, ubyte **ppPkt, ubyte2 *pPktLen)
Encapsulate an EAP packet with an EAP1X header.
MOC_EXTERN MSTATUS EAP1X_authInit(void)
Start the EAP1X state machine and initialize the EAP1X stack and timers.
MOC_EXTERN MSTATUS EAP1X_authReceivePkt(ubyte *session, ubyte *pPkt, ubyte4 pktLen)
Send the received EAP1X packets to the EAP1X layer.
MOC_EXTERN MSTATUS EAP1X_authDeInit(void)
Destroy EAP1X timers.
MOC_EXTERN MSTATUS EAP1X_authUpdatePortControl(ubyte *session, eap1xPortMode portMode)
Set (update) an EAP1X session's port control mode.