|
1 #ifndef _RASSAPI_H |
|
2 #define _RASSAPI_H |
|
3 #if __GNUC__ >=3 |
|
4 #pragma GCC system_header |
|
5 #endif |
|
6 |
|
7 #ifdef __cplusplus |
|
8 extern "C" { |
|
9 #endif |
|
10 #ifndef UNLEN |
|
11 #include <lmcons.h> |
|
12 #endif |
|
13 #define RASSAPI_MAX_PHONENUMBER_SIZE 128 |
|
14 #define RASSAPI_MAX_MEDIA_NAME 16 |
|
15 #define RASSAPI_MAX_PORT_NAME 16 |
|
16 #define RASSAPI_MAX_DEVICE_NAME 128 |
|
17 #define RASSAPI_MAX_DEVICETYPE_NAME 16 |
|
18 #define RASSAPI_MAX_PARAM_KEY_SIZE 32 |
|
19 #define RASPRIV_NoCallback 0x01 |
|
20 #define RASPRIV_AdminSetCallback 0x02 |
|
21 #define RASPRIV_CallerSetCallback 0x04 |
|
22 #define RASPRIV_DialinPrivilege 0x08 |
|
23 #define RASPRIV_CallbackType (RASPRIV_AdminSetCallback \ |
|
24 | RASPRIV_CallerSetCallback \ |
|
25 | RASPRIV_NoCallback) |
|
26 #define RAS_MODEM_OPERATIONAL 1 |
|
27 #define RAS_MODEM_NOT_RESPONDING 2 |
|
28 #define RAS_MODEM_HARDWARE_FAILURE 3 |
|
29 #define RAS_MODEM_INCORRECT_RESPONSE 4 |
|
30 #define RAS_MODEM_UNKNOWN 5 |
|
31 #define RAS_PORT_NON_OPERATIONAL 1 |
|
32 #define RAS_PORT_DISCONNECTED 2 |
|
33 #define RAS_PORT_CALLING_BACK 3 |
|
34 #define RAS_PORT_LISTENING 4 |
|
35 #define RAS_PORT_AUTHENTICATING 5 |
|
36 #define RAS_PORT_AUTHENTICATED 6 |
|
37 #define RAS_PORT_INITIALIZING 7 |
|
38 #define MEDIA_UNKNOWN 0 |
|
39 #define MEDIA_SERIAL 1 |
|
40 #define MEDIA_RAS10_SERIAL 2 |
|
41 #define MEDIA_X25 3 |
|
42 #define MEDIA_ISDN 4 |
|
43 #define USER_AUTHENTICATED 0x0001 |
|
44 #define MESSENGER_PRESENT 0x0002 |
|
45 #define PPP_CLIENT 0x0004 |
|
46 #define GATEWAY_ACTIVE 0x0008 |
|
47 #define REMOTE_LISTEN 0x0010 |
|
48 #define PORT_MULTILINKED 0x0020 |
|
49 #define RAS_IPADDRESSLEN 15 |
|
50 #define RAS_IPXADDRESSLEN 22 |
|
51 #define RAS_ATADDRESSLEN 32 |
|
52 #define RASDOWNLEVEL 10 |
|
53 #define RASADMIN_35 35 |
|
54 #define RASADMIN_CURRENT 40 |
|
55 |
|
56 typedef ULONG IPADDR; |
|
57 typedef enum _RAS_PARAMS_FORMAT { |
|
58 ParamNumber = 0, |
|
59 ParamString = 1 |
|
60 } RAS_PARAMS_FORMAT; |
|
61 typedef union RAS_PARAMS_VALUE { |
|
62 DWORD Number; |
|
63 struct { |
|
64 DWORD Length; |
|
65 PCHAR Data; |
|
66 } String; |
|
67 } RAS_PARAMS_VALUE; |
|
68 typedef struct RAS_PARAMETERS { |
|
69 CHAR P_Key [RASSAPI_MAX_PARAM_KEY_SIZE]; |
|
70 RAS_PARAMS_FORMAT P_Type; |
|
71 BYTE P_Attributes; |
|
72 RAS_PARAMS_VALUE P_Value; |
|
73 } RAS_PARAMETERS; |
|
74 typedef struct _RAS_USER_0 { |
|
75 BYTE bfPrivilege; |
|
76 WCHAR szPhoneNumber[RASSAPI_MAX_PHONENUMBER_SIZE + 1]; |
|
77 } RAS_USER_0, *PRAS_USER_0; |
|
78 typedef struct _RAS_PORT_0 { |
|
79 WCHAR wszPortName[RASSAPI_MAX_PORT_NAME]; |
|
80 WCHAR wszDeviceType[RASSAPI_MAX_DEVICETYPE_NAME]; |
|
81 WCHAR wszDeviceName[RASSAPI_MAX_DEVICE_NAME]; |
|
82 WCHAR wszMediaName[RASSAPI_MAX_MEDIA_NAME]; |
|
83 DWORD reserved; |
|
84 DWORD Flags; |
|
85 WCHAR wszUserName[UNLEN + 1]; |
|
86 WCHAR wszComputer[NETBIOS_NAME_LEN]; |
|
87 DWORD dwStartSessionTime; /* seconds from 1/1/1970 */ |
|
88 WCHAR wszLogonDomain[DNLEN + 1]; |
|
89 BOOL fAdvancedServer; |
|
90 } RAS_PORT_0, *PRAS_PORT_0; |
|
91 typedef struct _RAS_PPP_NBFCP_RESULT { |
|
92 DWORD dwError; |
|
93 DWORD dwNetBiosError; |
|
94 CHAR szName[ NETBIOS_NAME_LEN + 1 ]; |
|
95 WCHAR wszWksta[ NETBIOS_NAME_LEN + 1 ]; |
|
96 } RAS_PPP_NBFCP_RESULT; |
|
97 typedef struct _RAS_PPP_IPCP_RESULT{ |
|
98 DWORD dwError; |
|
99 WCHAR wszAddress[ RAS_IPADDRESSLEN + 1 ]; |
|
100 } RAS_PPP_IPCP_RESULT; |
|
101 typedef struct _RAS_PPP_IPXCP_RESULT { |
|
102 DWORD dwError; |
|
103 WCHAR wszAddress[ RAS_IPXADDRESSLEN + 1 ]; |
|
104 } RAS_PPP_IPXCP_RESULT; |
|
105 typedef struct _RAS_PPP_ATCP_RESULT { |
|
106 DWORD dwError; |
|
107 WCHAR wszAddress[ RAS_ATADDRESSLEN + 1 ]; |
|
108 } RAS_PPP_ATCP_RESULT; |
|
109 typedef struct _RAS_PPP_PROJECTION_RESULT { |
|
110 RAS_PPP_NBFCP_RESULT nbf; |
|
111 RAS_PPP_IPCP_RESULT ip; |
|
112 RAS_PPP_IPXCP_RESULT ipx; |
|
113 RAS_PPP_ATCP_RESULT at; |
|
114 } RAS_PPP_PROJECTION_RESULT; |
|
115 typedef struct _RAS_PORT_1{ |
|
116 RAS_PORT_0 rasport0; |
|
117 DWORD LineCondition; |
|
118 DWORD HardwareCondition; |
|
119 DWORD LineSpeed; |
|
120 WORD NumStatistics; |
|
121 WORD NumMediaParms; |
|
122 DWORD SizeMediaParms; |
|
123 RAS_PPP_PROJECTION_RESULT ProjResult; |
|
124 } RAS_PORT_1, *PRAS_PORT_1; |
|
125 typedef struct _RAS_PORT_STATISTICS { |
|
126 DWORD dwBytesXmited; |
|
127 DWORD dwBytesRcved; |
|
128 DWORD dwFramesXmited; |
|
129 DWORD dwFramesRcved; |
|
130 DWORD dwCrcErr; |
|
131 DWORD dwTimeoutErr; |
|
132 DWORD dwAlignmentErr; |
|
133 DWORD dwHardwareOverrunErr; |
|
134 DWORD dwFramingErr; |
|
135 DWORD dwBufferOverrunErr; |
|
136 DWORD dwBytesXmitedUncompressed; |
|
137 DWORD dwBytesRcvedUncompressed; |
|
138 DWORD dwBytesXmitedCompressed; |
|
139 DWORD dwBytesRcvedCompressed; |
|
140 DWORD dwPortBytesXmited; |
|
141 DWORD dwPortBytesRcved; |
|
142 DWORD dwPortFramesXmited; |
|
143 DWORD dwPortFramesRcved; |
|
144 DWORD dwPortCrcErr; |
|
145 DWORD dwPortTimeoutErr; |
|
146 DWORD dwPortAlignmentErr; |
|
147 DWORD dwPortHardwareOverrunErr; |
|
148 DWORD dwPortFramingErr; |
|
149 DWORD dwPortBufferOverrunErr; |
|
150 DWORD dwPortBytesXmitedUncompressed; |
|
151 DWORD dwPortBytesRcvedUncompressed; |
|
152 DWORD dwPortBytesXmitedCompressed; |
|
153 DWORD dwPortBytesRcvedCompressed; |
|
154 } RAS_PORT_STATISTICS, *PRAS_PORT_STATISTICS; |
|
155 typedef struct _RAS_SERVER_0 { |
|
156 WORD TotalPorts; |
|
157 WORD PortsInUse; |
|
158 DWORD RasVersion; |
|
159 } RAS_SERVER_0, *PRAS_SERVER_0; |
|
160 |
|
161 DWORD APIENTRY RasAdminServerGetInfo( const WCHAR*, PRAS_SERVER_0 ); |
|
162 DWORD APIENTRY RasAdminGetUserAccountServer( const WCHAR*, const WCHAR*, LPWSTR ); |
|
163 DWORD APIENTRY RasAdminUserGetInfo( const WCHAR*, const WCHAR*, PRAS_USER_0 ); |
|
164 DWORD APIENTRY RasAdminUserSetInfo( const WCHAR*, const WCHAR*, const PRAS_USER_0 ); |
|
165 DWORD APIENTRY RasAdminPortEnum( const WCHAR*, PRAS_PORT_0*, WORD*); |
|
166 DWORD APIENTRY RasAdminPortGetInfo( const WCHAR*, const WCHAR*, RAS_PORT_1*, RAS_PORT_STATISTICS*, RAS_PARAMETERS** ); |
|
167 DWORD APIENTRY RasAdminPortClearStatistics( const WCHAR*, const WCHAR* ); |
|
168 DWORD APIENTRY RasAdminPortDisconnect( const WCHAR*, const WCHAR* ); |
|
169 DWORD APIENTRY RasAdminFreeBuffer(PVOID); |
|
170 DWORD APIENTRY RasAdminGetErrorString( UINT, WCHAR*, DWORD ); |
|
171 BOOL APIENTRY RasAdminAcceptNewConnection( RAS_PORT_1*, RAS_PORT_STATISTICS*, RAS_PARAMETERS* ); |
|
172 VOID APIENTRY RasAdminConnectionHangupNotification ( RAS_PORT_1*, RAS_PORT_STATISTICS*, RAS_PARAMETERS* ); |
|
173 DWORD APIENTRY RasAdminGetIpAddressForUser ( WCHAR*, WCHAR*, IPADDR*, BOOL*); |
|
174 VOID APIENTRY RasAdminReleaseIpAddress ( WCHAR*, WCHAR*,IPADDR* ); |
|
175 DWORD APIENTRY RasAdminGetUserParms( WCHAR*, PRAS_USER_0 ); |
|
176 DWORD APIENTRY RasAdminSetUserParms( WCHAR*, DWORD, PRAS_USER_0 ); |
|
177 |
|
178 #ifdef __cplusplus |
|
179 } |
|
180 #endif |
|
181 |
|
182 #endif /* _RASSAPI_H */ |