/* Automatically generated nanopb header */
/* Generated by nanopb-0.3.9.8 at Thu Nov 10 13:28:07 2022. */

#ifndef PB_KEYMASTER_ATTRIBUTES_PB_H_INCLUDED
#define PB_KEYMASTER_ATTRIBUTES_PB_H_INCLUDED
#include <pb.h>

/* @@protoc_insertion_point(includes) */
#if PB_PROTO_HEADER_VERSION != 30
#error Regenerate this file with the current version of nanopb generator.
#endif

#ifdef __cplusplus
extern "C" {
#endif

/* Struct definitions */
typedef PB_BYTES_ARRAY_T(2048) AttestationCert_content_t;
typedef struct _AttestationCert {
    AttestationCert_content_t content;
/* @@protoc_insertion_point(struct:AttestationCert) */
} AttestationCert;

typedef PB_BYTES_ARRAY_T(64) AttestationIds_brand_t;
typedef PB_BYTES_ARRAY_T(64) AttestationIds_device_t;
typedef PB_BYTES_ARRAY_T(64) AttestationIds_product_t;
typedef PB_BYTES_ARRAY_T(64) AttestationIds_serial_t;
typedef PB_BYTES_ARRAY_T(64) AttestationIds_imei_t;
typedef PB_BYTES_ARRAY_T(64) AttestationIds_meid_t;
typedef PB_BYTES_ARRAY_T(64) AttestationIds_manufacturer_t;
typedef PB_BYTES_ARRAY_T(64) AttestationIds_model_t;
typedef PB_BYTES_ARRAY_T(64) AttestationIds_second_imei_t;
typedef struct _AttestationIds {
    bool has_brand;
    AttestationIds_brand_t brand;
    bool has_device;
    AttestationIds_device_t device;
    bool has_product;
    AttestationIds_product_t product;
    bool has_serial;
    AttestationIds_serial_t serial;
    bool has_imei;
    AttestationIds_imei_t imei;
    bool has_meid;
    AttestationIds_meid_t meid;
    bool has_manufacturer;
    AttestationIds_manufacturer_t manufacturer;
    bool has_model;
    AttestationIds_model_t model;
    bool has_second_imei;
    AttestationIds_second_imei_t second_imei;
    /* @@protoc_insertion_point(struct:AttestationIds) */
} AttestationIds;

typedef PB_BYTES_ARRAY_T(32) KeymasterAttributes_uuid_t;
typedef PB_BYTES_ARRAY_T(16) KeymasterAttributes_product_id_t;
typedef struct _KeymasterAttributes {
    bool has_uuid;
    KeymasterAttributes_uuid_t uuid;
    bool has_product_id;
    KeymasterAttributes_product_id_t product_id;
/* @@protoc_insertion_point(struct:KeymasterAttributes) */
} KeymasterAttributes;

typedef PB_BYTES_ARRAY_T(2048) AttestationKey_key_t;
typedef struct _AttestationKey {
    bool has_key;
    AttestationKey_key_t key;
    pb_size_t certs_count;
    AttestationCert certs[3];
/* @@protoc_insertion_point(struct:AttestationKey) */
} AttestationKey;

/* Default values for struct fields */

/* Initializer values for message structs */
#define KeymasterAttributes_init_default         {false, {0, {0}}, false, {0, {0}}}
#define AttestationIds_init_default                                         \
    {                                                                       \
        false, {0, {0}}, false, {0, {0}}, false, {0, {0}}, false, {0, {0}}, \
                false, {0, {0}}, false, {0, {0}}, false, {0, {0}}, false,   \
                {0, {0}}, false, {                                          \
            0, { 0 }                                                        \
        }                                                                   \
    }
#define AttestationKey_init_default              {false, {0, {0}}, 0, {AttestationCert_init_default, AttestationCert_init_default, AttestationCert_init_default}}
#define AttestationCert_init_default             {{0, {0}}}
#define KeymasterAttributes_init_zero            {false, {0, {0}}, false, {0, {0}}}
#define AttestationIds_init_zero                                            \
    {                                                                       \
        false, {0, {0}}, false, {0, {0}}, false, {0, {0}}, false, {0, {0}}, \
                false, {0, {0}}, false, {0, {0}}, false, {0, {0}}, false,   \
                {0, {0}}, false, {                                          \
            0, { 0 }                                                        \
        }                                                                   \
    }
#define AttestationKey_init_zero                 {false, {0, {0}}, 0, {AttestationCert_init_zero, AttestationCert_init_zero, AttestationCert_init_zero}}
#define AttestationCert_init_zero                {{0, {0}}}

/* Field tags (for use in manual encoding/decoding) */
#define AttestationCert_content_tag              1
#define AttestationIds_brand_tag 1
#define AttestationIds_device_tag 2
#define AttestationIds_product_tag 3
#define AttestationIds_serial_tag 4
#define AttestationIds_imei_tag 5
#define AttestationIds_meid_tag 6
#define AttestationIds_manufacturer_tag 7
#define AttestationIds_model_tag 8
#define AttestationIds_second_imei_tag 9
#define KeymasterAttributes_uuid_tag             1
#define KeymasterAttributes_product_id_tag       2
#define AttestationKey_key_tag                   1
#define AttestationKey_certs_tag                 2

/* Struct field encoding specification for nanopb */
extern const pb_field_t KeymasterAttributes_fields[3];
extern const pb_field_t AttestationIds_fields[10];
extern const pb_field_t AttestationKey_fields[3];
extern const pb_field_t AttestationCert_fields[2];

/* Maximum encoded size of messages (where known) */
#define KeymasterAttributes_size                 52
#define AttestationIds_size 594
#define AttestationKey_size                      8213
#define AttestationCert_size                     2051

/* Message IDs (where set with "msgid" option) */
#ifdef PB_MSGID

#define KEYMASTER_ATTRIBUTES_MESSAGES \


#endif

#ifdef __cplusplus
} /* extern "C" */
#endif
/* @@protoc_insertion_point(eof) */

#endif
