2002-08-26 Bart Oldeman <bart.oldeman@btinternet.com>
* include/winsock2.h (SOCKET_ADDRESS): Define if __CSADDR_T_DEFINED is not defined (copied from nspapi.h) (CSADDR_INFO): Ditto. (nspapi.h) : Don't include. Removed FIXME comment. * include/nspapi.h (SOCKET_ADDRESS) Only define if __CSADDR_T_DEFINED is not defined. (CSADDR_INFO): Ditto. (BLOB): Added structure and typedef if not already defined. (NS_*): Add defines. (SERVICE_*): Ditto. (SERVICE_ADDRESS): Add structure and typedefs. (SERVICE_ADDRESSES): Ditto. (SERVICE_INFO[AW]): Ditto, and add UNICODE mappings. (LPSERVICE_ASYNC_INFO): Add typedef. (SetService[AW], GetAddressByName[AW]): Add prototypes and UNICODE mappings. * include/wsipx.h: New file. * include/svcguid.h: New file. * lib/test.c: Include wspix.h and svcguid.h.
This commit is contained in:
@ -7,6 +7,41 @@
|
||||
#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;
|
||||
@ -17,6 +52,74 @@ typedef struct _CSADDR_INFO {
|
||||
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_INFOA,LPSERVICE_ASYNC_INFO,LPDWORD);
|
||||
INT WINAPI GetAddressByNameA(DWORD,LPGUID,LPSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPTSTR,LPDWORD);
|
||||
INT WINAPI GetAddressByNameW(DWORD,LPGUID,LPWSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPTSTR,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
|
||||
|
Reference in New Issue
Block a user