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

  1. #ifndef _NSPAPI_H
  2. #define _NSPAPI_H
  3. #if __GNUC__ >=3
  4. #pragma GCC system_header
  5. #endif
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. #define NS_ALL        0
  12.  
  13. #define NS_SAP        1
  14. #define NS_NDS        2
  15. #define NS_PEER_BROWSE    3
  16.  
  17. #define NS_TCPIP_LOCAL    10
  18. #define NS_TCPIP_HOSTS    11
  19. #define NS_DNS        12
  20. #define NS_NETBT    13
  21. #define NS_WINS        14
  22.  
  23. #define NS_NBP        20
  24.  
  25. #define NS_MS        30
  26. #define NS_STDA        31
  27. #define NS_NTDS        32
  28.  
  29. #define NS_X500        40
  30. #define NS_NIS        41
  31. #define NS_NISPLUS    42
  32.  
  33. #define NS_WRQ        50
  34.  
  35. #define SERVICE_REGISTER    1
  36. #define SERVICE_DEREGISTER    2
  37. #define SERVICE_FLUSH        3
  38. #define SERVICE_FLAG_HARD    0x00000002
  39.  
  40. #ifndef RC_INVOKED
  41.  
  42. #if defined (_WINSOCK_H) || defined (_WINSOCK2_H) /* needed for LPSOCKADDR */
  43. #ifndef __CSADDR_T_DEFINED /* also in winsock2.h, but not in winsock.h */
  44. #define __CSADDR_T_DEFINED
  45. typedef struct _SOCKET_ADDRESS {
  46.     LPSOCKADDR lpSockaddr;
  47.     INT iSockaddrLength;
  48. } SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
  49. typedef struct _CSADDR_INFO {
  50.     SOCKET_ADDRESS LocalAddr;
  51.     SOCKET_ADDRESS RemoteAddr;
  52.     INT iSocketType;
  53.     INT iProtocol;
  54. } CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
  55. #endif
  56. #endif
  57.  
  58. #ifndef __BLOB_T_DEFINED /* also in wtypes.h and winsock2.h */
  59. #define __BLOB_T_DEFINED
  60. typedef struct _BLOB {
  61.     ULONG    cbSize;
  62.     BYTE    *pBlobData;
  63. } BLOB,*PBLOB,*LPBLOB;
  64. #endif
  65.  
  66. typedef struct _SERVICE_ADDRESS {
  67.     DWORD dwAddressType;
  68.     DWORD dwAddressFlags;
  69.     DWORD dwAddressLength;
  70.     DWORD dwPrincipalLength;
  71.     BYTE *lpAddress;
  72.     BYTE *lpPrincipal;
  73. } SERVICE_ADDRESS;
  74. typedef struct _SERVICE_ADDRESSES {
  75.     DWORD dwAddressCount;
  76.     SERVICE_ADDRESS Addresses[1];
  77. } SERVICE_ADDRESSES, *PSERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
  78. typedef struct _SERVICE_INFOA {
  79.     LPGUID lpServiceType;
  80.     LPSTR lpServiceName;
  81.     LPSTR lpComment;
  82.     LPSTR lpLocale;
  83.     DWORD dwDisplayHint;
  84.     DWORD dwVersion;
  85.     DWORD dwTime;
  86.     LPSTR lpMachineName;
  87.     LPSERVICE_ADDRESSES lpServiceAddress;
  88.     BLOB ServiceSpecificInfo;
  89. } SERVICE_INFOA, *LPSERVICE_INFOA;
  90. typedef struct _SERVICE_INFOW {
  91.     LPGUID lpServiceType;
  92.     LPWSTR lpServiceName;
  93.     LPWSTR lpComment;
  94.     LPWSTR lpLocale;
  95.     DWORD dwDisplayHint;
  96.     DWORD dwVersion;
  97.     DWORD dwTime;
  98.     LPWSTR lpMachineName;
  99.     LPSERVICE_ADDRESSES lpServiceAddress;
  100.     BLOB ServiceSpecificInfo;
  101. } SERVICE_INFOW, *LPSERVICE_INFOW;
  102.  
  103. typedef void *LPSERVICE_ASYNC_INFO;
  104. INT WINAPI SetServiceA(DWORD,DWORD,DWORD,LPSERVICE_INFOA,LPSERVICE_ASYNC_INFO,LPDWORD);
  105. INT WINAPI SetServiceW(DWORD,DWORD,DWORD,LPSERVICE_INFOW,LPSERVICE_ASYNC_INFO,LPDWORD);
  106. INT WINAPI GetAddressByNameA(DWORD,LPGUID,LPSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPSTR,LPDWORD);
  107. INT WINAPI GetAddressByNameW(DWORD,LPGUID,LPWSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPWSTR,LPDWORD);
  108.  
  109. #ifdef UNICODE
  110. typedef SERVICE_INFOW SERVICE_INFO, *LPSERVICE_INFO;
  111. #define _SERVICE_INFO SERVICE_INFOW
  112. #define SetService SetServiceW
  113. #define GetAddressByName GetAddressByNameW
  114. #else
  115. typedef SERVICE_INFOA SERVICE_INFO, *LPSERVICE_INFO;
  116. #define _SERVICE_INFO SERVICE_INFOA
  117. #define SetService SetServiceA
  118. #define GetAddressByName GetAddressByNameA
  119. #endif
  120.  
  121. #endif /* RC_INVOKED */
  122.  
  123. #ifdef __cplusplus
  124. }
  125. #endif
  126. #endif /* _NSPAPI_H */
  127.