|
|
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.