pnrpdef.h 2.2 KB

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