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 
      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
     81