ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

raseapif.h
Go to the documentation of this file.
00001 #ifndef _RASEAPIF_
00002 #define _RASEAPIF_
00003 
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007 
00008 #if(WINVER >= 0x0500)
00009 
00010 #define RAS_EAP_REGISTRY_LOCATION TEXT("SYSTEM\\CurrentControlSet\\Services\\Rasman\\PPP\\EAP")
00011 
00012 #define RAS_EAP_VALUENAME_PATH                  TEXT("Path")
00013 #define RAS_EAP_VALUENAME_CONFIGUI              TEXT("ConfigUIPath")
00014 #define RAS_EAP_VALUENAME_INTERACTIVEUI         TEXT("InteractiveUIPath")
00015 #define RAS_EAP_VALUENAME_IDENTITY              TEXT("IdentityPath")
00016 #define RAS_EAP_VALUENAME_FRIENDLY_NAME         TEXT("FriendlyName")
00017 #define RAS_EAP_VALUENAME_DEFAULT_DATA          TEXT("ConfigData")
00018 #define RAS_EAP_VALUENAME_REQUIRE_CONFIGUI      TEXT("RequireConfigUI")
00019 #define RAS_EAP_VALUENAME_ENCRYPTION            TEXT("MPPEEncryptionSupported")
00020 #define RAS_EAP_VALUENAME_INVOKE_NAMEDLG        TEXT("InvokeUsernameDialog")
00021 #define RAS_EAP_VALUENAME_INVOKE_PWDDLG         TEXT("InvokePasswordDialog")
00022 #define RAS_EAP_VALUENAME_CONFIG_CLSID          TEXT("ConfigCLSID")
00023 #define RAS_EAP_VALUENAME_STANDALONE_SUPPORTED  TEXT("StandaloneSupported")
00024 #define RAS_EAP_VALUENAME_ROLES_SUPPORTED       TEXT("RolesSupported")
00025 #define RAS_EAP_VALUENAME_PER_POLICY_CONFIG     TEXT("PerPolicyConfig")
00026 
00027 #define RAS_EAP_ROLE_AUTHENTICATOR              0x00000001
00028 #define RAS_EAP_ROLE_AUTHENTICATEE              0x00000002
00029 
00030 #define RAS_EAP_ROLE_EXCLUDE_IN_EAP             0x00000004
00031 #define RAS_EAP_ROLE_EXCLUDE_IN_PEAP            0x00000008
00032 #define RAS_EAP_ROLE_EXCLUDE_IN_VPN             0x00000010
00033 
00034 #define  raatARAPChallenge                      33
00035 #define  raatARAPOldPassword                    19
00036 #define  raatARAPNewPassword                    20
00037 #define  raatARAPPasswordChangeReason           21
00038 
00039 #define EAPCODE_Request                         1
00040 #define EAPCODE_Response                        2
00041 #define EAPCODE_Success                         3
00042 #define EAPCODE_Failure                         4
00043 
00044 #define MAXEAPCODE                              4
00045 
00046 #define RAS_EAP_FLAG_ROUTER                     0x00000001
00047 #define RAS_EAP_FLAG_NON_INTERACTIVE            0x00000002
00048 #define RAS_EAP_FLAG_LOGON                      0x00000004
00049 #define RAS_EAP_FLAG_PREVIEW                    0x00000008
00050 #define RAS_EAP_FLAG_FIRST_LINK                 0x00000010
00051 #define RAS_EAP_FLAG_MACHINE_AUTH               0x00000020
00052 #define RAS_EAP_FLAG_GUEST_ACCESS               0x00000040
00053 #define RAS_EAP_FLAG_8021X_AUTH                 0x00000080
00054 #define RAS_EAP_FLAG_HOSTED_IN_PEAP             0x00000100
00055 #define RAS_EAP_FLAG_RESUME_FROM_HIBERNATE      0x00000200
00056 #define RAS_EAP_FLAG_PEAP_UPFRONT               0x00000400
00057 #define RAS_EAP_FLAG_ALTERNATIVE_USER_DB        0x00000800
00058 
00059 typedef enum _RAS_AUTH_ATTRIBUTE_TYPE_
00060 {
00061     raatMinimum = 0,
00062     raatUserName,
00063     raatUserPassword,
00064     raatMD5CHAPPassword,
00065     raatNASIPAddress,
00066     raatNASPort,
00067     raatServiceType,
00068     raatFramedProtocol,
00069     raatFramedIPAddress,
00070     raatFramedIPNetmask,
00071     raatFramedRouting = 10,
00072     raatFilterId,
00073     raatFramedMTU,
00074     raatFramedCompression,
00075     raatLoginIPHost,
00076     raatLoginService,
00077     raatLoginTCPPort,
00078     raatUnassigned17,
00079     raatReplyMessage,
00080     raatCallbackNumber,
00081     raatCallbackId =20,
00082     raatUnassigned21,
00083     raatFramedRoute,
00084     raatFramedIPXNetwork,
00085     raatState,
00086     raatClass,
00087     raatVendorSpecific,
00088     raatSessionTimeout,
00089     raatIdleTimeout,
00090     raatTerminationAction,
00091     raatCalledStationId = 30,
00092     raatCallingStationId,
00093     raatNASIdentifier,
00094     raatProxyState,
00095     raatLoginLATService,
00096     raatLoginLATNode,
00097     raatLoginLATGroup,
00098     raatFramedAppleTalkLink,
00099     raatFramedAppleTalkNetwork,
00100     raatFramedAppleTalkZone,
00101     raatAcctStatusType = 40,
00102     raatAcctDelayTime,
00103     raatAcctInputOctets,
00104     raatAcctOutputOctets,
00105     raatAcctSessionId,
00106     raatAcctAuthentic,
00107     raatAcctSessionTime,
00108     raatAcctInputPackets,
00109     raatAcctOutputPackets,
00110     raatAcctTerminateCause,
00111     raatAcctMultiSessionId = 50,
00112     raatAcctLinkCount,
00113     raatAcctEventTimeStamp = 55,
00114     raatMD5CHAPChallenge = 60,
00115     raatNASPortType,
00116     raatPortLimit,
00117     raatLoginLATPort,
00118     raatTunnelType,
00119     raatTunnelMediumType,
00120     raatTunnelClientEndpoint,
00121     raatTunnelServerEndpoint,
00122     raatARAPPassword = 70,
00123     raatARAPFeatures,
00124     raatARAPZoneAccess,
00125     raatARAPSecurity,
00126     raatARAPSecurityData,
00127     raatPasswordRetry,
00128     raatPrompt,
00129     raatConnectInfo,
00130     raatConfigurationToken,
00131     raatEAPMessage,
00132     raatSignature = 80,
00133     raatARAPChallengeResponse = 84,
00134     raatAcctInterimInterval = 85,
00135     raatARAPGuestLogon = 8096,
00136     raatCertificateOID,
00137     raatEAPConfiguration,
00138     raatPEAPEmbeddedEAPTypeId,
00139     raatPEAPFastRoamedSession,
00140     raatEAPTLV = 8102,
00141     raatReserved = 0xFFFFFFFF
00142 
00143 }RAS_AUTH_ATTRIBUTE_TYPE;
00144 
00145 typedef struct _RAS_AUTH_ATTRIBUTE
00146 {
00147     RAS_AUTH_ATTRIBUTE_TYPE raaType;
00148     DWORD dwLength;
00149     PVOID Value;
00150 
00151 }RAS_AUTH_ATTRIBUTE, *PRAS_AUTH_ATTRIBUTE;
00152 
00153 typedef struct _PPP_EAP_PACKET
00154 {
00155     BYTE Code;
00156     BYTE Id;
00157     BYTE Length[2];
00158     BYTE Data[1];
00159 }PPP_EAP_PACKET, *PPPP_EAP_PACKET;
00160 
00161 #define PPP_EAP_PACKET_HDR_LEN (sizeof(PPP_EAP_PACKET) - 1)
00162 
00163 typedef struct _PPP_EAP_INPUT
00164 {
00165     DWORD dwSizeInBytes;
00166     DWORD fFlags;
00167     BOOL fAuthenticator;
00168     WCHAR* pwszIdentity;
00169     WCHAR* pwszPassword;
00170     BYTE bInitialId;
00171     RAS_AUTH_ATTRIBUTE* pUserAttributes;
00172     BOOL fAuthenticationComplete;
00173     DWORD dwAuthResultCode;
00174     OPTIONAL HANDLE hTokenImpersonateUser;
00175     BOOL fSuccessPacketReceived;
00176     BOOL fDataReceivedFromInteractiveUI;
00177     OPTIONAL PBYTE pDataFromInteractiveUI;
00178     DWORD dwSizeOfDataFromInteractiveUI;
00179     OPTIONAL PBYTE pConnectionData;
00180     DWORD dwSizeOfConnectionData;
00181     OPTIONAL PBYTE pUserData;
00182     DWORD dwSizeOfUserData;
00183     HANDLE hReserved;
00184 }PPP_EAP_INPUT, *PPPP_EAP_INPUT;
00185 
00186 typedef enum _PPP_EAP_ACTION
00187 {
00188     EAPACTION_NoAction,
00189     EAPACTION_Authenticate,
00190     EAPACTION_Done,
00191     EAPACTION_SendAndDone,
00192     EAPACTION_Send,
00193     EAPACTION_SendWithTimeout,
00194     EAPACTION_SendWithTimeoutInteractive,
00195     EAPACTION_IndicateTLV,
00196     EAPACTION_IndicateIdentity
00197 }PPP_EAP_ACTION;
00198 
00199 typedef struct _PPP_EAP_OUTPUT
00200 {
00201     DWORD dwSizeInBytes;
00202     PPP_EAP_ACTION Action;
00203     DWORD dwAuthResultCode;
00204     OPTIONAL RAS_AUTH_ATTRIBUTE* pUserAttributes;
00205     BOOL fInvokeInteractiveUI;
00206     OPTIONAL PBYTE pUIContextData;
00207     DWORD dwSizeOfUIContextData;
00208     BOOL fSaveConnectionData;
00209     OPTIONAL PBYTE pConnectionData;
00210     DWORD dwSizeOfConnectionData;
00211     BOOL fSaveUserData;
00212     OPTIONAL PBYTE pUserData;
00213     DWORD dwSizeOfUserData;
00214 }PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;
00215 
00216 typedef struct _PPP_EAP_INFO
00217 {
00218     DWORD dwSizeInBytes;
00219     DWORD dwEapTypeId;
00220     DWORD (APIENTRY *RasEapInitialize)(IN BOOL fInitialize );
00221     DWORD (APIENTRY *RasEapBegin)(OUT VOID** ppWorkBuffer, IN PPP_EAP_INPUT* pPppEapInput);
00222     DWORD (APIENTRY *RasEapEnd)(IN VOID* pWorkBuffer);
00223     DWORD (APIENTRY *RasEapMakeMessage)(IN VOID* pWorkBuf, IN PPP_EAP_PACKET* pReceivePacket, OUT PPP_EAP_PACKET* pSendPacket, IN DWORD cbSendPacket, OUT PPP_EAP_OUTPUT* pEapOutput, IN PPP_EAP_INPUT* pEapInput);
00224 }PPP_EAP_INFO, *PPPP_EAP_INFO;
00225 
00226 DWORD APIENTRY
00227 RasEapGetInfo(IN DWORD dwEapTypeId,
00228               OUT PPP_EAP_INFO* pEapInfo);
00229 
00230 DWORD APIENTRY
00231 RasEapFreeMemory(IN BYTE* pMemory);
00232 
00233 DWORD APIENTRY
00234 RasEapInvokeInteractiveUI(IN DWORD dwEapTypeId,
00235                           IN HWND hwndParent,
00236                           IN BYTE* pUIContextData,
00237                           IN DWORD dwSizeOfUIContextData,
00238                           OUT BYTE** ppDataFromInteractiveUI,
00239                           OUT DWORD* pdwSizeOfDataFromInteractiveUI);
00240 
00241 DWORD APIENTRY
00242 RasEapInvokeConfigUI(IN DWORD dwEapTypeId,
00243                      IN HWND hwndParent,
00244                      IN DWORD dwFlags,
00245                      IN BYTE* pConnectionDataIn,
00246                      IN DWORD dwSizeOfConnectionDataIn,
00247                      OUT BYTE** ppConnectionDataOut,
00248                      OUT DWORD* pdwSizeOfConnectionDataOut);
00249 
00250 DWORD APIENTRY
00251 RasEapGetIdentity(IN DWORD dwEapTypeId,
00252                   IN HWND hwndParent,
00253                   IN DWORD dwFlags,
00254                   IN const WCHAR* pwszPhonebook,
00255                   IN const WCHAR* pwszEntry,
00256                   IN BYTE* pConnectionDataIn,
00257                   IN DWORD dwSizeOfConnectionDataIn,
00258                   IN BYTE* pUserDataIn,
00259                   IN DWORD dwSizeOfUserDataIn,
00260                   OUT BYTE** ppUserDataOut,
00261                   OUT DWORD* pdwSizeOfUserDataOut,
00262                   OUT WCHAR** ppwszIdentity
00263 );
00264 
00265 #endif /* WINVER >= 0x0500 */
00266 
00267 #ifdef __cplusplus
00268 }
00269 #endif
00270 
00271 #endif /* _RASEAPIF_ */
00272 

Generated on Sun May 27 2012 04:32:15 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.