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

#ifndef PROTOBUF_C_proto_2fauthentication_2eproto__INCLUDED
#define PROTOBUF_C_proto_2fauthentication_2eproto__INCLUDED

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

PROTOBUF_C__BEGIN_DECLS

#if PROTOBUF_C_VERSION_NUMBER < 1000000
# 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 1003003 < 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


typedef struct _ClientResponseEncrypted ClientResponseEncrypted;
typedef struct _LoginCredentials LoginCredentials;
typedef struct _FingerprintResponseUnion FingerprintResponseUnion;
typedef struct _FingerprintGrainResponse FingerprintGrainResponse;
typedef struct _FingerprintHmacRipemdResponse FingerprintHmacRipemdResponse;
typedef struct _PeerTicketUnion PeerTicketUnion;
typedef struct _PeerTicketPublicKey PeerTicketPublicKey;
typedef struct _PeerTicketOld PeerTicketOld;
typedef struct _SystemInfo SystemInfo;
typedef struct _LibspotifyAppKey LibspotifyAppKey;
typedef struct _ClientInfo ClientInfo;
typedef struct _ClientInfoFacebook ClientInfoFacebook;
typedef struct _APWelcome APWelcome;
typedef struct _AccountInfo AccountInfo;
typedef struct _AccountInfoSpotify AccountInfoSpotify;
typedef struct _AccountInfoFacebook AccountInfoFacebook;


/* --- enums --- */

typedef enum _AuthenticationType {
  AUTHENTICATION_TYPE__AUTHENTICATION_USER_PASS = 0,
  AUTHENTICATION_TYPE__AUTHENTICATION_STORED_SPOTIFY_CREDENTIALS = 1,
  AUTHENTICATION_TYPE__AUTHENTICATION_STORED_FACEBOOK_CREDENTIALS = 2,
  AUTHENTICATION_TYPE__AUTHENTICATION_SPOTIFY_TOKEN = 3,
  AUTHENTICATION_TYPE__AUTHENTICATION_FACEBOOK_TOKEN = 4
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(AUTHENTICATION_TYPE)
} AuthenticationType;
typedef enum _AccountCreation {
  ACCOUNT_CREATION__ACCOUNT_CREATION_ALWAYS_PROMPT = 1,
  ACCOUNT_CREATION__ACCOUNT_CREATION_ALWAYS_CREATE = 3
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(ACCOUNT_CREATION)
} AccountCreation;
typedef enum _CpuFamily {
  CPU_FAMILY__CPU_UNKNOWN = 0,
  CPU_FAMILY__CPU_X86 = 1,
  CPU_FAMILY__CPU_X86_64 = 2,
  CPU_FAMILY__CPU_PPC = 3,
  CPU_FAMILY__CPU_PPC_64 = 4,
  CPU_FAMILY__CPU_ARM = 5,
  CPU_FAMILY__CPU_IA64 = 6,
  CPU_FAMILY__CPU_SH = 7,
  CPU_FAMILY__CPU_MIPS = 8,
  CPU_FAMILY__CPU_BLACKFIN = 9
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(CPU_FAMILY)
} CpuFamily;
typedef enum _Brand {
  BRAND__BRAND_UNBRANDED = 0,
  BRAND__BRAND_INQ = 1,
  BRAND__BRAND_HTC = 2,
  BRAND__BRAND_NOKIA = 3
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(BRAND)
} Brand;
typedef enum _Os {
  OS__OS_UNKNOWN = 0,
  OS__OS_WINDOWS = 1,
  OS__OS_OSX = 2,
  OS__OS_IPHONE = 3,
  OS__OS_S60 = 4,
  OS__OS_LINUX = 5,
  OS__OS_WINDOWS_CE = 6,
  OS__OS_ANDROID = 7,
  OS__OS_PALM = 8,
  OS__OS_FREEBSD = 9,
  OS__OS_BLACKBERRY = 10,
  OS__OS_SONOS = 11,
  OS__OS_LOGITECH = 12,
  OS__OS_WP7 = 13,
  OS__OS_ONKYO = 14,
  OS__OS_PHILIPS = 15,
  OS__OS_WD = 16,
  OS__OS_VOLVO = 17,
  OS__OS_TIVO = 18,
  OS__OS_AWOX = 19,
  OS__OS_MEEGO = 20,
  OS__OS_QNXNTO = 21,
  OS__OS_BCO = 22
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(OS)
} Os;
typedef enum _AccountType {
  ACCOUNT_TYPE__Spotify = 0,
  ACCOUNT_TYPE__Facebook = 1
    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(ACCOUNT_TYPE)
} AccountType;

/* --- messages --- */

struct  _ClientResponseEncrypted
{
  ProtobufCMessage base;
  LoginCredentials *login_credentials;
  protobuf_c_boolean has_account_creation;
  AccountCreation account_creation;
  FingerprintResponseUnion *fingerprint_response;
  PeerTicketUnion *peer_ticket;
  SystemInfo *system_info;
  char *platform_model;
  char *version_string;
  LibspotifyAppKey *appkey;
  ClientInfo *client_info;
};
#define CLIENT_RESPONSE_ENCRYPTED__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&client_response_encrypted__descriptor) \
    , NULL, 0, ACCOUNT_CREATION__ACCOUNT_CREATION_ALWAYS_PROMPT, NULL, NULL, NULL, NULL, NULL, NULL, NULL }


struct  _LoginCredentials
{
  ProtobufCMessage base;
  char *username;
  AuthenticationType typ;
  protobuf_c_boolean has_auth_data;
  ProtobufCBinaryData auth_data;
};
#define LOGIN_CREDENTIALS__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&login_credentials__descriptor) \
    , NULL, AUTHENTICATION_TYPE__AUTHENTICATION_USER_PASS, 0, {0,NULL} }


struct  _FingerprintResponseUnion
{
  ProtobufCMessage base;
  FingerprintGrainResponse *grain;
  FingerprintHmacRipemdResponse *hmac_ripemd;
};
#define FINGERPRINT_RESPONSE_UNION__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&fingerprint_response_union__descriptor) \
    , NULL, NULL }


struct  _FingerprintGrainResponse
{
  ProtobufCMessage base;
  ProtobufCBinaryData encrypted_key;
};
#define FINGERPRINT_GRAIN_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&fingerprint_grain_response__descriptor) \
    , {0,NULL} }


struct  _FingerprintHmacRipemdResponse
{
  ProtobufCMessage base;
  ProtobufCBinaryData hmac;
};
#define FINGERPRINT_HMAC_RIPEMD_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&fingerprint_hmac_ripemd_response__descriptor) \
    , {0,NULL} }


struct  _PeerTicketUnion
{
  ProtobufCMessage base;
  PeerTicketPublicKey *public_key;
  PeerTicketOld *old_ticket;
};
#define PEER_TICKET_UNION__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&peer_ticket_union__descriptor) \
    , NULL, NULL }


struct  _PeerTicketPublicKey
{
  ProtobufCMessage base;
  ProtobufCBinaryData public_key;
};
#define PEER_TICKET_PUBLIC_KEY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&peer_ticket_public_key__descriptor) \
    , {0,NULL} }


struct  _PeerTicketOld
{
  ProtobufCMessage base;
  ProtobufCBinaryData peer_ticket;
  ProtobufCBinaryData peer_ticket_signature;
};
#define PEER_TICKET_OLD__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&peer_ticket_old__descriptor) \
    , {0,NULL}, {0,NULL} }


struct  _SystemInfo
{
  ProtobufCMessage base;
  CpuFamily cpu_family;
  protobuf_c_boolean has_cpu_subtype;
  uint32_t cpu_subtype;
  protobuf_c_boolean has_cpu_ext;
  uint32_t cpu_ext;
  protobuf_c_boolean has_brand;
  Brand brand;
  protobuf_c_boolean has_brand_flags;
  uint32_t brand_flags;
  Os os;
  protobuf_c_boolean has_os_version;
  uint32_t os_version;
  protobuf_c_boolean has_os_ext;
  uint32_t os_ext;
  char *system_information_string;
  char *device_id;
};
#define SYSTEM_INFO__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&system_info__descriptor) \
    , CPU_FAMILY__CPU_UNKNOWN, 0, 0, 0, 0, 0, BRAND__BRAND_UNBRANDED, 0, 0, OS__OS_UNKNOWN, 0, 0, 0, 0, NULL, NULL }


struct  _LibspotifyAppKey
{
  ProtobufCMessage base;
  uint32_t version;
  ProtobufCBinaryData devkey;
  ProtobufCBinaryData signature;
  char *useragent;
  ProtobufCBinaryData callback_hash;
};
#define LIBSPOTIFY_APP_KEY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&libspotify_app_key__descriptor) \
    , 0, {0,NULL}, {0,NULL}, NULL, {0,NULL} }


struct  _ClientInfo
{
  ProtobufCMessage base;
  protobuf_c_boolean has_limited;
  protobuf_c_boolean limited;
  ClientInfoFacebook *fb;
  char *language;
};
#define CLIENT_INFO__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&client_info__descriptor) \
    , 0, 0, NULL, NULL }


struct  _ClientInfoFacebook
{
  ProtobufCMessage base;
  char *machine_id;
};
#define CLIENT_INFO_FACEBOOK__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&client_info_facebook__descriptor) \
    , NULL }


struct  _APWelcome
{
  ProtobufCMessage base;
  char *canonical_username;
  AccountType account_type_logged_in;
  AccountType credentials_type_logged_in;
  AuthenticationType reusable_auth_credentials_type;
  ProtobufCBinaryData reusable_auth_credentials;
  protobuf_c_boolean has_lfs_secret;
  ProtobufCBinaryData lfs_secret;
  AccountInfo *account_info;
  AccountInfoFacebook *fb;
};
#define APWELCOME__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&apwelcome__descriptor) \
    , NULL, ACCOUNT_TYPE__Spotify, ACCOUNT_TYPE__Spotify, AUTHENTICATION_TYPE__AUTHENTICATION_USER_PASS, {0,NULL}, 0, {0,NULL}, NULL, NULL }


struct  _AccountInfo
{
  ProtobufCMessage base;
  AccountInfoSpotify *spotify;
  AccountInfoFacebook *facebook;
};
#define ACCOUNT_INFO__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&account_info__descriptor) \
    , NULL, NULL }


struct  _AccountInfoSpotify
{
  ProtobufCMessage base;
};
#define ACCOUNT_INFO_SPOTIFY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&account_info_spotify__descriptor) \
     }


struct  _AccountInfoFacebook
{
  ProtobufCMessage base;
  char *access_token;
  char *machine_id;
};
#define ACCOUNT_INFO_FACEBOOK__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&account_info_facebook__descriptor) \
    , NULL, NULL }


/* ClientResponseEncrypted methods */
void   client_response_encrypted__init
                     (ClientResponseEncrypted         *message);
size_t client_response_encrypted__get_packed_size
                     (const ClientResponseEncrypted   *message);
size_t client_response_encrypted__pack
                     (const ClientResponseEncrypted   *message,
                      uint8_t             *out);
size_t client_response_encrypted__pack_to_buffer
                     (const ClientResponseEncrypted   *message,
                      ProtobufCBuffer     *buffer);
ClientResponseEncrypted *
       client_response_encrypted__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   client_response_encrypted__free_unpacked
                     (ClientResponseEncrypted *message,
                      ProtobufCAllocator *allocator);
/* LoginCredentials methods */
void   login_credentials__init
                     (LoginCredentials         *message);
size_t login_credentials__get_packed_size
                     (const LoginCredentials   *message);
size_t login_credentials__pack
                     (const LoginCredentials   *message,
                      uint8_t             *out);
size_t login_credentials__pack_to_buffer
                     (const LoginCredentials   *message,
                      ProtobufCBuffer     *buffer);
LoginCredentials *
       login_credentials__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   login_credentials__free_unpacked
                     (LoginCredentials *message,
                      ProtobufCAllocator *allocator);
/* FingerprintResponseUnion methods */
void   fingerprint_response_union__init
                     (FingerprintResponseUnion         *message);
size_t fingerprint_response_union__get_packed_size
                     (const FingerprintResponseUnion   *message);
size_t fingerprint_response_union__pack
                     (const FingerprintResponseUnion   *message,
                      uint8_t             *out);
size_t fingerprint_response_union__pack_to_buffer
                     (const FingerprintResponseUnion   *message,
                      ProtobufCBuffer     *buffer);
FingerprintResponseUnion *
       fingerprint_response_union__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   fingerprint_response_union__free_unpacked
                     (FingerprintResponseUnion *message,
                      ProtobufCAllocator *allocator);
/* FingerprintGrainResponse methods */
void   fingerprint_grain_response__init
                     (FingerprintGrainResponse         *message);
size_t fingerprint_grain_response__get_packed_size
                     (const FingerprintGrainResponse   *message);
size_t fingerprint_grain_response__pack
                     (const FingerprintGrainResponse   *message,
                      uint8_t             *out);
size_t fingerprint_grain_response__pack_to_buffer
                     (const FingerprintGrainResponse   *message,
                      ProtobufCBuffer     *buffer);
FingerprintGrainResponse *
       fingerprint_grain_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   fingerprint_grain_response__free_unpacked
                     (FingerprintGrainResponse *message,
                      ProtobufCAllocator *allocator);
/* FingerprintHmacRipemdResponse methods */
void   fingerprint_hmac_ripemd_response__init
                     (FingerprintHmacRipemdResponse         *message);
size_t fingerprint_hmac_ripemd_response__get_packed_size
                     (const FingerprintHmacRipemdResponse   *message);
size_t fingerprint_hmac_ripemd_response__pack
                     (const FingerprintHmacRipemdResponse   *message,
                      uint8_t             *out);
size_t fingerprint_hmac_ripemd_response__pack_to_buffer
                     (const FingerprintHmacRipemdResponse   *message,
                      ProtobufCBuffer     *buffer);
FingerprintHmacRipemdResponse *
       fingerprint_hmac_ripemd_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   fingerprint_hmac_ripemd_response__free_unpacked
                     (FingerprintHmacRipemdResponse *message,
                      ProtobufCAllocator *allocator);
/* PeerTicketUnion methods */
void   peer_ticket_union__init
                     (PeerTicketUnion         *message);
size_t peer_ticket_union__get_packed_size
                     (const PeerTicketUnion   *message);
size_t peer_ticket_union__pack
                     (const PeerTicketUnion   *message,
                      uint8_t             *out);
size_t peer_ticket_union__pack_to_buffer
                     (const PeerTicketUnion   *message,
                      ProtobufCBuffer     *buffer);
PeerTicketUnion *
       peer_ticket_union__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   peer_ticket_union__free_unpacked
                     (PeerTicketUnion *message,
                      ProtobufCAllocator *allocator);
/* PeerTicketPublicKey methods */
void   peer_ticket_public_key__init
                     (PeerTicketPublicKey         *message);
size_t peer_ticket_public_key__get_packed_size
                     (const PeerTicketPublicKey   *message);
size_t peer_ticket_public_key__pack
                     (const PeerTicketPublicKey   *message,
                      uint8_t             *out);
size_t peer_ticket_public_key__pack_to_buffer
                     (const PeerTicketPublicKey   *message,
                      ProtobufCBuffer     *buffer);
PeerTicketPublicKey *
       peer_ticket_public_key__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   peer_ticket_public_key__free_unpacked
                     (PeerTicketPublicKey *message,
                      ProtobufCAllocator *allocator);
/* PeerTicketOld methods */
void   peer_ticket_old__init
                     (PeerTicketOld         *message);
size_t peer_ticket_old__get_packed_size
                     (const PeerTicketOld   *message);
size_t peer_ticket_old__pack
                     (const PeerTicketOld   *message,
                      uint8_t             *out);
size_t peer_ticket_old__pack_to_buffer
                     (const PeerTicketOld   *message,
                      ProtobufCBuffer     *buffer);
PeerTicketOld *
       peer_ticket_old__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   peer_ticket_old__free_unpacked
                     (PeerTicketOld *message,
                      ProtobufCAllocator *allocator);
/* SystemInfo methods */
void   system_info__init
                     (SystemInfo         *message);
size_t system_info__get_packed_size
                     (const SystemInfo   *message);
size_t system_info__pack
                     (const SystemInfo   *message,
                      uint8_t             *out);
size_t system_info__pack_to_buffer
                     (const SystemInfo   *message,
                      ProtobufCBuffer     *buffer);
SystemInfo *
       system_info__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   system_info__free_unpacked
                     (SystemInfo *message,
                      ProtobufCAllocator *allocator);
/* LibspotifyAppKey methods */
void   libspotify_app_key__init
                     (LibspotifyAppKey         *message);
size_t libspotify_app_key__get_packed_size
                     (const LibspotifyAppKey   *message);
size_t libspotify_app_key__pack
                     (const LibspotifyAppKey   *message,
                      uint8_t             *out);
size_t libspotify_app_key__pack_to_buffer
                     (const LibspotifyAppKey   *message,
                      ProtobufCBuffer     *buffer);
LibspotifyAppKey *
       libspotify_app_key__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   libspotify_app_key__free_unpacked
                     (LibspotifyAppKey *message,
                      ProtobufCAllocator *allocator);
/* ClientInfo methods */
void   client_info__init
                     (ClientInfo         *message);
size_t client_info__get_packed_size
                     (const ClientInfo   *message);
size_t client_info__pack
                     (const ClientInfo   *message,
                      uint8_t             *out);
size_t client_info__pack_to_buffer
                     (const ClientInfo   *message,
                      ProtobufCBuffer     *buffer);
ClientInfo *
       client_info__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   client_info__free_unpacked
                     (ClientInfo *message,
                      ProtobufCAllocator *allocator);
/* ClientInfoFacebook methods */
void   client_info_facebook__init
                     (ClientInfoFacebook         *message);
size_t client_info_facebook__get_packed_size
                     (const ClientInfoFacebook   *message);
size_t client_info_facebook__pack
                     (const ClientInfoFacebook   *message,
                      uint8_t             *out);
size_t client_info_facebook__pack_to_buffer
                     (const ClientInfoFacebook   *message,
                      ProtobufCBuffer     *buffer);
ClientInfoFacebook *
       client_info_facebook__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   client_info_facebook__free_unpacked
                     (ClientInfoFacebook *message,
                      ProtobufCAllocator *allocator);
/* APWelcome methods */
void   apwelcome__init
                     (APWelcome         *message);
size_t apwelcome__get_packed_size
                     (const APWelcome   *message);
size_t apwelcome__pack
                     (const APWelcome   *message,
                      uint8_t             *out);
size_t apwelcome__pack_to_buffer
                     (const APWelcome   *message,
                      ProtobufCBuffer     *buffer);
APWelcome *
       apwelcome__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   apwelcome__free_unpacked
                     (APWelcome *message,
                      ProtobufCAllocator *allocator);
/* AccountInfo methods */
void   account_info__init
                     (AccountInfo         *message);
size_t account_info__get_packed_size
                     (const AccountInfo   *message);
size_t account_info__pack
                     (const AccountInfo   *message,
                      uint8_t             *out);
size_t account_info__pack_to_buffer
                     (const AccountInfo   *message,
                      ProtobufCBuffer     *buffer);
AccountInfo *
       account_info__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   account_info__free_unpacked
                     (AccountInfo *message,
                      ProtobufCAllocator *allocator);
/* AccountInfoSpotify methods */
void   account_info_spotify__init
                     (AccountInfoSpotify         *message);
size_t account_info_spotify__get_packed_size
                     (const AccountInfoSpotify   *message);
size_t account_info_spotify__pack
                     (const AccountInfoSpotify   *message,
                      uint8_t             *out);
size_t account_info_spotify__pack_to_buffer
                     (const AccountInfoSpotify   *message,
                      ProtobufCBuffer     *buffer);
AccountInfoSpotify *
       account_info_spotify__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   account_info_spotify__free_unpacked
                     (AccountInfoSpotify *message,
                      ProtobufCAllocator *allocator);
/* AccountInfoFacebook methods */
void   account_info_facebook__init
                     (AccountInfoFacebook         *message);
size_t account_info_facebook__get_packed_size
                     (const AccountInfoFacebook   *message);
size_t account_info_facebook__pack
                     (const AccountInfoFacebook   *message,
                      uint8_t             *out);
size_t account_info_facebook__pack_to_buffer
                     (const AccountInfoFacebook   *message,
                      ProtobufCBuffer     *buffer);
AccountInfoFacebook *
       account_info_facebook__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   account_info_facebook__free_unpacked
                     (AccountInfoFacebook *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*ClientResponseEncrypted_Closure)
                 (const ClientResponseEncrypted *message,
                  void *closure_data);
typedef void (*LoginCredentials_Closure)
                 (const LoginCredentials *message,
                  void *closure_data);
typedef void (*FingerprintResponseUnion_Closure)
                 (const FingerprintResponseUnion *message,
                  void *closure_data);
typedef void (*FingerprintGrainResponse_Closure)
                 (const FingerprintGrainResponse *message,
                  void *closure_data);
typedef void (*FingerprintHmacRipemdResponse_Closure)
                 (const FingerprintHmacRipemdResponse *message,
                  void *closure_data);
typedef void (*PeerTicketUnion_Closure)
                 (const PeerTicketUnion *message,
                  void *closure_data);
typedef void (*PeerTicketPublicKey_Closure)
                 (const PeerTicketPublicKey *message,
                  void *closure_data);
typedef void (*PeerTicketOld_Closure)
                 (const PeerTicketOld *message,
                  void *closure_data);
typedef void (*SystemInfo_Closure)
                 (const SystemInfo *message,
                  void *closure_data);
typedef void (*LibspotifyAppKey_Closure)
                 (const LibspotifyAppKey *message,
                  void *closure_data);
typedef void (*ClientInfo_Closure)
                 (const ClientInfo *message,
                  void *closure_data);
typedef void (*ClientInfoFacebook_Closure)
                 (const ClientInfoFacebook *message,
                  void *closure_data);
typedef void (*APWelcome_Closure)
                 (const APWelcome *message,
                  void *closure_data);
typedef void (*AccountInfo_Closure)
                 (const AccountInfo *message,
                  void *closure_data);
typedef void (*AccountInfoSpotify_Closure)
                 (const AccountInfoSpotify *message,
                  void *closure_data);
typedef void (*AccountInfoFacebook_Closure)
                 (const AccountInfoFacebook *message,
                  void *closure_data);

/* --- services --- */


/* --- descriptors --- */

extern const ProtobufCEnumDescriptor    authentication_type__descriptor;
extern const ProtobufCEnumDescriptor    account_creation__descriptor;
extern const ProtobufCEnumDescriptor    cpu_family__descriptor;
extern const ProtobufCEnumDescriptor    brand__descriptor;
extern const ProtobufCEnumDescriptor    os__descriptor;
extern const ProtobufCEnumDescriptor    account_type__descriptor;
extern const ProtobufCMessageDescriptor client_response_encrypted__descriptor;
extern const ProtobufCMessageDescriptor login_credentials__descriptor;
extern const ProtobufCMessageDescriptor fingerprint_response_union__descriptor;
extern const ProtobufCMessageDescriptor fingerprint_grain_response__descriptor;
extern const ProtobufCMessageDescriptor fingerprint_hmac_ripemd_response__descriptor;
extern const ProtobufCMessageDescriptor peer_ticket_union__descriptor;
extern const ProtobufCMessageDescriptor peer_ticket_public_key__descriptor;
extern const ProtobufCMessageDescriptor peer_ticket_old__descriptor;
extern const ProtobufCMessageDescriptor system_info__descriptor;
extern const ProtobufCMessageDescriptor libspotify_app_key__descriptor;
extern const ProtobufCMessageDescriptor client_info__descriptor;
extern const ProtobufCMessageDescriptor client_info_facebook__descriptor;
extern const ProtobufCMessageDescriptor apwelcome__descriptor;
extern const ProtobufCMessageDescriptor account_info__descriptor;
extern const ProtobufCMessageDescriptor account_info_spotify__descriptor;
extern const ProtobufCMessageDescriptor account_info_facebook__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_proto_2fauthentication_2eproto__INCLUDED */
