home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / rassapi.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  7KB  |  183 lines

  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 */
  183.