|
|
1.1 ! root 1: /* Copyright (c) 1992, Microsoft Corporation, all rights reserved ! 2: ** ! 3: ** ras.h ! 4: ** Remote Access external API ! 5: ** Public header for external API clients ! 6: */ ! 7: ! 8: #ifndef _RAS_H_ ! 9: #define _RAS_H_ ! 10: ! 11: #ifdef __cplusplus ! 12: extern "C" { ! 13: #endif ! 14: ! 15: #ifndef UNLEN ! 16: #include <lmcons.h> ! 17: #endif ! 18: ! 19: ! 20: #define RAS_MaxEntryName 20 ! 21: #define RAS_MaxDeviceName 32 ! 22: #define RAS_MaxDeviceType 16 ! 23: #define RAS_MaxParamKey 32 ! 24: #define RAS_MaxParamValue 128 ! 25: #define RAS_MaxPhoneNumber 128 ! 26: #define RAS_MaxCallbackNumber 48 ! 27: ! 28: ! 29: DECLARE_HANDLE( HRASCONN ); ! 30: #define LPHRASCONN HRASCONN* ! 31: ! 32: ! 33: /* Identifies an active RAS connection. (See RasEnumConnections) ! 34: */ ! 35: #define RASCONNW struct tagRASCONNW ! 36: ! 37: RASCONNW ! 38: { ! 39: DWORD dwSize; ! 40: HRASCONN hrasconn; ! 41: WCHAR szEntryName[ RAS_MaxEntryName + 1 ]; ! 42: }; ! 43: ! 44: #define RASCONNA struct tagRASCONNA ! 45: ! 46: RASCONNA ! 47: { ! 48: DWORD dwSize; ! 49: HRASCONN hrasconn; ! 50: CHAR szEntryName[ RAS_MaxEntryName + 1 ]; ! 51: }; ! 52: ! 53: #ifdef UNICODE ! 54: #define RASCONN RASCONNW ! 55: #else ! 56: #define RASCONN RASCONNA ! 57: #endif ! 58: ! 59: #define LPRASCONNW RASCONNW* ! 60: #define LPRASCONNA RASCONNA* ! 61: #define LPRASCONN RASCONN* ! 62: ! 63: ! 64: /* Enumerates intermediate states to a connection. (See RasDial) ! 65: */ ! 66: #define RASCS_PAUSED 0x1000 ! 67: #define RASCS_DONE 0x2000 ! 68: ! 69: #define RASCONNSTATE enum tagRASCONNSTATE ! 70: ! 71: RASCONNSTATE ! 72: { ! 73: RASCS_OpenPort = 0, ! 74: RASCS_PortOpened, ! 75: RASCS_ConnectDevice, ! 76: RASCS_DeviceConnected, ! 77: RASCS_AllDevicesConnected, ! 78: RASCS_Authenticate, ! 79: RASCS_AuthNotify, ! 80: RASCS_AuthRetry, ! 81: RASCS_AuthCallback, ! 82: RASCS_AuthChangePassword, ! 83: RASCS_AuthProject, ! 84: RASCS_AuthLinkSpeed, ! 85: RASCS_AuthAck, ! 86: RASCS_ReAuthenticate, ! 87: RASCS_Authenticated, ! 88: RASCS_PrepareForCallback, ! 89: RASCS_WaitForModemReset, ! 90: RASCS_WaitForCallback, ! 91: ! 92: RASCS_Interactive = RASCS_PAUSED, ! 93: RASCS_RetryAuthentication, ! 94: RASCS_CallbackSetByCaller, ! 95: RASCS_PasswordExpired, ! 96: ! 97: RASCS_Connected = RASCS_DONE, ! 98: RASCS_Disconnected ! 99: }; ! 100: ! 101: #define LPRASCONNSTATE RASCONNSTATE* ! 102: ! 103: ! 104: /* Describes the status of a RAS connection. (See RasConnectionStatus) ! 105: */ ! 106: #define RASCONNSTATUSW struct tagRASCONNSTATUSW ! 107: ! 108: RASCONNSTATUSW ! 109: { ! 110: DWORD dwSize; ! 111: RASCONNSTATE rasconnstate; ! 112: DWORD dwError; ! 113: WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ]; ! 114: WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ]; ! 115: }; ! 116: ! 117: #define RASCONNSTATUSA struct tagRASCONNSTATUSA ! 118: ! 119: RASCONNSTATUSA ! 120: { ! 121: DWORD dwSize; ! 122: RASCONNSTATE rasconnstate; ! 123: DWORD dwError; ! 124: CHAR szDeviceType[ RAS_MaxDeviceType + 1 ]; ! 125: CHAR szDeviceName[ RAS_MaxDeviceName + 1 ]; ! 126: }; ! 127: ! 128: #ifdef UNICODE ! 129: #define RASCONNSTATUS RASCONNSTATUSW ! 130: #else ! 131: #define RASCONNSTATUS RASCONNSTATUSA ! 132: #endif ! 133: ! 134: #define LPRASCONNSTATUSW RASCONNSTATUSW* ! 135: #define LPRASCONNSTATUSA RASCONNSTATUSA* ! 136: #define LPRASCONNSTATUS RASCONNSTATUS* ! 137: ! 138: ! 139: /* Describes connection establishment parameters. (See RasDial) ! 140: */ ! 141: #define RASDIALPARAMSW struct tagRASDIALPARAMSW ! 142: ! 143: RASDIALPARAMSW ! 144: { ! 145: DWORD dwSize; ! 146: WCHAR szEntryName[ RAS_MaxEntryName + 1 ]; ! 147: WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; ! 148: WCHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ]; ! 149: WCHAR szUserName[ UNLEN + 1 ]; ! 150: WCHAR szPassword[ PWLEN + 1 ]; ! 151: WCHAR szDomain[ DNLEN + 1 ]; ! 152: }; ! 153: ! 154: #define RASDIALPARAMSA struct tagRASDIALPARAMSA ! 155: ! 156: RASDIALPARAMSA ! 157: { ! 158: DWORD dwSize; ! 159: CHAR szEntryName[ RAS_MaxEntryName + 1 ]; ! 160: CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; ! 161: CHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ]; ! 162: CHAR szUserName[ UNLEN + 1 ]; ! 163: CHAR szPassword[ PWLEN + 1 ]; ! 164: CHAR szDomain[ DNLEN + 1 ]; ! 165: }; ! 166: ! 167: #ifdef UNICODE ! 168: #define RASDIALPARAMS RASDIALPARAMSW ! 169: #else ! 170: #define RASDIALPARAMS RASDIALPARAMSA ! 171: #endif ! 172: ! 173: #define LPRASDIALPARAMSW RASDIALPARAMSW* ! 174: #define LPRASDIALPARAMSA RASDIALPARAMSA* ! 175: #define LPRASDIALPARAMS RASDIALPARAMS* ! 176: ! 177: ! 178: /* Describes an enumerated RAS phone book entry name. (See RasEntryEnum) ! 179: */ ! 180: #define RASENTRYNAMEW struct tagRASENTRYNAMEW ! 181: ! 182: RASENTRYNAMEW ! 183: { ! 184: DWORD dwSize; ! 185: WCHAR szEntryName[ RAS_MaxEntryName + 1 ]; ! 186: }; ! 187: ! 188: #define RASENTRYNAMEA struct tagRASENTRYNAMEA ! 189: ! 190: RASENTRYNAMEA ! 191: { ! 192: DWORD dwSize; ! 193: CHAR szEntryName[ RAS_MaxEntryName + 1 ]; ! 194: }; ! 195: ! 196: #ifdef UNICODE ! 197: #define RASENTRYNAME RASENTRYNAMEW ! 198: #else ! 199: #define RASENTRYNAME RASENTRYNAMEA ! 200: #endif ! 201: ! 202: #define LPRASENTRYNAMEW RASENTRYNAMEW* ! 203: #define LPRASENTRYNAMEA RASENTRYNAMEA* ! 204: #define LPRASENTRYNAME RASENTRYNAME* ! 205: ! 206: ! 207: /* Prototype for caller's RasDial callback handler. Arguments are the message ! 208: ** ID (currently always WM_RASDIALEVENT), the current RASCONNSTATE and the ! 209: ** error that has occurred (or 0 if none). ! 210: */ ! 211: #define WM_RASDIALEVENT 0xCCCD ! 212: typedef VOID (WINAPI *RASDIALFUNC)( UINT, RASCONNSTATE, DWORD ); ! 213: ! 214: ! 215: /* External RAS API function prototypes. ! 216: */ ! 217: DWORD APIENTRY RasDialA( LPSTR, LPSTR, LPRASDIALPARAMSA, LPVOID, RASDIALFUNC, ! 218: LPHRASCONN ); ! 219: ! 220: DWORD APIENTRY RasDialW( LPWSTR, LPWSTR, LPRASDIALPARAMSW, LPVOID, RASDIALFUNC, ! 221: LPHRASCONN ); ! 222: ! 223: DWORD APIENTRY RasEnumConnectionsA( LPRASCONNA, LPDWORD, LPDWORD ); ! 224: ! 225: DWORD APIENTRY RasEnumConnectionsW( LPRASCONNW, LPDWORD, LPDWORD ); ! 226: ! 227: DWORD APIENTRY RasEnumEntriesA( LPSTR, LPSTR, LPRASENTRYNAMEA, LPDWORD, ! 228: LPDWORD ); ! 229: ! 230: DWORD APIENTRY RasEnumEntriesW( LPWSTR, LPWSTR, LPRASENTRYNAMEW, LPDWORD, ! 231: LPDWORD ); ! 232: ! 233: DWORD APIENTRY RasGetConnectStatusA( HRASCONN, LPRASCONNSTATUSA ); ! 234: ! 235: DWORD APIENTRY RasGetConnectStatusW( HRASCONN, LPRASCONNSTATUSW ); ! 236: ! 237: DWORD APIENTRY RasGetErrorStringA( UINT, LPSTR, DWORD ); ! 238: ! 239: DWORD APIENTRY RasGetErrorStringW( UINT, LPWSTR, DWORD ); ! 240: ! 241: DWORD APIENTRY RasHangUpA( HRASCONN ); ! 242: ! 243: DWORD APIENTRY RasHangUpW( HRASCONN ); ! 244: ! 245: ! 246: #ifdef UNICODE ! 247: #define RasDial RasDialW ! 248: #define RasEnumConnections RasEnumConnectionsW ! 249: #define RasEnumEntries RasEnumEntriesW ! 250: #define RasGetConnectStatus RasGetConnectStatusW ! 251: #define RasGetErrorString RasGetErrorStringW ! 252: #define RasHangUp RasHangUpW ! 253: #else ! 254: #define RasDial RasDialA ! 255: #define RasEnumConnections RasEnumConnectionsA ! 256: #define RasEnumEntries RasEnumEntriesA ! 257: #define RasGetConnectStatus RasGetConnectStatusA ! 258: #define RasGetErrorString RasGetErrorStringA ! 259: #define RasHangUp RasHangUpA ! 260: #endif ! 261: ! 262: #ifdef __cplusplus ! 263: } ! 264: #endif ! 265: ! 266: #endif // _RAS_H_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.