1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * Authors: Stewart Gordon 7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 8 * Source: $(DRUNTIMESRC core/sys/windows/_rassapi.d) 9 */ 10 /// Automatically imported and edited from the druntime module 11 /// core.sys.windows.rassapi for the auto-generated win32 package. 12 module win32.rassapi; 13 //version (Windows): 14 @system: 15 16 import win32.lmcons, win32.windef; 17 18 // FIXME: check types of constants 19 20 enum size_t 21 RASSAPI_MAX_PHONENUMBER_SIZE = 128, 22 RASSAPI_MAX_MEDIA_NAME = 16, 23 RASSAPI_MAX_PORT_NAME = 16, 24 RASSAPI_MAX_DEVICE_NAME = 128, 25 RASSAPI_MAX_DEVICETYPE_NAME = 16, 26 RASSAPI_MAX_PARAM_KEY_SIZE = 32; 27 28 enum RASPRIV_NoCallback = 0x01; 29 enum RASPRIV_AdminSetCallback = 0x02; 30 enum RASPRIV_CallerSetCallback = 0x04; 31 enum RASPRIV_DialinPrivilege = 0x08; 32 enum RASPRIV_CallbackType = 0x07; 33 34 enum { 35 RAS_MODEM_OPERATIONAL = 1, 36 RAS_MODEM_NOT_RESPONDING, 37 RAS_MODEM_HARDWARE_FAILURE, 38 RAS_MODEM_INCORRECT_RESPONSE, 39 RAS_MODEM_UNKNOWN // = 5 40 } 41 42 enum { 43 RAS_PORT_NON_OPERATIONAL = 1, 44 RAS_PORT_DISCONNECTED, 45 RAS_PORT_CALLING_BACK, 46 RAS_PORT_LISTENING, 47 RAS_PORT_AUTHENTICATING, 48 RAS_PORT_AUTHENTICATED, 49 RAS_PORT_INITIALIZING // = 7 50 } 51 52 enum { 53 MEDIA_UNKNOWN, 54 MEDIA_SERIAL, 55 MEDIA_RAS10_SERIAL, 56 MEDIA_X25, 57 MEDIA_ISDN 58 } 59 60 enum USER_AUTHENTICATED = 0x0001; 61 enum MESSENGER_PRESENT = 0x0002; 62 enum PPP_CLIENT = 0x0004; 63 enum GATEWAY_ACTIVE = 0x0008; 64 enum REMOTE_LISTEN = 0x0010; 65 enum PORT_MULTILINKED = 0x0020; 66 67 enum size_t 68 RAS_IPADDRESSLEN = 15, 69 RAS_IPXADDRESSLEN = 22, 70 RAS_ATADDRESSLEN = 32; 71 72 // FIXME: should these be grouped together? 73 enum { 74 RASDOWNLEVEL = 10, 75 RASADMIN_35 = 35, 76 RASADMIN_CURRENT = 40 77 } 78 79 alias ULONG IPADDR; 80 81 enum RAS_PARAMS_FORMAT { 82 ParamNumber = 0, 83 ParamString 84 } 85 86 union RAS_PARAMS_VALUE { 87 DWORD Number; 88 struct _String { 89 DWORD Length; 90 PCHAR Data; 91 } 92 _String String; 93 } 94 95 struct RAS_PARAMETERS { 96 CHAR[RASSAPI_MAX_PARAM_KEY_SIZE] P_Key = 0; 97 RAS_PARAMS_FORMAT P_Type; 98 BYTE P_Attributes; 99 RAS_PARAMS_VALUE P_Value; 100 } 101 102 struct RAS_USER_0 { 103 BYTE bfPrivilege; 104 WCHAR[RASSAPI_MAX_PHONENUMBER_SIZE + 1] szPhoneNumber = 0; 105 } 106 alias RAS_USER_0* PRAS_USER_0; 107 108 struct RAS_PORT_0 { 109 WCHAR[RASSAPI_MAX_PORT_NAME] wszPortName = 0; 110 WCHAR[RASSAPI_MAX_DEVICETYPE_NAME] wszDeviceType = 0; 111 WCHAR[RASSAPI_MAX_DEVICE_NAME] wszDeviceName = 0; 112 WCHAR[RASSAPI_MAX_MEDIA_NAME] wszMediaName = 0; 113 DWORD reserved; 114 DWORD Flags; 115 WCHAR[UNLEN + 1] wszUserName = 0; 116 WCHAR[NETBIOS_NAME_LEN] wszComputer = 0; 117 DWORD dwStartSessionTime; // seconds from 1/1/1970 118 WCHAR[DNLEN + 1] wszLogonDomain = 0; 119 BOOL fAdvancedServer; 120 } 121 alias RAS_PORT_0* PRAS_PORT_0; 122 123 struct RAS_PPP_NBFCP_RESULT { 124 DWORD dwError; 125 DWORD dwNetBiosError; 126 CHAR[NETBIOS_NAME_LEN + 1] szName = 0; 127 WCHAR[NETBIOS_NAME_LEN + 1] wszWksta = 0; 128 } 129 130 struct RAS_PPP_IPCP_RESULT { 131 DWORD dwError; 132 WCHAR[RAS_IPADDRESSLEN + 1] wszAddress = 0; 133 } 134 135 struct RAS_PPP_IPXCP_RESULT { 136 DWORD dwError; 137 WCHAR[RAS_IPXADDRESSLEN + 1] wszAddress = 0; 138 } 139 140 struct RAS_PPP_ATCP_RESULT { 141 DWORD dwError; 142 WCHAR[RAS_ATADDRESSLEN + 1] wszAddress = 0; 143 } 144 145 struct RAS_PPP_PROJECTION_RESULT { 146 RAS_PPP_NBFCP_RESULT nbf; 147 RAS_PPP_IPCP_RESULT ip; 148 RAS_PPP_IPXCP_RESULT ipx; 149 RAS_PPP_ATCP_RESULT at; 150 } 151 152 struct RAS_PORT_1 { 153 RAS_PORT_0 rasport0; 154 DWORD LineCondition; 155 DWORD HardwareCondition; 156 DWORD LineSpeed; 157 WORD NumStatistics; 158 WORD NumMediaParms; 159 DWORD SizeMediaParms; 160 RAS_PPP_PROJECTION_RESULT ProjResult; 161 } 162 alias RAS_PORT_1* PRAS_PORT_1; 163 164 struct RAS_PORT_STATISTICS { 165 DWORD dwBytesXmited; 166 DWORD dwBytesRcved; 167 DWORD dwFramesXmited; 168 DWORD dwFramesRcved; 169 DWORD dwCrcErr; 170 DWORD dwTimeoutErr; 171 DWORD dwAlignmentErr; 172 DWORD dwHardwareOverrunErr; 173 DWORD dwFramingErr; 174 DWORD dwBufferOverrunErr; 175 DWORD dwBytesXmitedUncompressed; 176 DWORD dwBytesRcvedUncompressed; 177 DWORD dwBytesXmitedCompressed; 178 DWORD dwBytesRcvedCompressed; 179 DWORD dwPortBytesXmited; 180 DWORD dwPortBytesRcved; 181 DWORD dwPortFramesXmited; 182 DWORD dwPortFramesRcved; 183 DWORD dwPortCrcErr; 184 DWORD dwPortTimeoutErr; 185 DWORD dwPortAlignmentErr; 186 DWORD dwPortHardwareOverrunErr; 187 DWORD dwPortFramingErr; 188 DWORD dwPortBufferOverrunErr; 189 DWORD dwPortBytesXmitedUncompressed; 190 DWORD dwPortBytesRcvedUncompressed; 191 DWORD dwPortBytesXmitedCompressed; 192 DWORD dwPortBytesRcvedCompressed; 193 } 194 alias RAS_PORT_STATISTICS* PRAS_PORT_STATISTICS; 195 196 struct RAS_SERVER_0 { 197 WORD TotalPorts; 198 WORD PortsInUse; 199 DWORD RasVersion; 200 } 201 alias RAS_SERVER_0* PRAS_SERVER_0; 202 203 extern (Windows) { 204 DWORD RasAdminServerGetInfo(const(WCHAR)*, PRAS_SERVER_0); 205 DWORD RasAdminGetUserAccountServer(const(WCHAR)*, const(WCHAR)*, LPWSTR); 206 DWORD RasAdminUserGetInfo(const(WCHAR)*, const(WCHAR)*, PRAS_USER_0); 207 DWORD RasAdminUserSetInfo(const(WCHAR)*, const(WCHAR)*, PRAS_USER_0); 208 DWORD RasAdminPortEnum(WCHAR*, PRAS_PORT_0*, WORD*); 209 DWORD RasAdminPortGetInfo(const(WCHAR)*, const(WCHAR)*, RAS_PORT_1*, 210 RAS_PORT_STATISTICS*, RAS_PARAMETERS**); 211 DWORD RasAdminPortClearStatistics(const(WCHAR)*, const(WCHAR)*); 212 DWORD RasAdminPortDisconnect(const(WCHAR)*, const(WCHAR)*); 213 DWORD RasAdminFreeBuffer(PVOID); 214 DWORD RasAdminGetErrorString(UINT, WCHAR*, DWORD); 215 BOOL RasAdminAcceptNewConnection(RAS_PORT_1*, RAS_PORT_STATISTICS*, 216 RAS_PARAMETERS*); 217 VOID RasAdminConnectionHangupNotification(RAS_PORT_1*, 218 RAS_PORT_STATISTICS*, RAS_PARAMETERS*); 219 DWORD RasAdminGetIpAddressForUser (WCHAR*, WCHAR*, IPADDR*, BOOL*); 220 VOID RasAdminReleaseIpAddress (WCHAR*, WCHAR*,IPADDR*); 221 DWORD RasAdminGetUserParms(WCHAR*, PRAS_USER_0); 222 DWORD RasAdminSetUserParms(WCHAR*, DWORD, PRAS_USER_0); 223 }