mingw-5.1.4/win32/include/rassapi.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     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 */