master
 1/**
 2 * This file is part of the mingw-w64 runtime package.
 3 * No warranty is given; refer to the file DISCLAIMER within this package.
 4 */
 5#ifndef _PNRPNS_H_
 6#define _PNRPNS_H_
 7
 8#include <winapifamily.h>
 9
10#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
11
12#include "pnrpdef.h"
13
14#ifndef NS_PNRPNAME
15#define NS_PNRPNAME (38)
16#endif
17
18#ifndef NS_PNRPCLOUD
19#define NS_PNRPCLOUD (39)
20#endif
21
22#define PNRPINFO_HINT 0x1
23
24typedef struct _PNRPINFO_V1 {
25  DWORD dwSize;
26  LPWSTR lpwszIdentity;
27  DWORD nMaxResolve;
28  DWORD dwTimeout;
29  DWORD dwLifetime;
30  PNRP_RESOLVE_CRITERIA enResolveCriteria;
31  DWORD dwFlags;
32  SOCKET_ADDRESS saHint;
33  PNRP_REGISTERED_ID_STATE enNameState;
34} PNRPINFO_V1,*PPNRPINFO_V1;
35
36typedef struct _PNRPINFO_V2 {
37  DWORD dwSize;
38  LPWSTR lpwszIdentity;
39  DWORD nMaxResolve;
40  DWORD dwTimeout;
41  DWORD dwLifetime;
42  PNRP_RESOLVE_CRITERIA enResolveCriteria;
43  DWORD dwFlags;
44  SOCKET_ADDRESS saHint;
45  PNRP_REGISTERED_ID_STATE enNameState;
46  PNRP_EXTENDED_PAYLOAD_TYPE enExtendedPayloadType;
47  __C89_NAMELESS union {
48    BLOB blobPayload;
49    PWSTR pwszPayload;
50  };
51} PNRPINFO_V2,*PPNRPINFO_V2;
52
53#ifdef PNRP_USE_V1_API
54typedef PNRPINFO_V1 PNRPINFO;
55typedef PPNRPINFO_V1 PPNRPINFO;
56#else
57typedef PNRPINFO_V2 PNRPINFO;
58typedef PPNRPINFO_V2 PPNRPINFO;
59#endif
60
61typedef struct _PNRPCLOUDINFO {
62  DWORD dwSize;
63  PNRP_CLOUD_ID Cloud;
64  PNRP_CLOUD_STATE enCloudState;
65  PNRP_CLOUD_FLAGS enCloudFlags;
66} PNRPCLOUDINFO,*PPNRPCLOUDINFO;
67
68#endif
69#endif
70
71#ifdef DEFINE_GUID
72DEFINE_GUID (NS_PROVIDER_PNRPNAME, 0x03fe89cd, 0x766d, 0x4976, 0xb9, 0xc1, 0xbb, 0x9b, 0xc4, 0x2c, 0x7b, 0x4d);
73DEFINE_GUID (NS_PROVIDER_PNRPCLOUD, 0x03fe89ce, 0x766d, 0x4976, 0xb9, 0xc1, 0xbb, 0x9b, 0xc4, 0x2c, 0x7b, 0x4d);
74DEFINE_GUID (SVCID_PNRPCLOUD, 0xc2239ce6, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a);
75DEFINE_GUID (SVCID_PNRPNAME_V1, 0xc2239ce5, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a);
76DEFINE_GUID (SVCID_PNRPNAME_V2, 0xc2239ce7, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a);
77#ifdef PNRP_USE_V1_API
78#define SVCID_PNRPNAME SVCID_PNRPNAME_V1
79#else
80#define SVCID_PNRPNAME SVCID_PNRPNAME_V2
81#endif
82#endif