Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include/nspapi.h')
-rw-r--r--winsup/w32api/include/nspapi.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/winsup/w32api/include/nspapi.h b/winsup/w32api/include/nspapi.h
index 2a15c322e..54cb7cfaa 100644
--- a/winsup/w32api/include/nspapi.h
+++ b/winsup/w32api/include/nspapi.h
@@ -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