|
|
1.1 ! root 1: //**************************************************************************** ! 2: // ! 3: // Microsoft NT Remote Access Service ! 4: // ! 5: // Copyright 1992-93 ! 6: // ! 7: // ! 8: // Revision History ! 9: // ! 10: // ! 11: // 5/26/92 Gurdeep Singh Pall Created ! 12: // ! 13: // ! 14: // Description: This file contains all structure and constant definitions for ! 15: // RAS Manager Component. ! 16: // ! 17: //**************************************************************************** ! 18: ! 19: ! 20: #ifndef _RASMAN_ ! 21: #define _RASMAN_ ! 22: ! 23: #include <windows.h> ! 24: ! 25: #define WM_RASAPICOMPLETE 0xCCCC // From the "user" window msg range ! 26: ! 27: #define RASMAN_SERVICE_NAME "RASMAN" ! 28: ! 29: #define MAX_MEDIA_NAME 16 ! 30: #define MAX_PORT_NAME 16 ! 31: #define MAX_USERKEY_SIZE 132 ! 32: #define MAX_DEVICE_NAME 32 ! 33: #define MAX_DEVICETYPE_NAME 16 ! 34: #define MAX_PARAM_KEY_SIZE 32 ! 35: #define MAX_XPORT_NAME 128 // ?? ! 36: #define MAX_IDENTIFIER_SIZE 32 ! 37: #define MAX_STAT_NAME 32 ! 38: #define MAX_CHALLENGE_SIZE 8 ! 39: #define MAX_RESPONSE_SIZE 24 ! 40: #define MAX_USERNAME_SIZE 256 ! 41: #define MAX_LAN_NETS 16 ! 42: ! 43: typedef DWORD HPORT ; ! 44: ! 45: enum RASMAN_STATUS { ! 46: ! 47: OPEN = 0, ! 48: ! 49: CLOSED = 1, ! 50: ! 51: UNKNOWN = 2 ! 52: } ; ! 53: ! 54: typedef enum RASMAN_STATUS RASMAN_STATUS ; ! 55: ! 56: ! 57: enum RASMAN_USAGE { ! 58: ! 59: CALL_IN = 0, ! 60: ! 61: CALL_OUT = 1, ! 62: ! 63: CALL_IN_OUT = 2, ! 64: ! 65: CALL_NONE = 3 ! 66: ! 67: } ; ! 68: ! 69: typedef enum RASMAN_USAGE RASMAN_USAGE ; ! 70: ! 71: ! 72: enum RAS_FORMAT { ! 73: ! 74: Number = 0, ! 75: ! 76: String = 1 ! 77: ! 78: } ; ! 79: ! 80: typedef enum RAS_FORMAT RAS_FORMAT ; ! 81: ! 82: ! 83: union RAS_VALUE { ! 84: ! 85: DWORD Number ; ! 86: ! 87: struct { ! 88: DWORD Length ; ! 89: PCHAR Data ; ! 90: } String ; ! 91: } ; ! 92: ! 93: typedef union RAS_VALUE RAS_VALUE ; ! 94: ! 95: ! 96: ! 97: enum RASMAN_STATE { ! 98: ! 99: CONNECTING = 0, ! 100: ! 101: LISTENING = 1, ! 102: ! 103: CONNECTED = 2, ! 104: ! 105: DISCONNECTING = 3, ! 106: ! 107: DISCONNECTED = 4 ! 108: ! 109: } ; ! 110: ! 111: typedef enum RASMAN_STATE RASMAN_STATE ; ! 112: ! 113: ! 114: enum RASMAN_DISCONNECT_REASON { ! 115: ! 116: USER_REQUESTED = 0, ! 117: ! 118: REMOTE_DISCONNECTION= 1, ! 119: ! 120: HARDWARE_FAILURE = 2, ! 121: ! 122: NOT_DISCONNECTED = 3 ! 123: } ; ! 124: ! 125: typedef enum RASMAN_DISCONNECT_REASON RASMAN_DISCONNECT_REASON ; ! 126: ! 127: ! 128: struct RAS_PARAMS { ! 129: ! 130: CHAR P_Key [MAX_PARAM_KEY_SIZE] ; ! 131: ! 132: RAS_FORMAT P_Type ; ! 133: ! 134: BYTE P_Attributes ; ! 135: ! 136: RAS_VALUE P_Value ; ! 137: ! 138: } ; ! 139: ! 140: typedef struct RAS_PARAMS RAS_PARAMS ; ! 141: ! 142: ! 143: struct RASMAN_PORT { ! 144: ! 145: HPORT P_Handle ; ! 146: ! 147: CHAR P_PortName [MAX_PORT_NAME] ; ! 148: ! 149: RASMAN_STATUS P_Status ; ! 150: ! 151: RASMAN_USAGE P_ConfiguredUsage ; ! 152: ! 153: RASMAN_USAGE P_CurrentUsage ; ! 154: ! 155: CHAR P_UserKey [MAX_USERKEY_SIZE] ; ! 156: ! 157: CHAR P_Identifier[MAX_IDENTIFIER_SIZE] ; ! 158: ! 159: CHAR P_MediaName [MAX_MEDIA_NAME] ; ! 160: ! 161: CHAR P_DeviceType[MAX_DEVICETYPE_NAME] ; ! 162: ! 163: CHAR P_DeviceName[MAX_DEVICE_NAME] ; ! 164: ! 165: } ; ! 166: ! 167: typedef struct RASMAN_PORT RASMAN_PORT ; ! 168: ! 169: ! 170: struct RASMAN_PORTINFO { ! 171: ! 172: WORD PI_NumOfParams ; ! 173: ! 174: RAS_PARAMS PI_Params[1] ; ! 175: ! 176: } ; ! 177: ! 178: typedef struct RASMAN_PORTINFO RASMAN_PORTINFO ; ! 179: ! 180: ! 181: struct RASMAN_DEVICE { ! 182: ! 183: CHAR D_Name [MAX_DEVICE_NAME] ; ! 184: ! 185: } ; ! 186: ! 187: typedef struct RASMAN_DEVICE RASMAN_DEVICE ; ! 188: ! 189: ! 190: struct RASMAN_DEVICEINFO { ! 191: ! 192: WORD DI_NumOfParams ; ! 193: ! 194: RAS_PARAMS DI_Params[1] ; ! 195: ! 196: } ; ! 197: ! 198: typedef struct RASMAN_DEVICEINFO RASMAN_DEVICEINFO ; ! 199: ! 200: ! 201: ! 202: enum RAS_PROTOCOLTYPE { ! 203: ! 204: ASYBEUI = 0x80D5, ! 205: ! 206: IPX = 0x8138, ! 207: ! 208: IP = 0x0800, ! 209: ! 210: ARP = 0x0806, ! 211: ! 212: APPLETALK = 0x80F3, ! 213: ! 214: XNS = 0x0600, ! 215: ! 216: RASAUTH = 0x8FFF, ! 217: ! 218: INVALID_TYPE= 0x2222 ! 219: } ; ! 220: typedef enum RAS_PROTOCOLTYPE RAS_PROTOCOLTYPE ; ! 221: ! 222: ! 223: struct RASMAN_PROTOCOLINFO { ! 224: ! 225: CHAR PI_XportName [MAX_XPORT_NAME] ; ! 226: ! 227: RAS_PROTOCOLTYPE PI_Type ; ! 228: ! 229: } ; ! 230: ! 231: typedef struct RASMAN_PROTOCOLINFO RASMAN_PROTOCOLINFO ; ! 232: ! 233: struct RASMAN_ROUTEINFO { ! 234: ! 235: BYTE RI_LanaNum ; ! 236: ! 237: WCHAR RI_XportName [MAX_XPORT_NAME] ; ! 238: ! 239: } ; ! 240: ! 241: typedef struct RASMAN_ROUTEINFO RASMAN_ROUTEINFO ; ! 242: ! 243: struct RASMAN_INFO { ! 244: ! 245: RASMAN_STATUS RI_PortStatus ; ! 246: ! 247: RASMAN_STATE RI_ConnState ; ! 248: ! 249: DWORD RI_LastError ; ! 250: ! 251: RASMAN_USAGE RI_CurrentUsage ; ! 252: ! 253: CHAR RI_DeviceTypeConnecting [MAX_DEVICETYPE_NAME] ; ! 254: ! 255: CHAR RI_DeviceConnecting [MAX_DEVICE_NAME] ; ! 256: ! 257: RASMAN_DISCONNECT_REASON RI_DisconnectReason ; ! 258: ! 259: DWORD RI_OwnershipFlag ; ! 260: ! 261: CHAR RI_Identifier [MAX_IDENTIFIER_SIZE] ; ! 262: ! 263: DWORD RI_ConnectDuration ; ! 264: } ; ! 265: ! 266: typedef struct RASMAN_INFO RASMAN_INFO ; ! 267: ! 268: ! 269: ! 270: struct RAS_STATISTICS { ! 271: ! 272: WORD S_NumOfStatistics ; ! 273: ! 274: ULONG S_Statistics[1] ; ! 275: ! 276: } ; ! 277: ! 278: typedef struct RAS_STATISTICS RAS_STATISTICS ; ! 279: ! 280: ! 281: struct RASMAN_MACFEATURES { ! 282: ! 283: ULONG SendFeatureBits; // A bit field of compression/features sendable ! 284: ! 285: ULONG RecvFeatureBits; // A bit field of compression/features receivable ! 286: ! 287: ULONG MaxSendFrameSize; // Maximum frame size that can be sent ! 288: // must be less than or equal to default ! 289: ULONG MaxRecvFrameSize; // Maximum frame size that can be rcvd ! 290: // must be less than or equal to default ! 291: ULONG LinkSpeed ; ! 292: }; ! 293: ! 294: typedef struct RASMAN_MACFEATURES RASMAN_MACFEATURES ; ! 295: ! 296: ! 297: ! 298: //* RAS Manager entrypoint Prototypes ! 299: // ! 300: ! 301: DWORD APIENTRY RasPortOpen(PCHAR, PCHAR, PCHAR, HPORT*, HANDLE); ! 302: ! 303: DWORD APIENTRY RasPortClose(HPORT); ! 304: ! 305: DWORD APIENTRY RasPortEnum(PBYTE, PWORD, PWORD); ! 306: ! 307: DWORD APIENTRY RasPortGetInfo(HPORT, PBYTE, PWORD); ! 308: ! 309: DWORD APIENTRY RasPortSetInfo(HPORT, RASMAN_PORTINFO*); ! 310: ! 311: DWORD APIENTRY RasPortDisconnect(HPORT, HANDLE); ! 312: ! 313: DWORD APIENTRY RasPortSend(HPORT, PBYTE, WORD); ! 314: ! 315: DWORD APIENTRY RasPortReceive(HPORT, PBYTE, PWORD, DWORD, HANDLE); ! 316: ! 317: DWORD APIENTRY RasPortListen(HPORT, DWORD, HANDLE); ! 318: ! 319: DWORD APIENTRY RasPortConnectComplete(HPORT); ! 320: ! 321: DWORD APIENTRY RasPortGetStatistics(HPORT, PBYTE, PWORD); ! 322: ! 323: DWORD APIENTRY RasPortClearStatistics(HPORT); ! 324: ! 325: DWORD APIENTRY RasDeviceEnum(PCHAR, PBYTE, PWORD, PWORD); ! 326: ! 327: DWORD APIENTRY RasDeviceGetInfo(HPORT, PCHAR, PCHAR, PBYTE, PWORD); ! 328: ! 329: DWORD APIENTRY RasDeviceSetInfo(HPORT, PCHAR, PCHAR, RASMAN_DEVICEINFO*); ! 330: ! 331: DWORD APIENTRY RasDeviceConnect(HPORT, PCHAR, PCHAR, DWORD, HANDLE); ! 332: ! 333: DWORD APIENTRY RasGetInfo(HPORT, RASMAN_INFO*); ! 334: ! 335: DWORD APIENTRY RasGetBuffer(PBYTE*, PWORD); ! 336: ! 337: DWORD APIENTRY RasFreeBuffer(PBYTE); ! 338: ! 339: DWORD APIENTRY RasProtocolEnum(PBYTE, PWORD, PWORD); ! 340: ! 341: DWORD APIENTRY RasAllocateRoute(HPORT, RAS_PROTOCOLTYPE, BOOL, RASMAN_ROUTEINFO*); ! 342: ! 343: DWORD APIENTRY RasActivateRoute(HPORT, RAS_PROTOCOLTYPE, RASMAN_ROUTEINFO*); ! 344: ! 345: DWORD APIENTRY RasDeAllocateRoute(HPORT, RAS_PROTOCOLTYPE); ! 346: ! 347: DWORD APIENTRY RasCompressionGetInfo(HPORT, RASMAN_MACFEATURES*); ! 348: ! 349: DWORD APIENTRY RasCompressionSetInfo(HPORT, RASMAN_MACFEATURES*); ! 350: ! 351: DWORD APIENTRY RasGetUserCredentials(PBYTE, PLUID, PWCHAR, PBYTE, PBYTE) ; ! 352: ! 353: DWORD APIENTRY RasRequestNotification (HPORT, HANDLE) ; ! 354: ! 355: DWORD APIENTRY RasEnumLanNets (DWORD *, UCHAR *) ; ! 356: ! 357: DWORD APIENTRY RasInitialize () ; ! 358: ! 359: DWORD _RasmanInit(); ! 360: ! 361: VOID _RasmanEngine(); ! 362: ! 363: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.