source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/rassapi.h@ 1194

Last change on this file since 1194 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 6.3 KB
RevLine 
[1166]1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _RASSAPI_H_
7#define _RASSAPI_H_
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#if 1
14
15#ifndef UNLEN
16#include <lmcons.h>
17#endif
18
19#define RASSAPI_MAX_PHONENUMBER_SIZE 128
20#define RASSAPI_MAX_MEDIA_NAME 16
21#define RASSAPI_MAX_PORT_NAME 16
22#define RASSAPI_MAX_DEVICE_NAME 128
23#define RASSAPI_MAX_DEVICETYPE_NAME 16
24#define RASSAPI_MAX_PARAM_KEY_SIZE 32
25
26#define RASPRIV_NoCallback 0x01
27#define RASPRIV_AdminSetCallback 0x02
28#define RASPRIV_CallerSetCallback 0x04
29#define RASPRIV_DialinPrivilege 0x08
30
31#define RASPRIV_CallbackType (RASPRIV_AdminSetCallback | RASPRIV_CallerSetCallback | RASPRIV_NoCallback)
32
33#define RAS_MODEM_OPERATIONAL 1
34#define RAS_MODEM_NOT_RESPONDING 2
35#define RAS_MODEM_HARDWARE_FAILURE 3
36#define RAS_MODEM_INCORRECT_RESPONSE 4
37#define RAS_MODEM_UNKNOWN 5
38
39#define RAS_PORT_NON_OPERATIONAL 1
40#define RAS_PORT_DISCONNECTED 2
41#define RAS_PORT_CALLING_BACK 3
42#define RAS_PORT_LISTENING 4
43#define RAS_PORT_AUTHENTICATING 5
44#define RAS_PORT_AUTHENTICATED 6
45#define RAS_PORT_INITIALIZING 7
46
47 enum RAS_PARAMS_FORMAT {
48 ParamNumber = 0,ParamString = 1
49 };
50 typedef enum RAS_PARAMS_FORMAT RAS_PARAMS_FORMAT;
51
52 union RAS_PARAMS_VALUE {
53 DWORD Number;
54 struct {
55 DWORD Length;
56 PCHAR Data;
57 } String;
58 };
59 typedef union RAS_PARAMS_VALUE RAS_PARAMS_VALUE;
60
61 struct RAS_PARAMETERS {
62 CHAR P_Key[RASSAPI_MAX_PARAM_KEY_SIZE];
63 RAS_PARAMS_FORMAT P_Type;
64 BYTE P_Attributes;
65 RAS_PARAMS_VALUE P_Value;
66 };
67 typedef struct RAS_PARAMETERS RAS_PARAMETERS;
68
69 typedef struct _RAS_USER_0 {
70 BYTE bfPrivilege;
71 WCHAR szPhoneNumber[RASSAPI_MAX_PHONENUMBER_SIZE + 1];
72 } RAS_USER_0,*PRAS_USER_0;
73
74 typedef struct _RAS_PORT_0 {
75 WCHAR wszPortName[RASSAPI_MAX_PORT_NAME];
76 WCHAR wszDeviceType[RASSAPI_MAX_DEVICETYPE_NAME];
77 WCHAR wszDeviceName[RASSAPI_MAX_DEVICE_NAME];
78 WCHAR wszMediaName[RASSAPI_MAX_MEDIA_NAME];
79 DWORD reserved;
80 DWORD Flags;
81 WCHAR wszUserName[UNLEN + 1];
82 WCHAR wszComputer[NETBIOS_NAME_LEN];
83 DWORD dwStartSessionTime;
84 WCHAR wszLogonDomain[DNLEN + 1];
85 WINBOOL fAdvancedServer;
86 } RAS_PORT_0,*PRAS_PORT_0;
87
88#define MEDIA_UNKNOWN 0
89#define MEDIA_SERIAL 1
90#define MEDIA_RAS10_SERIAL 2
91#define MEDIA_X25 3
92#define MEDIA_ISDN 4
93
94#define USER_AUTHENTICATED 0x0001
95#define MESSENGER_PRESENT 0x0002
96#define PPP_CLIENT 0x0004
97#define GATEWAY_ACTIVE 0x0008
98#define REMOTE_LISTEN 0x0010
99#define PORT_MULTILINKED 0x0020
100
101 typedef ULONG IPADDR;
102
103#define RAS_IPADDRESSLEN 15
104#define RAS_IPXADDRESSLEN 22
105#define RAS_ATADDRESSLEN 32
106
107 typedef struct _RAS_PPP_NBFCP_RESULT {
108 DWORD dwError;
109 DWORD dwNetBiosError;
110 CHAR szName[NETBIOS_NAME_LEN + 1];
111 WCHAR wszWksta[NETBIOS_NAME_LEN + 1];
112 } RAS_PPP_NBFCP_RESULT;
113
114 typedef struct _RAS_PPP_IPCP_RESULT {
115 DWORD dwError;
116 WCHAR wszAddress[RAS_IPADDRESSLEN + 1];
117 } RAS_PPP_IPCP_RESULT;
118
119 typedef struct _RAS_PPP_IPXCP_RESULT {
120 DWORD dwError;
121 WCHAR wszAddress[RAS_IPXADDRESSLEN + 1];
122 } RAS_PPP_IPXCP_RESULT;
123
124 typedef struct _RAS_PPP_ATCP_RESULT {
125 DWORD dwError;
126 WCHAR wszAddress[RAS_ATADDRESSLEN + 1];
127 } RAS_PPP_ATCP_RESULT;
128
129 typedef struct _RAS_PPP_PROJECTION_RESULT {
130 RAS_PPP_NBFCP_RESULT nbf;
131 RAS_PPP_IPCP_RESULT ip;
132 RAS_PPP_IPXCP_RESULT ipx;
133 RAS_PPP_ATCP_RESULT at;
134 } RAS_PPP_PROJECTION_RESULT;
135
136 typedef struct _RAS_PORT_1 {
137 RAS_PORT_0 rasport0;
138 DWORD LineCondition;
139 DWORD HardwareCondition;
140 DWORD LineSpeed;
141 WORD NumStatistics;
142 WORD NumMediaParms;
143 DWORD SizeMediaParms;
144 RAS_PPP_PROJECTION_RESULT ProjResult;
145 } RAS_PORT_1,*PRAS_PORT_1;
146
147 typedef struct _RAS_PORT_STATISTICS {
148 DWORD dwBytesXmited;
149 DWORD dwBytesRcved;
150 DWORD dwFramesXmited;
151 DWORD dwFramesRcved;
152 DWORD dwCrcErr;
153 DWORD dwTimeoutErr;
154 DWORD dwAlignmentErr;
155 DWORD dwHardwareOverrunErr;
156 DWORD dwFramingErr;
157 DWORD dwBufferOverrunErr;
158 DWORD dwBytesXmitedUncompressed;
159 DWORD dwBytesRcvedUncompressed;
160 DWORD dwBytesXmitedCompressed;
161 DWORD dwBytesRcvedCompressed;
162 DWORD dwPortBytesXmited;
163 DWORD dwPortBytesRcved;
164 DWORD dwPortFramesXmited;
165 DWORD dwPortFramesRcved;
166 DWORD dwPortCrcErr;
167 DWORD dwPortTimeoutErr;
168 DWORD dwPortAlignmentErr;
169 DWORD dwPortHardwareOverrunErr;
170 DWORD dwPortFramingErr;
171 DWORD dwPortBufferOverrunErr;
172 DWORD dwPortBytesXmitedUncompressed;
173 DWORD dwPortBytesRcvedUncompressed;
174 DWORD dwPortBytesXmitedCompressed;
175 DWORD dwPortBytesRcvedCompressed;
176 } RAS_PORT_STATISTICS,*PRAS_PORT_STATISTICS;
177
178#define RASDOWNLEVEL 10
179#define RASADMIN_35 35
180#define RASADMIN_CURRENT 40
181
182 typedef struct _RAS_SERVER_0 {
183 WORD TotalPorts;
184 WORD PortsInUse;
185 DWORD RasVersion;
186 } RAS_SERVER_0,*PRAS_SERVER_0;
187
188 DWORD WINAPI RasAdminServerGetInfo(const WCHAR *lpszServer,PRAS_SERVER_0 pRasServer0);
189 DWORD WINAPI RasAdminGetUserAccountServer(const WCHAR *lpszDomain,const WCHAR *lpszServer,LPWSTR lpszUserAccountServer);
190 DWORD WINAPI RasAdminUserGetInfo(const WCHAR *lpszUserAccountServer,const WCHAR *lpszUser,PRAS_USER_0 pRasUser0);
191 DWORD WINAPI RasAdminUserSetInfo(const WCHAR *lpszUserAccountServer,const WCHAR *lpszUser,const PRAS_USER_0 pRasUser0);
192 DWORD WINAPI RasAdminPortEnum(const WCHAR *lpszServer,PRAS_PORT_0 *ppRasPort0,WORD *pcEntriesRead);
193 DWORD WINAPI RasAdminPortGetInfo(const WCHAR *lpszServer,const WCHAR *lpszPort,RAS_PORT_1 *pRasPort1,RAS_PORT_STATISTICS *pRasStats,RAS_PARAMETERS **ppRasParams);
194 DWORD WINAPI RasAdminPortClearStatistics(const WCHAR *lpszServer,const WCHAR *lpszPort);
195 DWORD WINAPI RasAdminPortDisconnect(const WCHAR *lpszServer,const WCHAR *lpszPort);
196 DWORD WINAPI RasAdminFreeBuffer(PVOID Pointer);
197 WINBOOL WINAPI RasAdminAcceptNewConnection (RAS_PORT_1 *pRasPort1,RAS_PORT_STATISTICS *pRasStats,RAS_PARAMETERS *pRasParams);
198 VOID WINAPI RasAdminConnectionHangupNotification (RAS_PORT_1 *pRasPort1,RAS_PORT_STATISTICS *pRasStats,RAS_PARAMETERS *pRasParams);
199 DWORD WINAPI RasAdminGetIpAddressForUser (WCHAR *lpszUserName,WCHAR *lpszPortName,IPADDR *pipAddress,WINBOOL *bNotifyRelease);
200 VOID WINAPI RasAdminReleaseIpAddress (WCHAR *lpszUserName,WCHAR *lpszPortName,IPADDR *pipAddress);
201
202#endif
203
204#ifdef __cplusplus
205}
206#endif
207#endif
Note: See TracBrowser for help on using the repository browser.