/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: clienttoken.proto */

#ifndef PROTOBUF_C_clienttoken_2eproto__INCLUDED
#define PROTOBUF_C_clienttoken_2eproto__INCLUDED

#include <protobuf-c/protobuf-c.h>

PROTOBUF_C__BEGIN_DECLS

#if PROTOBUF_C_VERSION_NUMBER < 1003000
# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
#elif 1004001 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
#endif

#include "connectivity.pb-c.h"

typedef struct Spotify__Clienttoken__Http__V0__ClientTokenRequest Spotify__Clienttoken__Http__V0__ClientTokenRequest;
typedef struct Spotify__Clienttoken__Http__V0__ClientDataRequest Spotify__Clienttoken__Http__V0__ClientDataRequest;
typedef struct Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest;
typedef struct Spotify__Clienttoken__Http__V0__ClientTokenResponse Spotify__Clienttoken__Http__V0__ClientTokenResponse;
typedef struct Spotify__Clienttoken__Http__V0__TokenDomain Spotify__Clienttoken__Http__V0__TokenDomain;
typedef struct Spotify__Clienttoken__Http__V0__GrantedTokenResponse Spotify__Clienttoken__Http__V0__GrantedTokenResponse;
typedef struct Spotify__Clienttoken__Http__V0__ChallengesResponse Spotify__Clienttoken__Http__V0__ChallengesResponse;
typedef struct Spotify__Clienttoken__Http__V0__ClientSecretParameters Spotify__Clienttoken__Http__V0__ClientSecretParameters;
typedef struct Spotify__Clienttoken__Http__V0__EvaluateJSParameters Spotify__Clienttoken__Http__V0__EvaluateJSParameters;
typedef struct Spotify__Clienttoken__Http__V0__HashCashParameters Spotify__Clienttoken__Http__V0__HashCashParameters;
typedef struct Spotify__Clienttoken__Http__V0__Challenge Spotify__Clienttoken__Http__V0__Challenge;
typedef struct Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer;
typedef struct Spotify__Clienttoken__Http__V0__EvaluateJSAnswer Spotify__Clienttoken__Http__V0__EvaluateJSAnswer;
typedef struct Spotify__Clienttoken__Http__V0__HashCashAnswer Spotify__Clienttoken__Http__V0__HashCashAnswer;
typedef struct Spotify__Clienttoken__Http__V0__ChallengeAnswer Spotify__Clienttoken__Http__V0__ChallengeAnswer;
typedef struct Spotify__Clienttoken__Http__V0__ClientTokenBadRequest Spotify__Clienttoken__Http__V0__ClientTokenBadRequest;


/* --- enums --- */

typedef enum _Spotify__Clienttoken__Http__V0__ClientTokenRequestType {
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST_TYPE__REQUEST_UNKNOWN = 0,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST_TYPE__REQUEST_CLIENT_DATA_REQUEST = 1,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST_TYPE__REQUEST_CHALLENGE_ANSWERS_REQUEST = 2
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST_TYPE)
} Spotify__Clienttoken__Http__V0__ClientTokenRequestType;
typedef enum _Spotify__Clienttoken__Http__V0__ClientTokenResponseType {
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE_TYPE__RESPONSE_UNKNOWN = 0,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE_TYPE__RESPONSE_GRANTED_TOKEN_RESPONSE = 1,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE_TYPE__RESPONSE_CHALLENGES_RESPONSE = 2
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE_TYPE)
} Spotify__Clienttoken__Http__V0__ClientTokenResponseType;
typedef enum _Spotify__Clienttoken__Http__V0__ChallengeType {
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_UNKNOWN = 0,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_CLIENT_SECRET_HMAC = 1,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_EVALUATE_JS = 2,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_HASH_CASH = 3
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE)
} Spotify__Clienttoken__Http__V0__ChallengeType;

/* --- messages --- */

typedef enum {
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST__REQUEST__NOT_SET = 0,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST__REQUEST_CLIENT_DATA = 2,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST__REQUEST_CHALLENGE_ANSWERS = 3
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST__REQUEST__CASE)
} Spotify__Clienttoken__Http__V0__ClientTokenRequest__RequestCase;

struct  Spotify__Clienttoken__Http__V0__ClientTokenRequest
{
  ProtobufCMessage base;
  Spotify__Clienttoken__Http__V0__ClientTokenRequestType request_type;
  Spotify__Clienttoken__Http__V0__ClientTokenRequest__RequestCase request_case;
  union {
    Spotify__Clienttoken__Http__V0__ClientDataRequest *client_data;
    Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *challenge_answers;
  };
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__client_token_request__descriptor) \
    , SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST_TYPE__REQUEST_UNKNOWN, SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST__REQUEST__NOT_SET, {0} }


typedef enum {
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_DATA_REQUEST__DATA__NOT_SET = 0,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_DATA_REQUEST__DATA_CONNECTIVITY_SDK_DATA = 3
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_DATA_REQUEST__DATA__CASE)
} Spotify__Clienttoken__Http__V0__ClientDataRequest__DataCase;

struct  Spotify__Clienttoken__Http__V0__ClientDataRequest
{
  ProtobufCMessage base;
  char *client_version;
  char *client_id;
  Spotify__Clienttoken__Http__V0__ClientDataRequest__DataCase data_case;
  union {
    Spotify__Clienttoken__Data__V0__ConnectivitySdkData *connectivity_sdk_data;
  };
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_DATA_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__client_data_request__descriptor) \
    , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_DATA_REQUEST__DATA__NOT_SET, {0} }


struct  Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest
{
  ProtobufCMessage base;
  char *state;
  size_t n_answers;
  Spotify__Clienttoken__Http__V0__ChallengeAnswer **answers;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWERS_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__challenge_answers_request__descriptor) \
    , (char *)protobuf_c_empty_string, 0,NULL }


typedef enum {
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE__RESPONSE__NOT_SET = 0,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE__RESPONSE_GRANTED_TOKEN = 2,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE__RESPONSE_CHALLENGES = 3
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE__RESPONSE__CASE)
} Spotify__Clienttoken__Http__V0__ClientTokenResponse__ResponseCase;

struct  Spotify__Clienttoken__Http__V0__ClientTokenResponse
{
  ProtobufCMessage base;
  Spotify__Clienttoken__Http__V0__ClientTokenResponseType response_type;
  Spotify__Clienttoken__Http__V0__ClientTokenResponse__ResponseCase response_case;
  union {
    Spotify__Clienttoken__Http__V0__GrantedTokenResponse *granted_token;
    Spotify__Clienttoken__Http__V0__ChallengesResponse *challenges;
  };
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__client_token_response__descriptor) \
    , SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE_TYPE__RESPONSE_UNKNOWN, SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE__RESPONSE__NOT_SET, {0} }


struct  Spotify__Clienttoken__Http__V0__TokenDomain
{
  ProtobufCMessage base;
  char *domain;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__TOKEN_DOMAIN__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__token_domain__descriptor) \
    , (char *)protobuf_c_empty_string }


struct  Spotify__Clienttoken__Http__V0__GrantedTokenResponse
{
  ProtobufCMessage base;
  char *token;
  int32_t expires_after_seconds;
  int32_t refresh_after_seconds;
  size_t n_domains;
  Spotify__Clienttoken__Http__V0__TokenDomain **domains;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__GRANTED_TOKEN_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__granted_token_response__descriptor) \
    , (char *)protobuf_c_empty_string, 0, 0, 0,NULL }


struct  Spotify__Clienttoken__Http__V0__ChallengesResponse
{
  ProtobufCMessage base;
  char *state;
  size_t n_challenges;
  Spotify__Clienttoken__Http__V0__Challenge **challenges;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGES_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__challenges_response__descriptor) \
    , (char *)protobuf_c_empty_string, 0,NULL }


struct  Spotify__Clienttoken__Http__V0__ClientSecretParameters
{
  ProtobufCMessage base;
  char *salt;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_SECRET_PARAMETERS__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__client_secret_parameters__descriptor) \
    , (char *)protobuf_c_empty_string }


struct  Spotify__Clienttoken__Http__V0__EvaluateJSParameters
{
  ProtobufCMessage base;
  char *code;
  size_t n_libraries;
  char **libraries;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__EVALUATE_JSPARAMETERS__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor) \
    , (char *)protobuf_c_empty_string, 0,NULL }


struct  Spotify__Clienttoken__Http__V0__HashCashParameters
{
  ProtobufCMessage base;
  int32_t length;
  char *prefix;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__HASH_CASH_PARAMETERS__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__hash_cash_parameters__descriptor) \
    , 0, (char *)protobuf_c_empty_string }


typedef enum {
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE__PARAMETERS__NOT_SET = 0,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE__PARAMETERS_CLIENT_SECRET_PARAMETERS = 2,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE__PARAMETERS_EVALUATE_JS_PARAMETERS = 3,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE__PARAMETERS_EVALUATE_HASHCASH_PARAMETERS = 4
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE__PARAMETERS__CASE)
} Spotify__Clienttoken__Http__V0__Challenge__ParametersCase;

struct  Spotify__Clienttoken__Http__V0__Challenge
{
  ProtobufCMessage base;
  Spotify__Clienttoken__Http__V0__ChallengeType type;
  Spotify__Clienttoken__Http__V0__Challenge__ParametersCase parameters_case;
  union {
    Spotify__Clienttoken__Http__V0__ClientSecretParameters *client_secret_parameters;
    Spotify__Clienttoken__Http__V0__EvaluateJSParameters *evaluate_js_parameters;
    Spotify__Clienttoken__Http__V0__HashCashParameters *evaluate_hashcash_parameters;
  };
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__challenge__descriptor) \
    , SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_UNKNOWN, SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE__PARAMETERS__NOT_SET, {0} }


struct  Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer
{
  ProtobufCMessage base;
  char *hmac;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_SECRET_HMACANSWER__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor) \
    , (char *)protobuf_c_empty_string }


struct  Spotify__Clienttoken__Http__V0__EvaluateJSAnswer
{
  ProtobufCMessage base;
  char *result;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__EVALUATE_JSANSWER__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor) \
    , (char *)protobuf_c_empty_string }


struct  Spotify__Clienttoken__Http__V0__HashCashAnswer
{
  ProtobufCMessage base;
  char *suffix;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__HASH_CASH_ANSWER__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__hash_cash_answer__descriptor) \
    , (char *)protobuf_c_empty_string }


typedef enum {
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWER__ANSWER__NOT_SET = 0,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWER__ANSWER_CLIENT_SECRET = 2,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWER__ANSWER_EVALUATE_JS = 3,
  SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWER__ANSWER_HASH_CASH = 4
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWER__ANSWER__CASE)
} Spotify__Clienttoken__Http__V0__ChallengeAnswer__AnswerCase;

struct  Spotify__Clienttoken__Http__V0__ChallengeAnswer
{
  ProtobufCMessage base;
  Spotify__Clienttoken__Http__V0__ChallengeType challengetype;
  Spotify__Clienttoken__Http__V0__ChallengeAnswer__AnswerCase answer_case;
  union {
    Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *client_secret;
    Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *evaluate_js;
    Spotify__Clienttoken__Http__V0__HashCashAnswer *hash_cash;
  };
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWER__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__challenge_answer__descriptor) \
    , SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_UNKNOWN, SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWER__ANSWER__NOT_SET, {0} }


struct  Spotify__Clienttoken__Http__V0__ClientTokenBadRequest
{
  ProtobufCMessage base;
  char *message;
};
#define SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_BAD_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&spotify__clienttoken__http__v0__client_token_bad_request__descriptor) \
    , (char *)protobuf_c_empty_string }


/* Spotify__Clienttoken__Http__V0__ClientTokenRequest methods */
void   spotify__clienttoken__http__v0__client_token_request__init
                     (Spotify__Clienttoken__Http__V0__ClientTokenRequest         *message);
size_t spotify__clienttoken__http__v0__client_token_request__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientTokenRequest   *message);
size_t spotify__clienttoken__http__v0__client_token_request__pack
                     (const Spotify__Clienttoken__Http__V0__ClientTokenRequest   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__client_token_request__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientTokenRequest   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ClientTokenRequest *
       spotify__clienttoken__http__v0__client_token_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__client_token_request__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientTokenRequest *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__ClientDataRequest methods */
void   spotify__clienttoken__http__v0__client_data_request__init
                     (Spotify__Clienttoken__Http__V0__ClientDataRequest         *message);
size_t spotify__clienttoken__http__v0__client_data_request__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientDataRequest   *message);
size_t spotify__clienttoken__http__v0__client_data_request__pack
                     (const Spotify__Clienttoken__Http__V0__ClientDataRequest   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__client_data_request__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientDataRequest   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ClientDataRequest *
       spotify__clienttoken__http__v0__client_data_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__client_data_request__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientDataRequest *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest methods */
void   spotify__clienttoken__http__v0__challenge_answers_request__init
                     (Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest         *message);
size_t spotify__clienttoken__http__v0__challenge_answers_request__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest   *message);
size_t spotify__clienttoken__http__v0__challenge_answers_request__pack
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__challenge_answers_request__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *
       spotify__clienttoken__http__v0__challenge_answers_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__challenge_answers_request__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__ClientTokenResponse methods */
void   spotify__clienttoken__http__v0__client_token_response__init
                     (Spotify__Clienttoken__Http__V0__ClientTokenResponse         *message);
size_t spotify__clienttoken__http__v0__client_token_response__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientTokenResponse   *message);
size_t spotify__clienttoken__http__v0__client_token_response__pack
                     (const Spotify__Clienttoken__Http__V0__ClientTokenResponse   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__client_token_response__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientTokenResponse   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ClientTokenResponse *
       spotify__clienttoken__http__v0__client_token_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__client_token_response__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientTokenResponse *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__TokenDomain methods */
void   spotify__clienttoken__http__v0__token_domain__init
                     (Spotify__Clienttoken__Http__V0__TokenDomain         *message);
size_t spotify__clienttoken__http__v0__token_domain__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__TokenDomain   *message);
size_t spotify__clienttoken__http__v0__token_domain__pack
                     (const Spotify__Clienttoken__Http__V0__TokenDomain   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__token_domain__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__TokenDomain   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__TokenDomain *
       spotify__clienttoken__http__v0__token_domain__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__token_domain__free_unpacked
                     (Spotify__Clienttoken__Http__V0__TokenDomain *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__GrantedTokenResponse methods */
void   spotify__clienttoken__http__v0__granted_token_response__init
                     (Spotify__Clienttoken__Http__V0__GrantedTokenResponse         *message);
size_t spotify__clienttoken__http__v0__granted_token_response__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__GrantedTokenResponse   *message);
size_t spotify__clienttoken__http__v0__granted_token_response__pack
                     (const Spotify__Clienttoken__Http__V0__GrantedTokenResponse   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__granted_token_response__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__GrantedTokenResponse   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__GrantedTokenResponse *
       spotify__clienttoken__http__v0__granted_token_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__granted_token_response__free_unpacked
                     (Spotify__Clienttoken__Http__V0__GrantedTokenResponse *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__ChallengesResponse methods */
void   spotify__clienttoken__http__v0__challenges_response__init
                     (Spotify__Clienttoken__Http__V0__ChallengesResponse         *message);
size_t spotify__clienttoken__http__v0__challenges_response__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ChallengesResponse   *message);
size_t spotify__clienttoken__http__v0__challenges_response__pack
                     (const Spotify__Clienttoken__Http__V0__ChallengesResponse   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__challenges_response__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ChallengesResponse   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ChallengesResponse *
       spotify__clienttoken__http__v0__challenges_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__challenges_response__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ChallengesResponse *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__ClientSecretParameters methods */
void   spotify__clienttoken__http__v0__client_secret_parameters__init
                     (Spotify__Clienttoken__Http__V0__ClientSecretParameters         *message);
size_t spotify__clienttoken__http__v0__client_secret_parameters__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientSecretParameters   *message);
size_t spotify__clienttoken__http__v0__client_secret_parameters__pack
                     (const Spotify__Clienttoken__Http__V0__ClientSecretParameters   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__client_secret_parameters__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientSecretParameters   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ClientSecretParameters *
       spotify__clienttoken__http__v0__client_secret_parameters__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__client_secret_parameters__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientSecretParameters *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__EvaluateJSParameters methods */
void   spotify__clienttoken__http__v0__evaluate_jsparameters__init
                     (Spotify__Clienttoken__Http__V0__EvaluateJSParameters         *message);
size_t spotify__clienttoken__http__v0__evaluate_jsparameters__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSParameters   *message);
size_t spotify__clienttoken__http__v0__evaluate_jsparameters__pack
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSParameters   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__evaluate_jsparameters__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSParameters   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__EvaluateJSParameters *
       spotify__clienttoken__http__v0__evaluate_jsparameters__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__evaluate_jsparameters__free_unpacked
                     (Spotify__Clienttoken__Http__V0__EvaluateJSParameters *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__HashCashParameters methods */
void   spotify__clienttoken__http__v0__hash_cash_parameters__init
                     (Spotify__Clienttoken__Http__V0__HashCashParameters         *message);
size_t spotify__clienttoken__http__v0__hash_cash_parameters__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__HashCashParameters   *message);
size_t spotify__clienttoken__http__v0__hash_cash_parameters__pack
                     (const Spotify__Clienttoken__Http__V0__HashCashParameters   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__hash_cash_parameters__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__HashCashParameters   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__HashCashParameters *
       spotify__clienttoken__http__v0__hash_cash_parameters__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__hash_cash_parameters__free_unpacked
                     (Spotify__Clienttoken__Http__V0__HashCashParameters *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__Challenge methods */
void   spotify__clienttoken__http__v0__challenge__init
                     (Spotify__Clienttoken__Http__V0__Challenge         *message);
size_t spotify__clienttoken__http__v0__challenge__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__Challenge   *message);
size_t spotify__clienttoken__http__v0__challenge__pack
                     (const Spotify__Clienttoken__Http__V0__Challenge   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__challenge__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__Challenge   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__Challenge *
       spotify__clienttoken__http__v0__challenge__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__challenge__free_unpacked
                     (Spotify__Clienttoken__Http__V0__Challenge *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer methods */
void   spotify__clienttoken__http__v0__client_secret_hmacanswer__init
                     (Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer         *message);
size_t spotify__clienttoken__http__v0__client_secret_hmacanswer__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer   *message);
size_t spotify__clienttoken__http__v0__client_secret_hmacanswer__pack
                     (const Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__client_secret_hmacanswer__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *
       spotify__clienttoken__http__v0__client_secret_hmacanswer__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__client_secret_hmacanswer__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__EvaluateJSAnswer methods */
void   spotify__clienttoken__http__v0__evaluate_jsanswer__init
                     (Spotify__Clienttoken__Http__V0__EvaluateJSAnswer         *message);
size_t spotify__clienttoken__http__v0__evaluate_jsanswer__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSAnswer   *message);
size_t spotify__clienttoken__http__v0__evaluate_jsanswer__pack
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSAnswer   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__evaluate_jsanswer__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSAnswer   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *
       spotify__clienttoken__http__v0__evaluate_jsanswer__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__evaluate_jsanswer__free_unpacked
                     (Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__HashCashAnswer methods */
void   spotify__clienttoken__http__v0__hash_cash_answer__init
                     (Spotify__Clienttoken__Http__V0__HashCashAnswer         *message);
size_t spotify__clienttoken__http__v0__hash_cash_answer__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__HashCashAnswer   *message);
size_t spotify__clienttoken__http__v0__hash_cash_answer__pack
                     (const Spotify__Clienttoken__Http__V0__HashCashAnswer   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__hash_cash_answer__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__HashCashAnswer   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__HashCashAnswer *
       spotify__clienttoken__http__v0__hash_cash_answer__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__hash_cash_answer__free_unpacked
                     (Spotify__Clienttoken__Http__V0__HashCashAnswer *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__ChallengeAnswer methods */
void   spotify__clienttoken__http__v0__challenge_answer__init
                     (Spotify__Clienttoken__Http__V0__ChallengeAnswer         *message);
size_t spotify__clienttoken__http__v0__challenge_answer__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswer   *message);
size_t spotify__clienttoken__http__v0__challenge_answer__pack
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswer   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__challenge_answer__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswer   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ChallengeAnswer *
       spotify__clienttoken__http__v0__challenge_answer__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__challenge_answer__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ChallengeAnswer *message,
                      ProtobufCAllocator *allocator);
/* Spotify__Clienttoken__Http__V0__ClientTokenBadRequest methods */
void   spotify__clienttoken__http__v0__client_token_bad_request__init
                     (Spotify__Clienttoken__Http__V0__ClientTokenBadRequest         *message);
size_t spotify__clienttoken__http__v0__client_token_bad_request__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientTokenBadRequest   *message);
size_t spotify__clienttoken__http__v0__client_token_bad_request__pack
                     (const Spotify__Clienttoken__Http__V0__ClientTokenBadRequest   *message,
                      uint8_t             *out);
size_t spotify__clienttoken__http__v0__client_token_bad_request__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientTokenBadRequest   *message,
                      ProtobufCBuffer     *buffer);
Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *
       spotify__clienttoken__http__v0__client_token_bad_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   spotify__clienttoken__http__v0__client_token_bad_request__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*Spotify__Clienttoken__Http__V0__ClientTokenRequest_Closure)
                 (const Spotify__Clienttoken__Http__V0__ClientTokenRequest *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__ClientDataRequest_Closure)
                 (const Spotify__Clienttoken__Http__V0__ClientDataRequest *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest_Closure)
                 (const Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__ClientTokenResponse_Closure)
                 (const Spotify__Clienttoken__Http__V0__ClientTokenResponse *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__TokenDomain_Closure)
                 (const Spotify__Clienttoken__Http__V0__TokenDomain *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__GrantedTokenResponse_Closure)
                 (const Spotify__Clienttoken__Http__V0__GrantedTokenResponse *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__ChallengesResponse_Closure)
                 (const Spotify__Clienttoken__Http__V0__ChallengesResponse *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__ClientSecretParameters_Closure)
                 (const Spotify__Clienttoken__Http__V0__ClientSecretParameters *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__EvaluateJSParameters_Closure)
                 (const Spotify__Clienttoken__Http__V0__EvaluateJSParameters *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__HashCashParameters_Closure)
                 (const Spotify__Clienttoken__Http__V0__HashCashParameters *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__Challenge_Closure)
                 (const Spotify__Clienttoken__Http__V0__Challenge *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer_Closure)
                 (const Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__EvaluateJSAnswer_Closure)
                 (const Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__HashCashAnswer_Closure)
                 (const Spotify__Clienttoken__Http__V0__HashCashAnswer *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__ChallengeAnswer_Closure)
                 (const Spotify__Clienttoken__Http__V0__ChallengeAnswer *message,
                  void *closure_data);
typedef void (*Spotify__Clienttoken__Http__V0__ClientTokenBadRequest_Closure)
                 (const Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *message,
                  void *closure_data);

/* --- services --- */


/* --- descriptors --- */

extern const ProtobufCEnumDescriptor    spotify__clienttoken__http__v0__client_token_request_type__descriptor;
extern const ProtobufCEnumDescriptor    spotify__clienttoken__http__v0__client_token_response_type__descriptor;
extern const ProtobufCEnumDescriptor    spotify__clienttoken__http__v0__challenge_type__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_token_request__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_data_request__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__challenge_answers_request__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_token_response__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__token_domain__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__granted_token_response__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__challenges_response__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_secret_parameters__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__hash_cash_parameters__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__challenge__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__hash_cash_answer__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__challenge_answer__descriptor;
extern const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_token_bad_request__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_clienttoken_2eproto__INCLUDED */
