Home | History | Annotate | Download | only in include
      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 
     24 typedef 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 
     36 typedef 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
     54 typedef PNRPINFO_V1 PNRPINFO;
     55 typedef PPNRPINFO_V1 PPNRPINFO;
     56 #else
     57 typedef PNRPINFO_V2 PNRPINFO;
     58 typedef PPNRPINFO_V2 PPNRPINFO;
     59 #endif
     60 
     61 typedef 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
     72 DEFINE_GUID (NS_PROVIDER_PNRPNAME, 0x03fe89cd, 0x766d, 0x4976, 0xb9, 0xc1, 0xbb, 0x9b, 0xc4, 0x2c, 0x7b, 0x4d);
     73 DEFINE_GUID (NS_PROVIDER_PNRPCLOUD, 0x03fe89ce, 0x766d, 0x4976, 0xb9, 0xc1, 0xbb, 0x9b, 0xc4, 0x2c, 0x7b, 0x4d);
     74 DEFINE_GUID (SVCID_PNRPCLOUD, 0xc2239ce6, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a);
     75 DEFINE_GUID (SVCID_PNRPNAME_V1, 0xc2239ce5, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a);
     76 DEFINE_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
     83