127 lines
3.0 KiB
C
127 lines
3.0 KiB
C
|
#ifndef _NSPAPI_H
|
||
|
#define _NSPAPI_H
|
||
|
#if __GNUC__ >=3
|
||
|
#pragma GCC system_header
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#define NS_ALL 0
|
||
|
|
||
|
#define NS_SAP 1
|
||
|
#define NS_NDS 2
|
||
|
#define NS_PEER_BROWSE 3
|
||
|
|
||
|
#define NS_TCPIP_LOCAL 10
|
||
|
#define NS_TCPIP_HOSTS 11
|
||
|
#define NS_DNS 12
|
||
|
#define NS_NETBT 13
|
||
|
#define NS_WINS 14
|
||
|
|
||
|
#define NS_NBP 20
|
||
|
|
||
|
#define NS_MS 30
|
||
|
#define NS_STDA 31
|
||
|
#define NS_NTDS 32
|
||
|
|
||
|
#define NS_X500 40
|
||
|
#define NS_NIS 41
|
||
|
#define NS_NISPLUS 42
|
||
|
|
||
|
#define NS_WRQ 50
|
||
|
|
||
|
#define SERVICE_REGISTER 1
|
||
|
#define SERVICE_DEREGISTER 2
|
||
|
#define SERVICE_FLUSH 3
|
||
|
#define SERVICE_FLAG_HARD 0x00000002
|
||
|
|
||
|
#ifndef RC_INVOKED
|
||
|
|
||
|
#if defined (_WINSOCK_H) || defined (_WINSOCK2_H) /* needed for LPSOCKADDR */
|
||
|
#ifndef __CSADDR_T_DEFINED /* also in winsock2.h, but not in winsock.h */
|
||
|
#define __CSADDR_T_DEFINED
|
||
|
typedef struct _SOCKET_ADDRESS {
|
||
|
LPSOCKADDR lpSockaddr;
|
||
|
INT iSockaddrLength;
|
||
|
} SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
|
||
|
typedef struct _CSADDR_INFO {
|
||
|
SOCKET_ADDRESS LocalAddr;
|
||
|
SOCKET_ADDRESS RemoteAddr;
|
||
|
INT iSocketType;
|
||
|
INT iProtocol;
|
||
|
} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifndef __BLOB_T_DEFINED /* also in wtypes.h and winsock2.h */
|
||
|
#define __BLOB_T_DEFINED
|
||
|
typedef struct _BLOB {
|
||
|
ULONG cbSize;
|
||
|
BYTE *pBlobData;
|
||
|
} BLOB,*PBLOB,*LPBLOB;
|
||
|
#endif
|
||
|
|
||
|
typedef struct _SERVICE_ADDRESS {
|
||
|
DWORD dwAddressType;
|
||
|
DWORD dwAddressFlags;
|
||
|
DWORD dwAddressLength;
|
||
|
DWORD dwPrincipalLength;
|
||
|
BYTE *lpAddress;
|
||
|
BYTE *lpPrincipal;
|
||
|
} SERVICE_ADDRESS;
|
||
|
typedef struct _SERVICE_ADDRESSES {
|
||
|
DWORD dwAddressCount;
|
||
|
SERVICE_ADDRESS Addresses[1];
|
||
|
} SERVICE_ADDRESSES, *PSERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
|
||
|
typedef struct _SERVICE_INFOA {
|
||
|
LPGUID lpServiceType;
|
||
|
LPSTR lpServiceName;
|
||
|
LPSTR lpComment;
|
||
|
LPSTR lpLocale;
|
||
|
DWORD dwDisplayHint;
|
||
|
DWORD dwVersion;
|
||
|
DWORD dwTime;
|
||
|
LPSTR lpMachineName;
|
||
|
LPSERVICE_ADDRESSES lpServiceAddress;
|
||
|
BLOB ServiceSpecificInfo;
|
||
|
} SERVICE_INFOA, *LPSERVICE_INFOA;
|
||
|
typedef struct _SERVICE_INFOW {
|
||
|
LPGUID lpServiceType;
|
||
|
LPWSTR lpServiceName;
|
||
|
LPWSTR lpComment;
|
||
|
LPWSTR lpLocale;
|
||
|
DWORD dwDisplayHint;
|
||
|
DWORD dwVersion;
|
||
|
DWORD dwTime;
|
||
|
LPWSTR lpMachineName;
|
||
|
LPSERVICE_ADDRESSES lpServiceAddress;
|
||
|
BLOB ServiceSpecificInfo;
|
||
|
} SERVICE_INFOW, *LPSERVICE_INFOW;
|
||
|
|
||
|
typedef void *LPSERVICE_ASYNC_INFO;
|
||
|
INT WINAPI SetServiceA(DWORD,DWORD,DWORD,LPSERVICE_INFOA,LPSERVICE_ASYNC_INFO,LPDWORD);
|
||
|
INT WINAPI SetServiceW(DWORD,DWORD,DWORD,LPSERVICE_INFOW,LPSERVICE_ASYNC_INFO,LPDWORD);
|
||
|
INT WINAPI GetAddressByNameA(DWORD,LPGUID,LPSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPSTR,LPDWORD);
|
||
|
INT WINAPI GetAddressByNameW(DWORD,LPGUID,LPWSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPWSTR,LPDWORD);
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
typedef SERVICE_INFOW SERVICE_INFO, *LPSERVICE_INFO;
|
||
|
#define _SERVICE_INFO SERVICE_INFOW
|
||
|
#define SetService SetServiceW
|
||
|
#define GetAddressByName GetAddressByNameW
|
||
|
#else
|
||
|
typedef SERVICE_INFOA SERVICE_INFO, *LPSERVICE_INFO;
|
||
|
#define _SERVICE_INFO SERVICE_INFOA
|
||
|
#define SetService SetServiceA
|
||
|
#define GetAddressByName GetAddressByNameA
|
||
|
#endif
|
||
|
|
||
|
#endif /* RC_INVOKED */
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#endif /* _NSPAPI_H */
|