3.2.3 Initialization
PEAP MUST be initialized on the peer when it is invoked by EAP as an authentication method. This occurs when EAP-Request/Identity packet is received, as specified in [RFC3748] section 5.1. The currentState variable MUST be initialized to PEAP_BEGIN and the isFastReconnectAllowed datum MUST be initialized to FALSE.
BypassCapNegotiation and AssumePhase2Frag are protocol configurations,<11> which can be initialized in an implementation-specific manner.<12>
If isIdPrivacyEnabled is set to TRUE, then call EapSetIdentityPrivacyString with IdentityPrivacyString as the parameter.
isCapabilitiesSupported MUST be initialized to TRUE, if the PEAP method implementation supports Capabilities Method Negotiation (section 2.2.8.3) and BypassCapNegotiation is set to FALSE. Otherwise, it is initialized to FALSE.
isFragmentationAllowed MUST be initialized to TRUE, if the PEAP method implementation supports phase 2 fragmentation and BypassCapNegotiation and AssumePhase2Frag are set to TRUE. Otherwise initialize isFragmentationAllowed to FALSE.
A PEAP peer MUST be configured with one inner EAP method to use while authenticating with a PEAP server. The EapInitialize method is called to initialize the inner EAP instance with InnerEAPType as the parameter.
The PEAP peer obtains the maximum EAP packet size using the GetMaxSendPacketSize method, and assigns the size to the MaxSendPacketSize field.