|  | @@ -0,0 +1,343 @@
 | 
	
		
			
				|  |  | +/* Automatically generated nanopb header */
 | 
	
		
			
				|  |  | +/* Generated by nanopb-0.4.6-dev */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#ifndef PB_PROTOBUF_KEYEXCHANGE_PB_H_INCLUDED
 | 
	
		
			
				|  |  | +#define PB_PROTOBUF_KEYEXCHANGE_PB_H_INCLUDED
 | 
	
		
			
				|  |  | +#include <pb.h>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#if PB_PROTO_HEADER_VERSION != 40
 | 
	
		
			
				|  |  | +#error Regenerate this file with the current version of nanopb generator.
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Enum definitions */
 | 
	
		
			
				|  |  | +typedef enum _Product { 
 | 
	
		
			
				|  |  | +    Product_PRODUCT_CLIENT = 0, 
 | 
	
		
			
				|  |  | +    Product_PRODUCT_LIBSPOTIFY = 1, 
 | 
	
		
			
				|  |  | +    Product_PRODUCT_MOBILE = 2, 
 | 
	
		
			
				|  |  | +    Product_PRODUCT_PARTNER = 3, 
 | 
	
		
			
				|  |  | +    Product_PRODUCT_LIBSPOTIFY_EMBEDDED = 5 
 | 
	
		
			
				|  |  | +} Product;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef enum _Platform2 { 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_WIN32_X86 = 0, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_OSX_X86 = 1, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_LINUX_X86 = 2, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_IPHONE_ARM = 3, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_S60_ARM = 4, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_OSX_PPC = 5, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_ANDROID_ARM = 6, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_WINDOWS_CE_ARM = 7, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_LINUX_X86_64 = 8, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_OSX_X86_64 = 9, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_PALM_ARM = 10, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_LINUX_SH = 11, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_FREEBSD_X86 = 12, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_FREEBSD_X86_64 = 13, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_BLACKBERRY_ARM = 14, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_SONOS = 15, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_LINUX_MIPS = 16, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_LINUX_ARM = 17, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_LOGITECH_ARM = 18, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_LINUX_BLACKFIN = 19, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_WP7_ARM = 20, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_ONKYO_ARM = 21, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_QNXNTO_ARM = 22, 
 | 
	
		
			
				|  |  | +    Platform2_PLATFORM_BCO_ARM = 23 
 | 
	
		
			
				|  |  | +} Platform2;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef enum _Cryptosuite { 
 | 
	
		
			
				|  |  | +    Cryptosuite_CRYPTO_SUITE_SHANNON = 0, 
 | 
	
		
			
				|  |  | +    Cryptosuite_CRYPTO_SUITE_RC4_SHA1_HMAC = 1 
 | 
	
		
			
				|  |  | +} Cryptosuite;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Struct definitions */
 | 
	
		
			
				|  |  | +typedef struct _CryptoResponseUnion { 
 | 
	
		
			
				|  |  | +    char dummy_field;
 | 
	
		
			
				|  |  | +} CryptoResponseUnion;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _PoWResponseUnion { 
 | 
	
		
			
				|  |  | +    char dummy_field;
 | 
	
		
			
				|  |  | +} PoWResponseUnion;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _BuildInfo { 
 | 
	
		
			
				|  |  | +    Product product; 
 | 
	
		
			
				|  |  | +    Platform2 platform; 
 | 
	
		
			
				|  |  | +    uint64_t version; 
 | 
	
		
			
				|  |  | +} BuildInfo;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _FeatureSet { 
 | 
	
		
			
				|  |  | +    bool has_autoupdate2;
 | 
	
		
			
				|  |  | +    bool autoupdate2; 
 | 
	
		
			
				|  |  | +} FeatureSet;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _LoginCryptoDiffieHellmanChallenge { 
 | 
	
		
			
				|  |  | +    pb_byte_t gs[96]; 
 | 
	
		
			
				|  |  | +} LoginCryptoDiffieHellmanChallenge;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _LoginCryptoDiffieHellmanHello { 
 | 
	
		
			
				|  |  | +    pb_byte_t gc[96]; 
 | 
	
		
			
				|  |  | +    uint32_t server_keys_known; 
 | 
	
		
			
				|  |  | +} LoginCryptoDiffieHellmanHello;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _LoginCryptoDiffieHellmanResponse { 
 | 
	
		
			
				|  |  | +    pb_byte_t hmac[20]; 
 | 
	
		
			
				|  |  | +} LoginCryptoDiffieHellmanResponse;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _LoginCryptoChallengeUnion { 
 | 
	
		
			
				|  |  | +    bool has_diffie_hellman;
 | 
	
		
			
				|  |  | +    LoginCryptoDiffieHellmanChallenge diffie_hellman; 
 | 
	
		
			
				|  |  | +} LoginCryptoChallengeUnion;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _LoginCryptoHelloUnion { 
 | 
	
		
			
				|  |  | +    bool has_diffie_hellman;
 | 
	
		
			
				|  |  | +    LoginCryptoDiffieHellmanHello diffie_hellman; 
 | 
	
		
			
				|  |  | +} LoginCryptoHelloUnion;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _LoginCryptoResponseUnion { 
 | 
	
		
			
				|  |  | +    bool has_diffie_hellman;
 | 
	
		
			
				|  |  | +    LoginCryptoDiffieHellmanResponse diffie_hellman; 
 | 
	
		
			
				|  |  | +} LoginCryptoResponseUnion;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _APChallenge { 
 | 
	
		
			
				|  |  | +    LoginCryptoChallengeUnion login_crypto_challenge; 
 | 
	
		
			
				|  |  | +} APChallenge;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _ClientHello { 
 | 
	
		
			
				|  |  | +    BuildInfo build_info; 
 | 
	
		
			
				|  |  | +    Cryptosuite cryptosuites_supported[1]; 
 | 
	
		
			
				|  |  | +    LoginCryptoHelloUnion login_crypto_hello; 
 | 
	
		
			
				|  |  | +    pb_byte_t client_nonce[16]; 
 | 
	
		
			
				|  |  | +    bool has_padding;
 | 
	
		
			
				|  |  | +    pb_byte_t padding[1]; 
 | 
	
		
			
				|  |  | +    bool has_feature_set;
 | 
	
		
			
				|  |  | +    FeatureSet feature_set; 
 | 
	
		
			
				|  |  | +} ClientHello;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _ClientResponsePlaintext { 
 | 
	
		
			
				|  |  | +    LoginCryptoResponseUnion login_crypto_response; 
 | 
	
		
			
				|  |  | +    PoWResponseUnion pow_response; 
 | 
	
		
			
				|  |  | +    CryptoResponseUnion crypto_response; 
 | 
	
		
			
				|  |  | +} ClientResponsePlaintext;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +typedef struct _APResponseMessage { 
 | 
	
		
			
				|  |  | +    bool has_challenge;
 | 
	
		
			
				|  |  | +    APChallenge challenge; 
 | 
	
		
			
				|  |  | +} APResponseMessage;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Helper constants for enums */
 | 
	
		
			
				|  |  | +#define _Product_MIN Product_PRODUCT_CLIENT
 | 
	
		
			
				|  |  | +#define _Product_MAX Product_PRODUCT_LIBSPOTIFY_EMBEDDED
 | 
	
		
			
				|  |  | +#define _Product_ARRAYSIZE ((Product)(Product_PRODUCT_LIBSPOTIFY_EMBEDDED+1))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define _Platform2_MIN Platform2_PLATFORM_WIN32_X86
 | 
	
		
			
				|  |  | +#define _Platform2_MAX Platform2_PLATFORM_BCO_ARM
 | 
	
		
			
				|  |  | +#define _Platform2_ARRAYSIZE ((Platform2)(Platform2_PLATFORM_BCO_ARM+1))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define _Cryptosuite_MIN Cryptosuite_CRYPTO_SUITE_SHANNON
 | 
	
		
			
				|  |  | +#define _Cryptosuite_MAX Cryptosuite_CRYPTO_SUITE_RC4_SHA1_HMAC
 | 
	
		
			
				|  |  | +#define _Cryptosuite_ARRAYSIZE ((Cryptosuite)(Cryptosuite_CRYPTO_SUITE_RC4_SHA1_HMAC+1))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#ifdef __cplusplus
 | 
	
		
			
				|  |  | +extern "C" {
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Initializer values for message structs */
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanChallenge_init_default {{0}}
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_init_default   {false, LoginCryptoDiffieHellmanChallenge_init_default}
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_init_default {{0}, 0}
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_init_default       {false, LoginCryptoDiffieHellmanHello_init_default}
 | 
	
		
			
				|  |  | +#define BuildInfo_init_default                   {_Product_MIN, _Platform2_MIN, 0}
 | 
	
		
			
				|  |  | +#define FeatureSet_init_default                  {false, 0}
 | 
	
		
			
				|  |  | +#define APChallenge_init_default                 {LoginCryptoChallengeUnion_init_default}
 | 
	
		
			
				|  |  | +#define APResponseMessage_init_default           {false, APChallenge_init_default}
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanResponse_init_default {{0}}
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_init_default    {false, LoginCryptoDiffieHellmanResponse_init_default}
 | 
	
		
			
				|  |  | +#define CryptoResponseUnion_init_default         {0}
 | 
	
		
			
				|  |  | +#define PoWResponseUnion_init_default            {0}
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_init_default     {LoginCryptoResponseUnion_init_default, PoWResponseUnion_init_default, CryptoResponseUnion_init_default}
 | 
	
		
			
				|  |  | +#define ClientHello_init_default                 {BuildInfo_init_default, {_Cryptosuite_MIN}, LoginCryptoHelloUnion_init_default, {0}, false, {0}, false, FeatureSet_init_default}
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanChallenge_init_zero {{0}}
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_init_zero      {false, LoginCryptoDiffieHellmanChallenge_init_zero}
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_init_zero  {{0}, 0}
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_init_zero          {false, LoginCryptoDiffieHellmanHello_init_zero}
 | 
	
		
			
				|  |  | +#define BuildInfo_init_zero                      {_Product_MIN, _Platform2_MIN, 0}
 | 
	
		
			
				|  |  | +#define FeatureSet_init_zero                     {false, 0}
 | 
	
		
			
				|  |  | +#define APChallenge_init_zero                    {LoginCryptoChallengeUnion_init_zero}
 | 
	
		
			
				|  |  | +#define APResponseMessage_init_zero              {false, APChallenge_init_zero}
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanResponse_init_zero {{0}}
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_init_zero       {false, LoginCryptoDiffieHellmanResponse_init_zero}
 | 
	
		
			
				|  |  | +#define CryptoResponseUnion_init_zero            {0}
 | 
	
		
			
				|  |  | +#define PoWResponseUnion_init_zero               {0}
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_init_zero        {LoginCryptoResponseUnion_init_zero, PoWResponseUnion_init_zero, CryptoResponseUnion_init_zero}
 | 
	
		
			
				|  |  | +#define ClientHello_init_zero                    {BuildInfo_init_zero, {_Cryptosuite_MIN}, LoginCryptoHelloUnion_init_zero, {0}, false, {0}, false, FeatureSet_init_zero}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Field tags (for use in manual encoding/decoding) */
 | 
	
		
			
				|  |  | +#define BuildInfo_product_tag                    10
 | 
	
		
			
				|  |  | +#define BuildInfo_platform_tag                   30
 | 
	
		
			
				|  |  | +#define BuildInfo_version_tag                    40
 | 
	
		
			
				|  |  | +#define FeatureSet_autoupdate2_tag               1
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanChallenge_gs_tag 10
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_gc_tag     10
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_server_keys_known_tag 20
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanResponse_hmac_tag 10
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_diffie_hellman_tag 10
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_diffie_hellman_tag 10
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_diffie_hellman_tag 10
 | 
	
		
			
				|  |  | +#define APChallenge_login_crypto_challenge_tag   10
 | 
	
		
			
				|  |  | +#define ClientHello_build_info_tag               10
 | 
	
		
			
				|  |  | +#define ClientHello_cryptosuites_supported_tag   30
 | 
	
		
			
				|  |  | +#define ClientHello_login_crypto_hello_tag       50
 | 
	
		
			
				|  |  | +#define ClientHello_client_nonce_tag             60
 | 
	
		
			
				|  |  | +#define ClientHello_padding_tag                  70
 | 
	
		
			
				|  |  | +#define ClientHello_feature_set_tag              80
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_login_crypto_response_tag 10
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_pow_response_tag 20
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_crypto_response_tag 30
 | 
	
		
			
				|  |  | +#define APResponseMessage_challenge_tag          10
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Struct field encoding specification for nanopb */
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanChallenge_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, FIXED_LENGTH_BYTES, gs,               10)
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanChallenge_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanChallenge_DEFAULT NULL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   OPTIONAL, MESSAGE,  diffie_hellman,   10)
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_DEFAULT NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_diffie_hellman_MSGTYPE LoginCryptoDiffieHellmanChallenge
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, FIXED_LENGTH_BYTES, gc,               10) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, UINT32,   server_keys_known,  20)
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_DEFAULT NULL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   OPTIONAL, MESSAGE,  diffie_hellman,   10)
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_DEFAULT NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_diffie_hellman_MSGTYPE LoginCryptoDiffieHellmanHello
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define BuildInfo_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, UENUM,    product,          10) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, UENUM,    platform,         30) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, UINT64,   version,          40)
 | 
	
		
			
				|  |  | +#define BuildInfo_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define BuildInfo_DEFAULT NULL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define FeatureSet_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   OPTIONAL, BOOL,     autoupdate2,       1)
 | 
	
		
			
				|  |  | +#define FeatureSet_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define FeatureSet_DEFAULT NULL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define APChallenge_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, MESSAGE,  login_crypto_challenge,  10)
 | 
	
		
			
				|  |  | +#define APChallenge_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define APChallenge_DEFAULT NULL
 | 
	
		
			
				|  |  | +#define APChallenge_login_crypto_challenge_MSGTYPE LoginCryptoChallengeUnion
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define APResponseMessage_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   OPTIONAL, MESSAGE,  challenge,        10)
 | 
	
		
			
				|  |  | +#define APResponseMessage_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define APResponseMessage_DEFAULT NULL
 | 
	
		
			
				|  |  | +#define APResponseMessage_challenge_MSGTYPE APChallenge
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanResponse_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, FIXED_LENGTH_BYTES, hmac,             10)
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanResponse_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanResponse_DEFAULT NULL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   OPTIONAL, MESSAGE,  diffie_hellman,   10)
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_DEFAULT NULL
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_diffie_hellman_MSGTYPE LoginCryptoDiffieHellmanResponse
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define CryptoResponseUnion_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define CryptoResponseUnion_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define CryptoResponseUnion_DEFAULT NULL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define PoWResponseUnion_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define PoWResponseUnion_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define PoWResponseUnion_DEFAULT NULL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, MESSAGE,  login_crypto_response,  10) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, MESSAGE,  pow_response,     20) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, MESSAGE,  crypto_response,  30)
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_DEFAULT NULL
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_login_crypto_response_MSGTYPE LoginCryptoResponseUnion
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_pow_response_MSGTYPE PoWResponseUnion
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_crypto_response_MSGTYPE CryptoResponseUnion
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define ClientHello_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, MESSAGE,  build_info,       10) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   FIXARRAY, UENUM,    cryptosuites_supported,  30) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, MESSAGE,  login_crypto_hello,  50) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   REQUIRED, FIXED_LENGTH_BYTES, client_nonce,     60) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   OPTIONAL, FIXED_LENGTH_BYTES, padding,          70) \
 | 
	
		
			
				|  |  | +X(a, STATIC,   OPTIONAL, MESSAGE,  feature_set,      80)
 | 
	
		
			
				|  |  | +#define ClientHello_CALLBACK NULL
 | 
	
		
			
				|  |  | +#define ClientHello_DEFAULT NULL
 | 
	
		
			
				|  |  | +#define ClientHello_build_info_MSGTYPE BuildInfo
 | 
	
		
			
				|  |  | +#define ClientHello_login_crypto_hello_MSGTYPE LoginCryptoHelloUnion
 | 
	
		
			
				|  |  | +#define ClientHello_feature_set_MSGTYPE FeatureSet
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t LoginCryptoDiffieHellmanChallenge_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t LoginCryptoChallengeUnion_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t LoginCryptoDiffieHellmanHello_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t LoginCryptoHelloUnion_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t BuildInfo_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t FeatureSet_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t APChallenge_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t APResponseMessage_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t LoginCryptoDiffieHellmanResponse_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t LoginCryptoResponseUnion_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t CryptoResponseUnion_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t PoWResponseUnion_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t ClientResponsePlaintext_msg;
 | 
	
		
			
				|  |  | +extern const pb_msgdesc_t ClientHello_msg;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanChallenge_fields &LoginCryptoDiffieHellmanChallenge_msg
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_fields &LoginCryptoChallengeUnion_msg
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_fields &LoginCryptoDiffieHellmanHello_msg
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_fields &LoginCryptoHelloUnion_msg
 | 
	
		
			
				|  |  | +#define BuildInfo_fields &BuildInfo_msg
 | 
	
		
			
				|  |  | +#define FeatureSet_fields &FeatureSet_msg
 | 
	
		
			
				|  |  | +#define APChallenge_fields &APChallenge_msg
 | 
	
		
			
				|  |  | +#define APResponseMessage_fields &APResponseMessage_msg
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanResponse_fields &LoginCryptoDiffieHellmanResponse_msg
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_fields &LoginCryptoResponseUnion_msg
 | 
	
		
			
				|  |  | +#define CryptoResponseUnion_fields &CryptoResponseUnion_msg
 | 
	
		
			
				|  |  | +#define PoWResponseUnion_fields &PoWResponseUnion_msg
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_fields &ClientResponsePlaintext_msg
 | 
	
		
			
				|  |  | +#define ClientHello_fields &ClientHello_msg
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Maximum encoded size of messages (where known) */
 | 
	
		
			
				|  |  | +#define APChallenge_size                         102
 | 
	
		
			
				|  |  | +#define APResponseMessage_size                   104
 | 
	
		
			
				|  |  | +#define BuildInfo_size                           17
 | 
	
		
			
				|  |  | +#define ClientHello_size                         161
 | 
	
		
			
				|  |  | +#define ClientResponsePlaintext_size             32
 | 
	
		
			
				|  |  | +#define CryptoResponseUnion_size                 0
 | 
	
		
			
				|  |  | +#define FeatureSet_size                          2
 | 
	
		
			
				|  |  | +#define LoginCryptoChallengeUnion_size           100
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanChallenge_size   98
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanHello_size       105
 | 
	
		
			
				|  |  | +#define LoginCryptoDiffieHellmanResponse_size    22
 | 
	
		
			
				|  |  | +#define LoginCryptoHelloUnion_size               107
 | 
	
		
			
				|  |  | +#define LoginCryptoResponseUnion_size            24
 | 
	
		
			
				|  |  | +#define PoWResponseUnion_size                    0
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#ifdef __cplusplus
 | 
	
		
			
				|  |  | +} /* extern "C" */
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#endif
 |