blob: 1004c6b63f8e6e89fc4745fab226efb8d2f87fe2 [file] [log] [blame]
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_ras.d)
*/
module core.sys.windows.ras;
version (Windows):
@system:
version (ANSI) {} else version = Unicode;
pragma(lib, "rasapi32");
import core.sys.windows.basetyps, core.sys.windows.lmcons, core.sys.windows.w32api, core.sys.windows.windef;
align(4):
enum RAS_MaxDeviceType = 16;
enum RAS_MaxPhoneNumber = 128;
enum RAS_MaxIpAddress = 15;
enum RAS_MaxIpxAddress = 21;
enum RAS_MaxEntryName = 256;
enum RAS_MaxDeviceName = 128;
enum RAS_MaxCallbackNumber = RAS_MaxPhoneNumber;
enum RAS_MaxAreaCode = 10;
enum RAS_MaxPadType = 32;
enum RAS_MaxX25Address = 200;
enum RAS_MaxFacilities = 200;
enum RAS_MaxUserData = 200;
enum RAS_MaxReplyMessage = 1024;
enum RDEOPT_UsePrefixSuffix = 0x00000001;
enum RDEOPT_PausedStates = 0x00000002;
enum RDEOPT_IgnoreModemSpeaker = 0x00000004;
enum RDEOPT_SetModemSpeaker = 0x00000008;
enum RDEOPT_IgnoreSoftwareCompression = 0x00000010;
enum RDEOPT_SetSoftwareCompression = 0x00000020;
enum RDEOPT_DisableConnectedUI = 0x00000040;
enum RDEOPT_DisableReconnectUI = 0x00000080;
enum RDEOPT_DisableReconnect = 0x00000100;
enum RDEOPT_NoUser = 0x00000200;
enum RDEOPT_PauseOnScript = 0x00000400;
enum RDEOPT_Router = 0x00000800;
enum REN_User = 0x00000000;
enum REN_AllUsers = 0x00000001;
enum VS_Default = 0;
enum VS_PptpOnly = 1;
enum VS_PptpFirst = 2;
enum VS_L2tpOnly = 3;
enum VS_L2tpFirst = 4;
enum RASDIALEVENT = "RasDialEvent";
enum WM_RASDIALEVENT = 0xCCCD;
enum RASEO_UseCountryAndAreaCodes = 0x00000001;
enum RASEO_SpecificIpAddr = 0x00000002;
enum RASEO_SpecificNameServers = 0x00000004;
enum RASEO_IpHeaderCompression = 0x00000008;
enum RASEO_RemoteDefaultGateway = 0x00000010;
enum RASEO_DisableLcpExtensions = 0x00000020;
enum RASEO_TerminalBeforeDial = 0x00000040;
enum RASEO_TerminalAfterDial = 0x00000080;
enum RASEO_ModemLights = 0x00000100;
enum RASEO_SwCompression = 0x00000200;
enum RASEO_RequireEncryptedPw = 0x00000400;
enum RASEO_RequireMsEncryptedPw = 0x00000800;
enum RASEO_RequireDataEncryption = 0x00001000;
enum RASEO_NetworkLogon = 0x00002000;
enum RASEO_UseLogonCredentials = 0x00004000;
enum RASEO_PromoteAlternates = 0x00008000;
enum RASNP_NetBEUI = 0x00000001;
enum RASNP_Ipx = 0x00000002;
enum RASNP_Ip = 0x00000004;
enum RASFP_Ppp = 0x00000001;
enum RASFP_Slip = 0x00000002;
enum RASFP_Ras = 0x00000004;
const TCHAR[]
RASDT_Modem = "modem",
RASDT_Isdn = "isdn",
RASDT_X25 = "x25",
RASDT_Vpn = "vpn",
RASDT_Pad = "pad",
RASDT_Generic = "GENERIC",
RASDT_Serial = "SERIAL",
RASDT_FrameRelay = "FRAMERELAY",
RASDT_Atm = "ATM",
RASDT_Sonet = "SONET",
RASDT_SW56 = "SW56",
RASDT_Irda = "IRDA",
RASDT_Parallel = "PARALLEL";
enum RASET_Phone = 1;
enum RASET_Vpn = 2;
enum RASET_Direct = 3;
enum RASET_Internet = 4;
static if (_WIN32_WINNT >= 0x401) {
enum RASEO_SecureLocalFiles = 0x00010000;
enum RASCN_Connection = 0x00000001;
enum RASCN_Disconnection = 0x00000002;
enum RASCN_BandwidthAdded = 0x00000004;
enum RASCN_BandwidthRemoved = 0x00000008;
enum RASEDM_DialAll = 1;
enum RASEDM_DialAsNeeded = 2;
enum RASIDS_Disabled = 0xffffffff;
enum RASIDS_UseGlobalValue = 0;
enum RASADFLG_PositionDlg = 0x00000001;
enum RASCM_UserName = 0x00000001;
enum RASCM_Password = 0x00000002;
enum RASCM_Domain = 0x00000004;
enum RASADP_DisableConnectionQuery = 0;
enum RASADP_LoginSessionDisable = 1;
enum RASADP_SavedAddressesLimit = 2;
enum RASADP_FailedConnectionTimeout = 3;
enum RASADP_ConnectionQueryTimeout = 4;
}
//static if (_WIN32_WINNT >= 0x500) {
enum RDEOPT_CustomDial = 0x00001000;
enum RASLCPAP_PAP = 0xC023;
enum RASLCPAP_SPAP = 0xC027;
enum RASLCPAP_CHAP = 0xC223;
enum RASLCPAP_EAP = 0xC227;
enum RASLCPAD_CHAP_MD5 = 0x05;
enum RASLCPAD_CHAP_MS = 0x80;
enum RASLCPAD_CHAP_MSV2 = 0x81;
enum RASLCPO_PFC = 0x00000001;
enum RASLCPO_ACFC = 0x00000002;
enum RASLCPO_SSHF = 0x00000004;
enum RASLCPO_DES_56 = 0x00000008;
enum RASLCPO_3_DES = 0x00000010;
enum RASCCPCA_MPPC = 0x00000006;
enum RASCCPCA_STAC = 0x00000005;
enum RASCCPO_Compression = 0x00000001;
enum RASCCPO_HistoryLess = 0x00000002;
enum RASCCPO_Encryption56bit = 0x00000010;
enum RASCCPO_Encryption40bit = 0x00000020;
enum RASCCPO_Encryption128bit = 0x00000040;
enum RASEO_RequireEAP = 0x00020000;
enum RASEO_RequirePAP = 0x00040000;
enum RASEO_RequireSPAP = 0x00080000;
enum RASEO_Custom = 0x00100000;
enum RASEO_PreviewPhoneNumber = 0x00200000;
enum RASEO_SharedPhoneNumbers = 0x00800000;
enum RASEO_PreviewUserPw = 0x01000000;
enum RASEO_PreviewDomain = 0x02000000;
enum RASEO_ShowDialingProgress = 0x04000000;
enum RASEO_RequireCHAP = 0x08000000;
enum RASEO_RequireMsCHAP = 0x10000000;
enum RASEO_RequireMsCHAP2 = 0x20000000;
enum RASEO_RequireW95MSCHAP = 0x40000000;
enum RASEO_CustomScript = 0x80000000;
enum RASIPO_VJ = 0x00000001;
enum RCD_SingleUser = 0;
enum RCD_AllUsers = 0x00000001;
enum RCD_Eap = 0x00000002;
enum RASEAPF_NonInteractive = 0x00000002;
enum RASEAPF_Logon = 0x00000004;
enum RASEAPF_Preview = 0x00000008;
enum ET_40Bit = 1;
enum ET_128Bit = 2;
enum ET_None = 0;
enum ET_Require = 1;
enum ET_RequireMax = 2;
enum ET_Optional = 3;
//}
enum RASCS_PAUSED = 0x1000;
enum RASCS_DONE = 0x2000;
enum RASCONNSTATE {
RASCS_OpenPort = 0,
RASCS_PortOpened,
RASCS_ConnectDevice,
RASCS_DeviceConnected,
RASCS_AllDevicesConnected,
RASCS_Authenticate,
RASCS_AuthNotify,
RASCS_AuthRetry,
RASCS_AuthCallback,
RASCS_AuthChangePassword,
RASCS_AuthProject,
RASCS_AuthLinkSpeed,
RASCS_AuthAck,
RASCS_ReAuthenticate,
RASCS_Authenticated,
RASCS_PrepareForCallback,
RASCS_WaitForModemReset,
RASCS_WaitForCallback,
RASCS_Projected,
RASCS_StartAuthentication,
RASCS_CallbackComplete,
RASCS_LogonNetwork,
RASCS_SubEntryConnected,
RASCS_SubEntryDisconnected,
RASCS_Interactive = RASCS_PAUSED,
RASCS_RetryAuthentication,
RASCS_CallbackSetByCaller,
RASCS_PasswordExpired,
// static if (_WIN32_WINNT >= 0x500) {
RASCS_InvokeEapUI,
// }
RASCS_Connected = RASCS_DONE,
RASCS_Disconnected
}
alias RASCONNSTATE* LPRASCONNSTATE;
enum RASPROJECTION {
RASP_Amb = 0x10000,
RASP_PppNbf = 0x803F,
RASP_PppIpx = 0x802B,
RASP_PppIp = 0x8021,
// static if (_WIN32_WINNT >= 0x500) {
RASP_PppCcp = 0x80FD,
// }
RASP_PppLcp = 0xC021,
RASP_Slip = 0x20000
}
alias RASPROJECTION* LPRASPROJECTION;
alias TypeDef!(HANDLE) HRASCONN;
alias HRASCONN* LPHRASCONN;
struct RASCONNW {
align(4):
DWORD dwSize;
HRASCONN hrasconn;
align {
WCHAR[RAS_MaxEntryName + 1] szEntryName = 0;
WCHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
WCHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
}
//static if (_WIN32_WINNT >= 0x401) {
WCHAR[MAX_PATH] szPhonebook = 0;
DWORD dwSubEntry;
//}
//static if (_WIN32_WINNT >= 0x500) {
GUID guidEntry;
//}
static if (_WIN32_WINNT >= 0x501) {
DWORD dwFlags;
LUID luid;
}
}
alias RASCONNW* LPRASCONNW;
struct RASCONNA {
align(4):
DWORD dwSize;
HRASCONN hrasconn;
align {
CHAR[RAS_MaxEntryName + 1] szEntryName = 0;
CHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
CHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
}
//static if (_WIN32_WINNT >= 0x401) {
CHAR[MAX_PATH] szPhonebook = 0;
DWORD dwSubEntry;
//}
//static if (_WIN32_WINNT >= 0x500) {
GUID guidEntry;
//}
static if (_WIN32_WINNT >= 0x501) {
DWORD dwFlags;
LUID luid;
}
}
alias RASCONNA* LPRASCONNA;
struct RASCONNSTATUSW {
DWORD dwSize;
RASCONNSTATE rasconnstate;
DWORD dwError;
WCHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
WCHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
static if (_WIN32_WINNT >= 0x401) {
WCHAR[RAS_MaxPhoneNumber + 1] szPhoneNumber = 0;
}
}
alias RASCONNSTATUSW* LPRASCONNSTATUSW;
struct RASCONNSTATUSA {
DWORD dwSize;
RASCONNSTATE rasconnstate;
DWORD dwError;
CHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
CHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
static if (_WIN32_WINNT >= 0x401) {
CHAR[RAS_MaxPhoneNumber + 1] szPhoneNumber = 0;
}
}
alias RASCONNSTATUSA* LPRASCONNSTATUSA;
struct RASDIALPARAMSW {
align(4):
DWORD dwSize;
align {
WCHAR[RAS_MaxEntryName + 1] szEntryName = 0;
WCHAR[RAS_MaxPhoneNumber + 1] szPhoneNumber = 0;
WCHAR[RAS_MaxCallbackNumber + 1] szCallbackNumber = 0;
WCHAR[UNLEN + 1] szUserName = 0;
WCHAR[PWLEN + 1] szPassword = 0;
WCHAR[DNLEN + 1] szDomain = 0;
}
static if (_WIN32_WINNT >= 0x401) {
DWORD dwSubEntry;
ULONG_PTR dwCallbackId;
}
}
alias RASDIALPARAMSW* LPRASDIALPARAMSW;
struct RASDIALPARAMSA{
align(4):
DWORD dwSize;
align {
CHAR[RAS_MaxEntryName + 1] szEntryName = 0;
CHAR[RAS_MaxPhoneNumber + 1] szPhoneNumber = 0;
CHAR[RAS_MaxCallbackNumber + 1] szCallbackNumber = 0;
CHAR[UNLEN + 1] szUserName = 0;
CHAR[PWLEN + 1] szPassword = 0;
CHAR[DNLEN + 1] szDomain = 0;
}
static if (_WIN32_WINNT >= 0x401) {
DWORD dwSubEntry;
ULONG_PTR dwCallbackId;
}
}
alias RASDIALPARAMSA* LPRASDIALPARAMSA;
//static if (_WIN32_WINNT >= 0x500) {
struct RASEAPINFO {
align(4):
DWORD dwSizeofEapInfo;
BYTE *pbEapInfo;
}
//}
struct RASDIALEXTENSIONS {
align(4):
DWORD dwSize;
DWORD dwfOptions;
HWND hwndParent;
ULONG_PTR reserved;
//static if (_WIN32_WINNT >= 0x500) {
ULONG_PTR reserved1;
RASEAPINFO RasEapInfo;
//}
}
alias RASDIALEXTENSIONS* LPRASDIALEXTENSIONS;
struct RASENTRYNAMEW {
DWORD dwSize;
WCHAR[RAS_MaxEntryName + 1] szEntryName = 0;
//static if (_WIN32_WINNT >= 0x500) {
DWORD dwFlags;
WCHAR[MAX_PATH + 1] szPhonebookPath = 0;
//}
}
alias RASENTRYNAMEW* LPRASENTRYNAMEW;
struct RASENTRYNAMEA{
DWORD dwSize;
CHAR[RAS_MaxEntryName + 1] szEntryName = 0;
//static if (_WIN32_WINNT >= 0x500) {
DWORD dwFlags;
CHAR[MAX_PATH + 1] szPhonebookPath = 0;
//}
}
alias RASENTRYNAMEA* LPRASENTRYNAMEA;
struct RASAMBW{
DWORD dwSize;
DWORD dwError;
WCHAR[NETBIOS_NAME_LEN + 1] szNetBiosError = 0;
BYTE bLana;
}
alias RASAMBW* LPRASAMBW;
struct RASAMBA{
DWORD dwSize;
DWORD dwError;
CHAR[NETBIOS_NAME_LEN + 1] szNetBiosError = 0;
BYTE bLana;
}
alias RASAMBA* LPRASAMBA;
struct RASPPPNBFW{
DWORD dwSize;
DWORD dwError;
DWORD dwNetBiosError;
WCHAR[NETBIOS_NAME_LEN + 1] szNetBiosError = 0;
WCHAR[NETBIOS_NAME_LEN + 1] szWorkstationName = 0;
BYTE bLana;
}
alias RASPPPNBFW* LPRASPPPNBFW;
struct RASPPPNBFA{
DWORD dwSize;
DWORD dwError;
DWORD dwNetBiosError;
CHAR[NETBIOS_NAME_LEN + 1] szNetBiosError = 0;
CHAR[NETBIOS_NAME_LEN + 1] szWorkstationName = 0;
BYTE bLana;
}
alias RASPPPNBFA* LPRASPPPNBFA;
struct RASPPPIPXW {
DWORD dwSize;
DWORD dwError;
WCHAR[RAS_MaxIpxAddress + 1] szIpxAddress = 0;
}
alias RASPPPIPXW* LPRASPPPIPXW;
struct RASPPPIPXA {
DWORD dwSize;
DWORD dwError;
CHAR[RAS_MaxIpxAddress + 1] szIpxAddress = 0;
}
alias RASPPPIPXA* LPRASPPPIPXA;
struct RASPPPIPW{
DWORD dwSize;
DWORD dwError;
WCHAR[RAS_MaxIpAddress + 1] szIpAddress = 0;
//#ifndef WINNT35COMPATIBLE
WCHAR[RAS_MaxIpAddress + 1] szServerIpAddress = 0;
//#endif
//static if (_WIN32_WINNT >= 0x500) {
DWORD dwOptions;
DWORD dwServerOptions;
//}
}
alias RASPPPIPW* LPRASPPPIPW;
struct RASPPPIPA{
DWORD dwSize;
DWORD dwError;
CHAR[RAS_MaxIpAddress + 1] szIpAddress = 0;
//#ifndef WINNT35COMPATIBLE
CHAR[RAS_MaxIpAddress + 1] szServerIpAddress = 0;
//#endif
//static if (_WIN32_WINNT >= 0x500) {
DWORD dwOptions;
DWORD dwServerOptions;
//}
}
alias RASPPPIPA* LPRASPPPIPA;
struct RASPPPLCPW{
DWORD dwSize;
BOOL fBundled;
//static if (_WIN32_WINNT >= 0x500) {
DWORD dwError;
DWORD dwAuthenticationProtocol;
DWORD dwAuthenticationData;
DWORD dwEapTypeId;
DWORD dwServerAuthenticationProtocol;
DWORD dwServerAuthenticationData;
DWORD dwServerEapTypeId;
BOOL fMultilink;
DWORD dwTerminateReason;
DWORD dwServerTerminateReason;
WCHAR[RAS_MaxReplyMessage] szReplyMessage = 0;
DWORD dwOptions;
DWORD dwServerOptions;
//}
}
alias RASPPPLCPW* LPRASPPPLCPW;
struct RASPPPLCPA{
DWORD dwSize;
BOOL fBundled;
//static if (_WIN32_WINNT >= 0x500) {
DWORD dwError;
DWORD dwAuthenticationProtocol;
DWORD dwAuthenticationData;
DWORD dwEapTypeId;
DWORD dwServerAuthenticationProtocol;
DWORD dwServerAuthenticationData;
DWORD dwServerEapTypeId;
BOOL fMultilink;
DWORD dwTerminateReason;
DWORD dwServerTerminateReason;
CHAR[RAS_MaxReplyMessage] szReplyMessage = 0;
DWORD dwOptions;
DWORD dwServerOptions;
//}
}
alias RASPPPLCPA* LPRASPPPLCPA;
struct RASSLIPW{
DWORD dwSize;
DWORD dwError;
WCHAR[RAS_MaxIpAddress + 1] szIpAddress = 0;
}
alias RASSLIPW* LPRASSLIPW;
struct RASSLIPA{
DWORD dwSize;
DWORD dwError;
CHAR[RAS_MaxIpAddress + 1] szIpAddress = 0;
}
alias RASSLIPA* LPRASSLIPA;
struct RASDEVINFOW{
DWORD dwSize;
WCHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
WCHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
}
alias RASDEVINFOW* LPRASDEVINFOW;
struct RASDEVINFOA{
DWORD dwSize;
CHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
CHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
}
alias RASDEVINFOA* LPRASDEVINFOA;
struct RASCTRYINFO {
DWORD dwSize;
DWORD dwCountryID;
DWORD dwNextCountryID;
DWORD dwCountryCode;
DWORD dwCountryNameOffset;
}
alias RASCTRYINFO* LPRASCTRYINFO;
alias RASCTRYINFO RASCTRYINFOW, RASCTRYINFOA;
alias RASCTRYINFOW* LPRASCTRYINFOW;
alias RASCTRYINFOA* LPRASCTRYINFOA;
struct RASIPADDR {
BYTE a;
BYTE b;
BYTE c;
BYTE d;
}
struct RASENTRYW {
DWORD dwSize;
DWORD dwfOptions;
DWORD dwCountryID;
DWORD dwCountryCode;
WCHAR[RAS_MaxAreaCode + 1] szAreaCode = 0;
WCHAR[RAS_MaxPhoneNumber + 1] szLocalPhoneNumber = 0;
DWORD dwAlternateOffset;
RASIPADDR ipaddr;
RASIPADDR ipaddrDns;
RASIPADDR ipaddrDnsAlt;
RASIPADDR ipaddrWins;
RASIPADDR ipaddrWinsAlt;
DWORD dwFrameSize;
DWORD dwfNetProtocols;
DWORD dwFramingProtocol;
WCHAR[MAX_PATH] szScript = 0;
WCHAR[MAX_PATH] szAutodialDll = 0;
WCHAR[MAX_PATH] szAutodialFunc = 0;
WCHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
WCHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
WCHAR[RAS_MaxPadType + 1] szX25PadType = 0;
WCHAR[RAS_MaxX25Address + 1] szX25Address = 0;
WCHAR[RAS_MaxFacilities + 1] szX25Facilities = 0;
WCHAR[RAS_MaxUserData + 1] szX25UserData = 0;
DWORD dwChannels;
DWORD dwReserved1;
DWORD dwReserved2;
//static if (_WIN32_WINNT >= 0x401) {
DWORD dwSubEntries;
DWORD dwDialMode;
DWORD dwDialExtraPercent;
DWORD dwDialExtraSampleSeconds;
DWORD dwHangUpExtraPercent;
DWORD dwHangUpExtraSampleSeconds;
DWORD dwIdleDisconnectSeconds;
//}
//static if (_WIN32_WINNT >= 0x500) {
DWORD dwType;
DWORD dwEncryptionType;
DWORD dwCustomAuthKey;
GUID guidId;
WCHAR[MAX_PATH] szCustomDialDll = 0;
DWORD dwVpnStrategy;
//}
}
alias RASENTRYW* LPRASENTRYW;
struct RASENTRYA {
DWORD dwSize;
DWORD dwfOptions;
DWORD dwCountryID;
DWORD dwCountryCode;
CHAR[RAS_MaxAreaCode + 1] szAreaCode = 0;
CHAR[RAS_MaxPhoneNumber + 1] szLocalPhoneNumber = 0;
DWORD dwAlternateOffset;
RASIPADDR ipaddr;
RASIPADDR ipaddrDns;
RASIPADDR ipaddrDnsAlt;
RASIPADDR ipaddrWins;
RASIPADDR ipaddrWinsAlt;
DWORD dwFrameSize;
DWORD dwfNetProtocols;
DWORD dwFramingProtocol;
CHAR[MAX_PATH] szScript = 0;
CHAR[MAX_PATH] szAutodialDll = 0;
CHAR[MAX_PATH] szAutodialFunc = 0;
CHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
CHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
CHAR[RAS_MaxPadType + 1] szX25PadType = 0;
CHAR[RAS_MaxX25Address + 1] szX25Address = 0;
CHAR[RAS_MaxFacilities + 1] szX25Facilities = 0;
CHAR[RAS_MaxUserData + 1] szX25UserData = 0;
DWORD dwChannels;
DWORD dwReserved1;
DWORD dwReserved2;
//static if (_WIN32_WINNT >= 0x401) {
DWORD dwSubEntries;
DWORD dwDialMode;
DWORD dwDialExtraPercent;
DWORD dwDialExtraSampleSeconds;
DWORD dwHangUpExtraPercent;
DWORD dwHangUpExtraSampleSeconds;
DWORD dwIdleDisconnectSeconds;
//}
//static if (_WIN32_WINNT >= 0x500) {
DWORD dwType;
DWORD dwEncryptionType;
DWORD dwCustomAuthKey;
GUID guidId;
CHAR[MAX_PATH] szCustomDialDll = 0;
DWORD dwVpnStrategy;
//}
}
alias RASENTRYA* LPRASENTRYA;
//static if (_WIN32_WINNT >= 0x401) {
struct RASADPARAMS {
align(4):
DWORD dwSize;
HWND hwndOwner;
DWORD dwFlags;
LONG xDlg;
LONG yDlg;
}
alias RASADPARAMS* LPRASADPARAMS;
struct RASSUBENTRYW{
DWORD dwSize;
DWORD dwfFlags;
WCHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
WCHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
WCHAR[RAS_MaxPhoneNumber + 1] szLocalPhoneNumber = 0;
DWORD dwAlternateOffset;
}
alias RASSUBENTRYW* LPRASSUBENTRYW;
struct RASSUBENTRYA{
DWORD dwSize;
DWORD dwfFlags;
CHAR[RAS_MaxDeviceType + 1] szDeviceType = 0;
CHAR[RAS_MaxDeviceName + 1] szDeviceName = 0;
CHAR[RAS_MaxPhoneNumber + 1] szLocalPhoneNumber = 0;
DWORD dwAlternateOffset;
}
alias RASSUBENTRYA* LPRASSUBENTRYA;
struct RASCREDENTIALSW{
DWORD dwSize;
DWORD dwMask;
WCHAR[UNLEN + 1] szUserName = 0;
WCHAR[PWLEN + 1] szPassword = 0;
WCHAR[DNLEN + 1] szDomain = 0;
}
alias RASCREDENTIALSW* LPRASCREDENTIALSW;
struct RASCREDENTIALSA{
DWORD dwSize;
DWORD dwMask;
CHAR[UNLEN + 1] szUserName = 0;
CHAR[PWLEN + 1] szPassword = 0;
CHAR[DNLEN + 1] szDomain = 0;
}
alias RASCREDENTIALSA* LPRASCREDENTIALSA;
struct RASAUTODIALENTRYW{
DWORD dwSize;
DWORD dwFlags;
DWORD dwDialingLocation;
WCHAR[RAS_MaxEntryName + 1] szEntry = 0;
}
alias RASAUTODIALENTRYW* LPRASAUTODIALENTRYW;
struct RASAUTODIALENTRYA{
DWORD dwSize;
DWORD dwFlags;
DWORD dwDialingLocation;
CHAR[RAS_MaxEntryName + 1] szEntry = 0;
}
alias RASAUTODIALENTRYA* LPRASAUTODIALENTRYA;
//}
//static if (_WIN32_WINNT >= 0x500) {
struct RASPPPCCP{
DWORD dwSize;
DWORD dwError;
DWORD dwCompressionAlgorithm;
DWORD dwOptions;
DWORD dwServerCompressionAlgorithm;
DWORD dwServerOptions;
}
alias RASPPPCCP* LPRASPPPCCP;
struct RASEAPUSERIDENTITYW{
WCHAR[UNLEN + 1] szUserName = 0;
DWORD dwSizeofEapInfo;
BYTE[1] pbEapInfo;
}
alias RASEAPUSERIDENTITYW* LPRASEAPUSERIDENTITYW;
struct RASEAPUSERIDENTITYA{
CHAR[UNLEN + 1] szUserName = 0;
DWORD dwSizeofEapInfo;
BYTE[1] pbEapInfo;
}
alias RASEAPUSERIDENTITYA* LPRASEAPUSERIDENTITYA;
struct RAS_STATS{
DWORD dwSize;
DWORD dwBytesXmited;
DWORD dwBytesRcved;
DWORD dwFramesXmited;
DWORD dwFramesRcved;
DWORD dwCrcErr;
DWORD dwTimeoutErr;
DWORD dwAlignmentErr;
DWORD dwHardwareOverrunErr;
DWORD dwFramingErr;
DWORD dwBufferOverrunErr;
DWORD dwCompressionRatioIn;
DWORD dwCompressionRatioOut;
DWORD dwBps;
DWORD dwConnectDuration;
}
alias RAS_STATS* PRAS_STATS;
//}
/* UNICODE typedefs for structures*/
version (Unicode) {
alias RASCONNW RASCONN;
alias RASENTRYW RASENTRY;
alias RASCONNSTATUSW RASCONNSTATUS;
alias RASDIALPARAMSW RASDIALPARAMS;
alias RASAMBW RASAMB;
alias RASPPPNBFW RASPPPNBF;
alias RASPPPIPXW RASPPPIPX;
alias RASPPPIPW RASPPPIP;
alias RASPPPLCPW RASPPPLCP;
alias RASSLIPW RASSLIP;
alias RASDEVINFOW RASDEVINFO;
alias RASENTRYNAMEW RASENTRYNAME;
//static if (_WIN32_WINNT >= 0x401) {
alias RASSUBENTRYW RASSUBENTRY;
alias RASCREDENTIALSW RASCREDENTIALS;
alias RASAUTODIALENTRYW RASAUTODIALENTRY;
//}
//static if (_WIN32_WINNT >= 0x500) {
alias RASEAPUSERIDENTITYW RASEAPUSERIDENTITY;
//}
} else { // ! defined UNICODE
alias RASCONNA RASCONN;
alias RASENTRYA RASENTRY;
alias RASCONNSTATUSA RASCONNSTATUS;
alias RASDIALPARAMSA RASDIALPARAMS;
alias RASAMBA RASAMB;
alias RASPPPNBFA RASPPPNBF;
alias RASPPPIPXA RASPPPIPX;
alias RASPPPIPA RASPPPIP;
alias RASPPPLCPA RASPPPLCP;
alias RASSLIPA RASSLIP;
alias RASDEVINFOA RASDEVINFO;
alias RASENTRYNAMEA RASENTRYNAME;
//static if (_WIN32_WINNT >= 0x401) {
alias RASSUBENTRYA RASSUBENTRY;
alias RASCREDENTIALSA RASCREDENTIALS;
alias RASAUTODIALENTRYA RASAUTODIALENTRY;
//}
//static if (_WIN32_WINNT >= 0x500) {
alias RASEAPUSERIDENTITYA RASEAPUSERIDENTITY;
//}
}// ! UNICODE
alias RASCONN* LPRASCONN;
alias RASENTRY* LPRASENTRY;
alias RASCONNSTATUS* LPRASCONNSTATUS;
alias RASDIALPARAMS* LPRASDIALPARAMS;
alias RASAMB* LPRASAM;
alias RASPPPNBF* LPRASPPPNBF;
alias RASPPPIPX* LPRASPPPIPX;
alias RASPPPIP* LPRASPPPIP;
alias RASPPPLCP* LPRASPPPLCP;
alias RASSLIP* LPRASSLIP;
alias RASDEVINFO* LPRASDEVINFO;
alias RASENTRYNAME* LPRASENTRYNAME;
//static if (_WIN32_WINNT >= 0x401) {
alias RASSUBENTRY* LPRASSUBENTRY;
alias RASCREDENTIALS* LPRASCREDENTIALS;
alias RASAUTODIALENTRY* LPRASAUTODIALENTRY;
//}
//static if (_WIN32_WINNT >= 0x500) {
alias RASEAPUSERIDENTITY* LPRASEAPUSERIDENTITY;
//}
/* Callback prototypes */
extern (Windows) { /* WINAPI */
deprecated {
alias BOOL function (HWND, LPSTR, DWORD, LPDWORD) ORASADFUNC;
}
alias void function (UINT, RASCONNSTATE, DWORD) RASDIALFUNC;
alias void function(HRASCONN, UINT, RASCONNSTATE, DWORD, DWORD) RASDIALFUNC1;
alias DWORD function (ULONG_PTR, DWORD, HRASCONN, UINT,
RASCONNSTATE, DWORD, DWORD) RASDIALFUNC2;
/* External functions */
DWORD RasDialA(LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA, DWORD, LPVOID, LPHRASCONN);
DWORD RasDialW(LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW, DWORD, LPVOID, LPHRASCONN);
DWORD RasEnumConnectionsA(LPRASCONNA, LPDWORD, LPDWORD);
DWORD RasEnumConnectionsW(LPRASCONNW, LPDWORD, LPDWORD);
DWORD RasEnumEntriesA(LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD, LPDWORD);
DWORD RasEnumEntriesW(LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD, LPDWORD);
DWORD RasGetConnectStatusA(HRASCONN, LPRASCONNSTATUSA);
DWORD RasGetConnectStatusW(HRASCONN, LPRASCONNSTATUSW);
DWORD RasGetErrorStringA(UINT, LPSTR, DWORD);
DWORD RasGetErrorStringW(UINT, LPWSTR, DWORD);
DWORD RasHangUpA(HRASCONN);
DWORD RasHangUpW(HRASCONN);
DWORD RasGetProjectionInfoA(HRASCONN, RASPROJECTION, LPVOID, LPDWORD);
DWORD RasGetProjectionInfoW(HRASCONN, RASPROJECTION, LPVOID, LPDWORD);
DWORD RasCreatePhonebookEntryA(HWND, LPCSTR);
DWORD RasCreatePhonebookEntryW(HWND, LPCWSTR);
DWORD RasEditPhonebookEntryA(HWND, LPCSTR, LPCSTR);
DWORD RasEditPhonebookEntryW(HWND, LPCWSTR, LPCWSTR);
DWORD RasSetEntryDialParamsA(LPCSTR, LPRASDIALPARAMSA, BOOL);
DWORD RasSetEntryDialParamsW(LPCWSTR, LPRASDIALPARAMSW, BOOL);
DWORD RasGetEntryDialParamsA(LPCSTR, LPRASDIALPARAMSA, LPBOOL);
DWORD RasGetEntryDialParamsW(LPCWSTR, LPRASDIALPARAMSW, LPBOOL);
DWORD RasEnumDevicesA(LPRASDEVINFOA, LPDWORD, LPDWORD);
DWORD RasEnumDevicesW(LPRASDEVINFOW, LPDWORD, LPDWORD);
DWORD RasGetCountryInfoA(LPRASCTRYINFOA, LPDWORD);
DWORD RasGetCountryInfoW(LPRASCTRYINFOW, LPDWORD);
DWORD RasGetEntryPropertiesA(LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD, LPBYTE, LPDWORD);
DWORD RasGetEntryPropertiesW(LPCWSTR, LPCWSTR, LPRASENTRYW, LPDWORD, LPBYTE, LPDWORD);
DWORD RasSetEntryPropertiesA(LPCSTR, LPCSTR, LPRASENTRYA, DWORD, LPBYTE, DWORD);
DWORD RasSetEntryPropertiesW(LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD, LPBYTE, DWORD);
DWORD RasRenameEntryA(LPCSTR, LPCSTR, LPCSTR);
DWORD RasRenameEntryW(LPCWSTR, LPCWSTR, LPCWSTR);
DWORD RasDeleteEntryA(LPCSTR, LPCSTR);
DWORD RasDeleteEntryW(LPCWSTR, LPCWSTR);
DWORD RasValidateEntryNameA(LPCSTR, LPCSTR);
DWORD RasValidateEntryNameW(LPCWSTR, LPCWSTR);
//static if (_WIN32_WINNT >= 0x401) {
alias BOOL function(LPSTR, LPSTR, LPRASADPARAMS, LPDWORD) RASADFUNCA;
alias BOOL function(LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD) RASADFUNCW;
DWORD RasGetSubEntryHandleA(HRASCONN, DWORD, LPHRASCONN);
DWORD RasGetSubEntryHandleW(HRASCONN, DWORD, LPHRASCONN);
DWORD RasGetCredentialsA(LPCSTR, LPCSTR, LPRASCREDENTIALSA);
DWORD RasGetCredentialsW(LPCWSTR, LPCWSTR, LPRASCREDENTIALSW);
DWORD RasSetCredentialsA(LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL);
DWORD RasSetCredentialsW(LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL);
DWORD RasConnectionNotificationA(HRASCONN, HANDLE, DWORD);
DWORD RasConnectionNotificationW(HRASCONN, HANDLE, DWORD);
DWORD RasGetSubEntryPropertiesA(LPCSTR, LPCSTR, DWORD, LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD);
DWORD RasGetSubEntryPropertiesW(LPCWSTR, LPCWSTR, DWORD, LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD);
DWORD RasSetSubEntryPropertiesA(LPCSTR, LPCSTR, DWORD, LPRASSUBENTRYA, DWORD, LPBYTE, DWORD);
DWORD RasSetSubEntryPropertiesW(LPCWSTR, LPCWSTR, DWORD, LPRASSUBENTRYW, DWORD, LPBYTE, DWORD);
DWORD RasGetAutodialAddressA(LPCSTR, LPDWORD, LPRASAUTODIALENTRYA, LPDWORD, LPDWORD);
DWORD RasGetAutodialAddressW(LPCWSTR, LPDWORD, LPRASAUTODIALENTRYW, LPDWORD, LPDWORD);
DWORD RasSetAutodialAddressA(LPCSTR, DWORD, LPRASAUTODIALENTRYA, DWORD, DWORD);
DWORD RasSetAutodialAddressW(LPCWSTR, DWORD, LPRASAUTODIALENTRYW, DWORD, DWORD);
DWORD RasEnumAutodialAddressesA(LPSTR*, LPDWORD, LPDWORD);
DWORD RasEnumAutodialAddressesW(LPWSTR*, LPDWORD, LPDWORD);
DWORD RasGetAutodialEnableA(DWORD, LPBOOL);
DWORD RasGetAutodialEnableW(DWORD, LPBOOL);
DWORD RasSetAutodialEnableA(DWORD, BOOL);
DWORD RasSetAutodialEnableW(DWORD, BOOL);
DWORD RasGetAutodialParamA(DWORD, LPVOID, LPDWORD);
DWORD RasGetAutodialParamW(DWORD, LPVOID, LPDWORD);
DWORD RasSetAutodialParamA(DWORD, LPVOID, DWORD);
DWORD RasSetAutodialParamW(DWORD, LPVOID, DWORD);
//}
static if (_WIN32_WINNT >= 0x500) {
alias DWORD function(HRASCONN) RasCustomHangUpFn;
alias DWORD function(LPCTSTR, LPCTSTR, DWORD) RasCustomDeleteEntryNotifyFn;
alias DWORD function(HINSTANCE, LPRASDIALEXTENSIONS, LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID,
LPHRASCONN, DWORD) RasCustomDialFn;
DWORD RasInvokeEapUI(HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND);
DWORD RasGetLinkStatistics(HRASCONN, DWORD, RAS_STATS*);
DWORD RasGetConnectionStatistics(HRASCONN, RAS_STATS*);
DWORD RasClearLinkStatistics(HRASCONN, DWORD);
DWORD RasClearConnectionStatistics(HRASCONN);
DWORD RasGetEapUserDataA(HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD*);
DWORD RasGetEapUserDataW(HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD*);
DWORD RasSetEapUserDataA(HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD);
DWORD RasSetEapUserDataW(HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD);
DWORD RasGetCustomAuthDataA(LPCSTR, LPCSTR, BYTE*, DWORD*);
DWORD RasGetCustomAuthDataW(LPCWSTR, LPCWSTR, BYTE*, DWORD*);
DWORD RasSetCustomAuthDataA(LPCSTR, LPCSTR, BYTE*, DWORD);
DWORD RasSetCustomAuthDataW(LPCWSTR, LPCWSTR, BYTE*, DWORD);
DWORD RasGetEapUserIdentityW(LPCWSTR, LPCWSTR, DWORD, HWND, LPRASEAPUSERIDENTITYW*);
DWORD RasGetEapUserIdentityA(LPCSTR, LPCSTR, DWORD, HWND, LPRASEAPUSERIDENTITYA*);
void RasFreeEapUserIdentityW(LPRASEAPUSERIDENTITYW);
void RasFreeEapUserIdentityA(LPRASEAPUSERIDENTITYA);
}
} // extern (Windows)
/* UNICODE defines for functions */
version (Unicode) {
alias RasDialW RasDial;
alias RasEnumConnectionsW RasEnumConnections;
alias RasEnumEntriesW RasEnumEntries;
alias RasGetConnectStatusW RasGetConnectStatus;
alias RasGetErrorStringW RasGetErrorString;
alias RasHangUpW RasHangUp;
alias RasGetProjectionInfoW RasGetProjectionInfo;
alias RasCreatePhonebookEntryW RasCreatePhonebookEntry;
alias RasEditPhonebookEntryW RasEditPhonebookEntry;
alias RasSetEntryDialParamsW RasSetEntryDialParams;
alias RasGetEntryDialParamsW RasGetEntryDialParams;
alias RasEnumDevicesW RasEnumDevices;
alias RasGetCountryInfoW RasGetCountryInfo;
alias RasGetEntryPropertiesW RasGetEntryProperties;
alias RasSetEntryPropertiesW RasSetEntryProperties;
alias RasRenameEntryW RasRenameEntry;
alias RasDeleteEntryW RasDeleteEntry;
alias RasValidateEntryNameW RasValidateEntryName;
//static if (_WIN32_WINNT >= 0x401) {
alias RASADFUNCW RASADFUNC;
alias RasGetSubEntryHandleW RasGetSubEntryHandle;
alias RasConnectionNotificationW RasConnectionNotification;
alias RasGetSubEntryPropertiesW RasGetSubEntryProperties;
alias RasSetSubEntryPropertiesW RasSetSubEntryProperties;
alias RasGetCredentialsW RasGetCredentials;
alias RasSetCredentialsW RasSetCredentials;
alias RasGetAutodialAddressW RasGetAutodialAddress;
alias RasSetAutodialAddressW RasSetAutodialAddress;
alias RasEnumAutodialAddressesW RasEnumAutodialAddresses;
alias RasGetAutodialEnableW RasGetAutodialEnable;
alias RasSetAutodialEnableW RasSetAutodialEnable;
alias RasGetAutodialParamW RasGetAutodialParam;
alias RasSetAutodialParamW RasSetAutodialParam;
//}
//static if (_WIN32_WINNT >= 0x500) {
alias RasGetEapUserDataW RasGetEapUserData;
alias RasSetEapUserDataW RasSetEapUserData;
alias RasGetCustomAuthDataW RasGetCustomAuthData;
alias RasSetCustomAuthDataW RasSetCustomAuthData;
alias RasGetEapUserIdentityW RasGetEapUserIdentity;
alias RasFreeEapUserIdentityW RasFreeEapUserIdentity;
//}
} else { // !Unicode
alias RasDialA RasDial;
alias RasEnumConnectionsA RasEnumConnections;
alias RasEnumEntriesA RasEnumEntries;
alias RasGetConnectStatusA RasGetConnectStatus;
alias RasGetErrorStringA RasGetErrorString;
alias RasHangUpA RasHangUp;
alias RasGetProjectionInfoA RasGetProjectionInfo;
alias RasCreatePhonebookEntryA RasCreatePhonebookEntry;
alias RasEditPhonebookEntryA RasEditPhonebookEntry;
alias RasSetEntryDialParamsA RasSetEntryDialParams;
alias RasGetEntryDialParamsA RasGetEntryDialParams;
alias RasEnumDevicesA RasEnumDevices;
alias RasGetCountryInfoA RasGetCountryInfo;
alias RasGetEntryPropertiesA RasGetEntryProperties;
alias RasSetEntryPropertiesA RasSetEntryProperties;
alias RasRenameEntryA RasRenameEntry;
alias RasDeleteEntryA RasDeleteEntry;
alias RasValidateEntryNameA RasValidateEntryName;
//static if (_WIN32_WINNT >= 0x401) {
alias RASADFUNCA RASADFUNC;
alias RasGetSubEntryHandleA RasGetSubEntryHandle;
alias RasConnectionNotificationA RasConnectionNotification;
alias RasGetSubEntryPropertiesA RasGetSubEntryProperties;
alias RasSetSubEntryPropertiesA RasSetSubEntryProperties;
alias RasGetCredentialsA RasGetCredentials;
alias RasSetCredentialsA RasSetCredentials;
alias RasGetAutodialAddressA RasGetAutodialAddress;
alias RasSetAutodialAddressA RasSetAutodialAddress;
alias RasEnumAutodialAddressesA RasEnumAutodialAddresses;
alias RasGetAutodialEnableA RasGetAutodialEnable;
alias RasSetAutodialEnableA RasSetAutodialEnable;
alias RasGetAutodialParamA RasGetAutodialParam;
alias RasSetAutodialParamA RasSetAutodialParam;
//}
//static if (_WIN32_WINNT >= 0x500) {
alias RasGetEapUserDataA RasGetEapUserData;
alias RasSetEapUserDataA RasSetEapUserData;
alias RasGetCustomAuthDataA RasGetCustomAuthData;
alias RasSetCustomAuthDataA RasSetCustomAuthData;
alias RasGetEapUserIdentityA RasGetEapUserIdentity;
alias RasFreeEapUserIdentityA RasFreeEapUserIdentity;
//}
} //#endif // !Unicode