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