2.2.1.2.71 PPP_LCP_INFO

The PPP_LCP_INFO structure contains information that describes the results of a PPP Link Control Protocol (LCP) negotiation.

 typedef struct _PPP_LCP_INFO {
   DWORD dwError;
   DWORD dwAuthenticationProtocol;
   DWORD dwAuthenticationData;
   DWORD dwRemoteAuthenticationProtocol;
   DWORD dwRemoteAuthenticationData;
   DWORD dwTerminateReason;
   DWORD dwRemoteTerminateReason;
   DWORD dwOptions;
   DWORD dwRemoteOptions;
   DWORD dwEapTypeId;
   DWORD dwRemoteEapTypeId;
 } PPP_LCP_INFO;

dwError: Specifies the error that occurred if the negotiation were unsuccessful. Zero (0) indicates success.

dwAuthenticationProtocol: Specifies the authentication protocol used to authenticate the local computer. The following table shows the possible values for this member.<49>

Value

Meaning

0x00000000

Either no authentication was negotiated by the local end, or no LCP settings are applicable for the connection (for example, an IKEv2 connection).

PPP_LCP_PAP

0x0000C023

Password Authentication Protocol (PAP)

PPP_LCP_SPAP

0x0000C027

Shiva Password Authentication Protocol (SPAP)

PPP_LCP_CHAP

0x0000C223

Challenge-Handshake Authentication Protocol (CHAP)

PPP_LCP_EAP

0x0000C227

Extensible Authentication Protocol (EAP)

dwAuthenticationData: Specifies additional information about the authentication protocol specified by the dwAuthenticationProtocol member. The following table shows the possible values for this member.<50>

Value

Meaning

0x00000000

No additional authentication data applies.

PPP_LCP_CHAP_MD5

0x00000005

MD5 CHAP

PPP_LCP_CHAP_MS

0x00000080

Microsoft CHAP

PPP_LCP_CHAP_MSV2

0x00000081

Microsoft CHAP version 2

dwRemoteAuthenticationProtocol: Specifies the authentication protocol used to authenticate the remote computer. See the dwAuthenticationProtocol member for a list of possible values. The following table shows the possible values for this member.<51>

Value

Meaning

0x00000000

Either no authentication was negotiated by the remote end, or no LCP settings are applicable for the connection (for example, an IKEv2 connection).

PPP_LCP_PAP

0x0000C023

Password Authentication Protocol (PAP)

PPP_LCP_SPAP

0x0000C027

Shiva Password Authentication Protocol (SPAP)

PPP_LCP_CHAP

0x0000C223

Challenge-Handshake Authentication Protocol (CHAP)

PPP_LCP_EAP

0x0000C227

Extensible Authentication Protocol (EAP)

dwRemoteAuthenticationData: Specifies additional information about the authentication protocol specified by dwRemoteAuthenticationProtocol. See the dwAuthenticationData member for a list of possible values.

dwTerminateReason: Specifies the reason the connection was terminated by the local computer. This member always has a value of zero (0).

dwRemoteTerminateReason: Specifies the reason the connection was terminated by the remote computer. This member always has a value of zero (0).

dwOptions: Specifies information about the LCP options in use by the local computer. This member is a combination of the following flags.<52>

Value

Meaning

0x00000000

No flag is set.

PPP_LCP_MULTILINK_FRAMING

0x00000001

The connection is using multilink.

PPP_LCP_PFC

0x00000002

Protocol Field Compression (see [RFC1172]).

PPP_LCP_ACFC

0x00000004

Address and Control Field Compression (see [RFC1172]).

PPP_LCP_SSHF

0x00000008

Short Sequence Number Header Format (see [RFC1990]).

PPP_LCP_DES_56

0x00000010

Data Encryption Standard (DES) 56-bit encryption.

PPP_LCP_3_DES

0x00000020

Triple DES encryption.

PPP_LCP_AES_128

0x00000040

128-bit AES encryption.

PPP_LCP_AES_256

0x00000080

256-bit AES encryption.

PPP_LCP_AES_192

0x00000100

192-bit AES encryption.

PPP_LCP_GCM_AES_128

0x00000200

128-bit AES encryption GCM (Galois Counter Mode) mode of operation (see [RFC4106]).

PPP_LCP_GCM_AES_192

0x00000400

192-bit AES encryption GCM (Galois Counter Mode) mode of operation (see [RFC4106]).

PPP_LCP_GCM_AES_256

0x00000800

256-bit AES encryption GCM (Galois Counter Mode) mode of operation (see [RFC4106]).

dwRemoteOptions: Specifies information about the LCP options in use by the remote computer. See dwOptions member for a list of possible values.

dwEapTypeId: Specifies the type identifier of the EAP used to authenticate the local computer. MUST be one of the values specified in Method Types of [IANA-EAP]. The value of this member is valid only if dwAuthenticationProtocol is PPP_LCP_EAP.

dwRemoteEapTypeId: This field MUST be zero (0) and has no significance.