| 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 |
|
| 6 |
#include <winapifamily.h> |
| 7 |
|
| 8 |
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) |
| 9 |
|
| 10 |
#if defined (PNRP_USE_V1_API) && defined (PNRP_USE_V2_API) |
| 11 |
#error either define PNRP_USE_V1_API, or PNRP_USE_V2_API |
| 12 |
#endif |
| 13 |
|
| 14 |
#if !defined (PNRP_USE_V1_API) && !defined (PNRP_USE_V2_API) |
| 15 |
#if _WIN32_WINNT >= 0x0600 |
| 16 |
#define PNRP_USE_V2_API |
| 17 |
#else |
| 18 |
#define PNRP_USE_V1_API |
| 19 |
#endif |
| 20 |
#endif |
| 21 |
|
| 22 |
#define PNRP_MAX_ENDPOINT_ADDRESSES (10) |
| 23 |
#define PNRP_MAX_EXTENDED_PAYLOAD_BYTES (0x1000) |
| 24 |
|
| 25 |
#define WSZ_SCOPE_GLOBAL L"GLOBAL" |
| 26 |
#define WSZ_SCOPE_SITELOCAL L"SITELOCAL" |
| 27 |
#define WSZ_SCOPE_LINKLOCAL L"LINKLOCAL" |
| 28 |
|
| 29 |
typedef enum _PNRP_SCOPE { |
| 30 |
PNRP_SCOPE_ANY = 0, |
| 31 |
PNRP_GLOBAL_SCOPE = 1, |
| 32 |
PNRP_SITE_LOCAL_SCOPE = 2, |
| 33 |
PNRP_LINK_LOCAL_SCOPE = 3 |
| 34 |
} PNRP_SCOPE,*PPNRP_SCOPE; |
| 35 |
|
| 36 |
typedef enum _PNRP_CLOUD_STATE { |
| 37 |
PNRP_CLOUD_STATE_VIRTUAL = 0, |
| 38 |
PNRP_CLOUD_STATE_SYNCHRONISING = 1, |
| 39 |
PNRP_CLOUD_STATE_ACTIVE = 2, |
| 40 |
PNRP_CLOUD_STATE_DEAD = 3, |
| 41 |
PNRP_CLOUD_STATE_DISABLED = 4, |
| 42 |
PNRP_CLOUD_STATE_NO_NET = 5, |
| 43 |
PNRP_CLOUD_STATE_ALONE = 6 |
| 44 |
} PNRP_CLOUD_STATE; |
| 45 |
|
| 46 |
typedef enum _PNRP_CLOUD_FLAGS { |
| 47 |
PNRP_CLOUD_NO_FLAGS = 0, |
| 48 |
PNRP_CLOUD_NAME_LOCAL = 1, |
| 49 |
PNRP_CLOUD_RESOLVE_ONLY = 2, |
| 50 |
PNRP_CLOUD_FULL_PARTICIPANT = 4 |
| 51 |
} PNRP_CLOUD_FLAGS; |
| 52 |
|
| 53 |
typedef enum _PNRP_REGISTERED_ID_STATE { |
| 54 |
PNRP_REGISTERED_ID_STATE_OK = 1, |
| 55 |
PNRP_REGISTERED_ID_STATE_PROBLEM = 2 |
| 56 |
} PNRP_REGISTERED_ID_STATE; |
| 57 |
|
| 58 |
typedef enum _PNRP_RESOLVE_CRITERIA { |
| 59 |
PNRP_RESOLVE_CRITERIA_DEFAULT = 0, |
| 60 |
PNRP_RESOLVE_CRITERIA_REMOTE_PEER_NAME = 1, |
| 61 |
PNRP_RESOLVE_CRITERIA_NEAREST_REMOTE_PEER_NAME = 2, |
| 62 |
PNRP_RESOLVE_CRITERIA_NON_CURRENT_PROCESS_PEER_NAME = 3, |
| 63 |
PNRP_RESOLVE_CRITERIA_NEAREST_NON_CURRENT_PROCESS_PEER_NAME = 4, |
| 64 |
PNRP_RESOLVE_CRITERIA_ANY_PEER_NAME = 5, |
| 65 |
PNRP_RESOLVE_CRITERIA_NEAREST_PEER_NAME = 6 |
| 66 |
} PNRP_RESOLVE_CRITERIA; |
| 67 |
|
| 68 |
typedef struct _PNRP_CLOUD_ID { |
| 69 |
INT AddressFamily; |
| 70 |
PNRP_SCOPE Scope; |
| 71 |
ULONG ScopeId; |
| 72 |
} PNRP_CLOUD_ID,*PPNRP_CLOUD_ID; |
| 73 |
|
| 74 |
typedef enum _PNRP_EXTENDED_PAYLOAD_TYPE { |
| 75 |
PNRP_EXTENDED_PAYLOAD_TYPE_NONE = 0, |
| 76 |
PNRP_EXTENDED_PAYLOAD_TYPE_BINARY, |
| 77 |
PNRP_EXTENDED_PAYLOAD_TYPE_STRING, |
| 78 |
} PNRP_EXTENDED_PAYLOAD_TYPE,*PPNRP_EXTENDED_PAYLOAD_TYPE; |
| 79 |
|
| 80 |
#endif |