123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _NSPAPI_INCLUDED
- #define _NSPAPI_INCLUDED
- #include <_mingw_unicode.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef _tagBLOB_DEFINED
- #define _tagBLOB_DEFINED
- #define _BLOB_DEFINED
- #define _LPBLOB_DEFINED
- typedef struct _BLOB {
- ULONG cbSize;
- BYTE *pBlobData;
- } BLOB,*LPBLOB;
- #endif
- #ifndef GUID_DEFINED
- #define GUID_DEFINED
- typedef struct _GUID {
- unsigned __LONG32 Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
- } GUID;
- #endif
- #ifndef __LPGUID_DEFINED__
- #define __LPGUID_DEFINED__
- typedef GUID *LPGUID;
- #endif
- #define SERVICE_RESOURCE (0x00000001)
- #define SERVICE_SERVICE (0x00000002)
- #define SERVICE_LOCAL (0x00000004)
- #define SERVICE_REGISTER (0x00000001)
- #define SERVICE_DEREGISTER (0x00000002)
- #define SERVICE_FLUSH (0x00000003)
- #define SERVICE_ADD_TYPE (0x00000004)
- #define SERVICE_DELETE_TYPE (0x00000005)
- #define SERVICE_FLAG_DEFER (0x00000001)
- #define SERVICE_FLAG_HARD (0x00000002)
- #define PROP_COMMENT (0x00000001)
- #define PROP_LOCALE (0x00000002)
- #define PROP_DISPLAY_HINT (0x00000004)
- #define PROP_VERSION (0x00000008)
- #define PROP_START_TIME (0x00000010)
- #define PROP_MACHINE (0x00000020)
- #define PROP_ADDRESSES (0x00000100)
- #define PROP_SD (0x00000200)
- #define PROP_ALL (0x80000000)
- #define SERVICE_ADDRESS_FLAG_RPC_CN (0x00000001)
- #define SERVICE_ADDRESS_FLAG_RPC_DG (0x00000002)
- #define SERVICE_ADDRESS_FLAG_RPC_NB (0x00000004)
- #define NS_DEFAULT (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_NLA (15)
- #if (_WIN32_WINNT >= 0x0600)
- #define NS_BTH (16)
- #endif
- #define NS_NBP (20)
- #define NS_MS (30)
- #define NS_STDA (31)
- #define NS_NTDS (32)
- #if (_WIN32_WINNT >= 0x0600)
- #define NS_EMAIL (37)
- #define NS_PNRPNAME (38)
- #define NS_PNRPCLOUD (39)
- #endif
- #define NS_X500 (40)
- #define NS_NIS (41)
- #define NS_VNS (50)
- #define NSTYPE_HIERARCHICAL (0x00000001)
- #define NSTYPE_DYNAMIC (0x00000002)
- #define NSTYPE_ENUMERABLE (0x00000004)
- #define NSTYPE_WORKGROUP (0x00000008)
- #define XP_CONNECTIONLESS (0x00000001)
- #define XP_GUARANTEED_DELIVERY (0x00000002)
- #define XP_GUARANTEED_ORDER (0x00000004)
- #define XP_MESSAGE_ORIENTED (0x00000008)
- #define XP_PSEUDO_STREAM (0x00000010)
- #define XP_GRACEFUL_CLOSE (0x00000020)
- #define XP_EXPEDITED_DATA (0x00000040)
- #define XP_CONNECT_DATA (0x00000080)
- #define XP_DISCONNECT_DATA (0x00000100)
- #define XP_SUPPORTS_BROADCAST (0x00000200)
- #define XP_SUPPORTS_MULTICAST (0x00000400)
- #define XP_BANDWIDTH_ALLOCATION (0x00000800)
- #define XP_FRAGMENTATION (0x00001000)
- #define XP_ENCRYPTS (0x00002000)
- #define RES_SOFT_SEARCH (0x00000001)
- #define RES_FIND_MULTIPLE (0x00000002)
- #define RES_SERVICE (0x00000004)
- #define SERVICE_TYPE_VALUE_SAPIDA "SapId"
- #define SERVICE_TYPE_VALUE_SAPIDW L"SapId"
- #define SERVICE_TYPE_VALUE_CONNA "ConnectionOriented"
- #define SERVICE_TYPE_VALUE_CONNW L"ConnectionOriented"
- #define SERVICE_TYPE_VALUE_TCPPORTA "TcpPort"
- #define SERVICE_TYPE_VALUE_TCPPORTW L"TcpPort"
- #define SERVICE_TYPE_VALUE_UDPPORTA "UdpPort"
- #define SERVICE_TYPE_VALUE_UDPPORTW L"UdpPort"
- #define SERVICE_TYPE_VALUE_SAPID __MINGW_NAME_AW(SERVICE_TYPE_VALUE_SAPID)
- #define SERVICE_TYPE_VALUE_CONN __MINGW_NAME_AW(SERVICE_TYPE_VALUE_CONN)
- #define SERVICE_TYPE_VALUE_TCPPORT __MINGW_NAME_AW(SERVICE_TYPE_VALUE_TCPPORT)
- #define SERVICE_TYPE_VALUE_UDPPORT __MINGW_NAME_AW(SERVICE_TYPE_VALUE_UDPPORT)
- #define SET_SERVICE_PARTIAL_SUCCESS (0x00000001)
- typedef struct _NS_INFOA {
- DWORD dwNameSpace;
- DWORD dwNameSpaceFlags;
- LPSTR lpNameSpace;
- } NS_INFOA,*PNS_INFOA,*LPNS_INFOA;
- typedef struct _NS_INFOW {
- DWORD dwNameSpace;
- DWORD dwNameSpaceFlags;
- LPWSTR lpNameSpace;
- } NS_INFOW,*PNS_INFOW,*LPNS_INFOW;
- __MINGW_TYPEDEF_AW(NS_INFO)
- __MINGW_TYPEDEF_AW(PNS_INFO)
- __MINGW_TYPEDEF_AW(LPNS_INFO)
- typedef struct _SERVICE_TYPE_VALUE {
- DWORD dwNameSpace;
- DWORD dwValueType;
- DWORD dwValueSize;
- DWORD dwValueNameOffset;
- DWORD dwValueOffset;
- } SERVICE_TYPE_VALUE,*PSERVICE_TYPE_VALUE,*LPSERVICE_TYPE_VALUE;
- typedef struct _SERVICE_TYPE_VALUE_ABSA {
- DWORD dwNameSpace;
- DWORD dwValueType;
- DWORD dwValueSize;
- LPSTR lpValueName;
- PVOID lpValue;
- } SERVICE_TYPE_VALUE_ABSA,*PSERVICE_TYPE_VALUE_ABSA,*LPSERVICE_TYPE_VALUE_ABSA;
- typedef struct _SERVICE_TYPE_VALUE_ABSW {
- DWORD dwNameSpace;
- DWORD dwValueType;
- DWORD dwValueSize;
- LPWSTR lpValueName;
- PVOID lpValue;
- } SERVICE_TYPE_VALUE_ABSW,*PSERVICE_TYPE_VALUE_ABSW,*LPSERVICE_TYPE_VALUE_ABSW;
- __MINGW_TYPEDEF_AW(SERVICE_TYPE_VALUE_ABS)
- __MINGW_TYPEDEF_AW(PSERVICE_TYPE_VALUE_ABS)
- __MINGW_TYPEDEF_AW(LPSERVICE_TYPE_VALUE_ABS)
- typedef struct _SERVICE_TYPE_INFO {
- DWORD dwTypeNameOffset;
- DWORD dwValueCount;
- SERVICE_TYPE_VALUE Values[1];
- } SERVICE_TYPE_INFO,*PSERVICE_TYPE_INFO,*LPSERVICE_TYPE_INFO;
- typedef struct _SERVICE_TYPE_INFO_ABSA {
- LPSTR lpTypeName;
- DWORD dwValueCount;
- SERVICE_TYPE_VALUE_ABSA Values[1];
- } SERVICE_TYPE_INFO_ABSA,*PSERVICE_TYPE_INFO_ABSA,*LPSERVICE_TYPE_INFO_ABSA;
- typedef struct _SERVICE_TYPE_INFO_ABSW {
- LPWSTR lpTypeName;
- DWORD dwValueCount;
- SERVICE_TYPE_VALUE_ABSW Values[1];
- } SERVICE_TYPE_INFO_ABSW,*PSERVICE_TYPE_INFO_ABSW,*LPSERVICE_TYPE_INFO_ABSW;
- __MINGW_TYPEDEF_AW(SERVICE_TYPE_INFO_ABS)
- __MINGW_TYPEDEF_AW(PSERVICE_TYPE_INFO_ABS)
- __MINGW_TYPEDEF_AW(LPSERVICE_TYPE_INFO_ABS)
- typedef struct _SERVICE_ADDRESS {
- DWORD dwAddressType;
- DWORD dwAddressFlags;
- DWORD dwAddressLength;
- DWORD dwPrincipalLength;
- BYTE *lpAddress;
- BYTE *lpPrincipal;
- } SERVICE_ADDRESS,*PSERVICE_ADDRESS,*LPSERVICE_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,*PSERVICE_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,*PSERVICE_INFOW,*LPSERVICE_INFOW;
- __MINGW_TYPEDEF_AW(SERVICE_INFO)
- __MINGW_TYPEDEF_AW(PSERVICE_INFO)
- __MINGW_TYPEDEF_AW(LPSERVICE_INFO)
- typedef struct _NS_SERVICE_INFOA {
- DWORD dwNameSpace;
- SERVICE_INFOA ServiceInfo;
- } NS_SERVICE_INFOA,*PNS_SERVICE_INFOA,*LPNS_SERVICE_INFOA;
- typedef struct _NS_SERVICE_INFOW {
- DWORD dwNameSpace;
- SERVICE_INFOW ServiceInfo;
- } NS_SERVICE_INFOW,*PNS_SERVICE_INFOW,*LPNS_SERVICE_INFOW;
- __MINGW_TYPEDEF_AW(NS_SERVICE_INFO)
- __MINGW_TYPEDEF_AW(PNS_SERVICE_INFO)
- __MINGW_TYPEDEF_AW(LPNS_SERVICE_INFO)
- #ifndef __CSADDR_DEFINED__
- #define __CSADDR_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
- typedef struct _PROTOCOL_INFOA {
- DWORD dwServiceFlags;
- INT iAddressFamily;
- INT iMaxSockAddr;
- INT iMinSockAddr;
- INT iSocketType;
- INT iProtocol;
- DWORD dwMessageSize;
- LPSTR lpProtocol;
- } PROTOCOL_INFOA,*PPROTOCOL_INFOA,*LPPROTOCOL_INFOA;
- typedef struct _PROTOCOL_INFOW {
- DWORD dwServiceFlags;
- INT iAddressFamily;
- INT iMaxSockAddr;
- INT iMinSockAddr;
- INT iSocketType;
- INT iProtocol;
- DWORD dwMessageSize;
- LPWSTR lpProtocol;
- } PROTOCOL_INFOW,*PPROTOCOL_INFOW,*LPPROTOCOL_INFOW;
- __MINGW_TYPEDEF_AW(PROTOCOL_INFO)
- __MINGW_TYPEDEF_AW(PPROTOCOL_INFO)
- __MINGW_TYPEDEF_AW(LPPROTOCOL_INFO)
- typedef struct _NETRESOURCE2A {
- DWORD dwScope;
- DWORD dwType;
- DWORD dwUsage;
- DWORD dwDisplayType;
- LPSTR lpLocalName;
- LPSTR lpRemoteName;
- LPSTR lpComment;
- NS_INFO ns_info;
- GUID ServiceType;
- DWORD dwProtocols;
- LPINT lpiProtocols;
- } NETRESOURCE2A,*PNETRESOURCE2A,*LPNETRESOURCE2A;
- typedef struct _NETRESOURCE2W {
- DWORD dwScope;
- DWORD dwType;
- DWORD dwUsage;
- DWORD dwDisplayType;
- LPWSTR lpLocalName;
- LPWSTR lpRemoteName;
- LPWSTR lpComment;
- NS_INFO ns_info;
- GUID ServiceType;
- DWORD dwProtocols;
- LPINT lpiProtocols;
- } NETRESOURCE2W,*PNETRESOURCE2W,*LPNETRESOURCE2W;
- __MINGW_TYPEDEF_AW(NETRESOURCE2)
- __MINGW_TYPEDEF_AW(PNETRESOURCE2)
- __MINGW_TYPEDEF_AW(LPNETRESOURCE2)
- typedef DWORD (*LPFN_NSPAPI)(VOID);
- typedef VOID (*LPSERVICE_CALLBACK_PROC)(LPARAM lParam,HANDLE hAsyncTaskHandle);
- typedef struct _SERVICE_ASYNC_INFO {
- LPSERVICE_CALLBACK_PROC lpServiceCallbackProc;
- LPARAM lParam;
- HANDLE hAsyncTaskHandle;
- } SERVICE_ASYNC_INFO,*PSERVICE_ASYNC_INFO,*LPSERVICE_ASYNC_INFO;
- #define EnumProtocols __MINGW_NAME_AW(EnumProtocols)
- #define GetAddressByName __MINGW_NAME_AW(GetAddressByName)
- #define GetTypeByName __MINGW_NAME_AW(GetTypeByName)
- #define GetNameByType __MINGW_NAME_AW(GetNameByType)
- #define SetService __MINGW_NAME_AW(SetService)
- #define GetService __MINGW_NAME_AW(GetService)
- INT WINAPI EnumProtocolsA(LPINT lpiProtocols,LPVOID lpProtocolBuffer,LPDWORD lpdwBufferLength);
- INT WINAPI EnumProtocolsW(LPINT lpiProtocols,LPVOID lpProtocolBuffer,LPDWORD lpdwBufferLength);
- INT WINAPI GetAddressByNameA(DWORD dwNameSpace,LPGUID lpServiceType,LPSTR lpServiceName,LPINT lpiProtocols,DWORD dwResolution,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPVOID lpCsaddrBuffer,LPDWORD lpdwBufferLength,LPSTR lpAliasBuffer,LPDWORD lpdwAliasBufferLength);
- INT WINAPI GetAddressByNameW(DWORD dwNameSpace,LPGUID lpServiceType,LPWSTR lpServiceName,LPINT lpiProtocols,DWORD dwResolution,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPVOID lpCsaddrBuffer,LPDWORD lpdwBufferLength,LPWSTR lpAliasBuffer,LPDWORD lpdwAliasBufferLength);
- INT WINAPI GetTypeByNameA(LPSTR lpServiceName,LPGUID lpServiceType);
- INT WINAPI GetTypeByNameW(LPWSTR lpServiceName,LPGUID lpServiceType);
- INT WINAPI GetNameByTypeA(LPGUID lpServiceType,LPSTR lpServiceName,DWORD dwNameLength);
- INT WINAPI GetNameByTypeW(LPGUID lpServiceType,LPWSTR lpServiceName,DWORD dwNameLength);
- INT WINAPI SetServiceA(DWORD dwNameSpace,DWORD dwOperation,DWORD dwFlags,LPSERVICE_INFOA lpServiceInfo,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPDWORD lpdwStatusFlags);
- INT WINAPI SetServiceW(DWORD dwNameSpace,DWORD dwOperation,DWORD dwFlags,LPSERVICE_INFOW lpServiceInfo,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPDWORD lpdwStatusFlags);
- INT WINAPI GetServiceA(DWORD dwNameSpace,LPGUID lpGuid,LPSTR lpServiceName,DWORD dwProperties,LPVOID lpBuffer,LPDWORD lpdwBufferSize,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
- INT WINAPI GetServiceW(DWORD dwNameSpace,LPGUID lpGuid,LPWSTR lpServiceName,DWORD dwProperties,LPVOID lpBuffer,LPDWORD lpdwBufferSize,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
- #ifdef __cplusplus
- }
- #endif
- #endif
|