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

#ifndef PROTOBUF_C_crash_5finfo_2eproto__INCLUDED
#define PROTOBUF_C_crash_5finfo_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 1005000 < 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 "device_common.pb-c.h"

typedef struct Logi__Device__Proto__SendCrashDumpRequest Logi__Device__Proto__SendCrashDumpRequest;
typedef struct Logi__Device__Proto__CrashDumpInfo Logi__Device__Proto__CrashDumpInfo;
typedef struct Logi__Device__Proto__SendCrashDumpResponse Logi__Device__Proto__SendCrashDumpResponse;
typedef struct Logi__Device__Proto__SendCrashDumpRequestv2 Logi__Device__Proto__SendCrashDumpRequestv2;
typedef struct Logi__Device__Proto__SendCrashDumpResponsev2 Logi__Device__Proto__SendCrashDumpResponsev2;
typedef struct Logi__Device__Proto__SendCrashDumpEvent Logi__Device__Proto__SendCrashDumpEvent;
typedef struct Logi__Device__Proto__CrashDumpAvailableEvent Logi__Device__Proto__CrashDumpAvailableEvent;
typedef struct Logi__Device__Proto__GenerateCrashDumpRequest Logi__Device__Proto__GenerateCrashDumpRequest;
typedef struct Logi__Device__Proto__GenerateCrashDumpResponse Logi__Device__Proto__GenerateCrashDumpResponse;
typedef struct Logi__Device__Proto__SendTestResultRequest Logi__Device__Proto__SendTestResultRequest;
typedef struct Logi__Device__Proto__SendTestResultResponse Logi__Device__Proto__SendTestResultResponse;
typedef struct Logi__Device__Proto__InitiateMemfaultManifestRequestEvent Logi__Device__Proto__InitiateMemfaultManifestRequestEvent;
typedef struct Logi__Device__Proto__GetMemfaultManifestRequest Logi__Device__Proto__GetMemfaultManifestRequest;
typedef struct Logi__Device__Proto__GetMemfaultManifestResponse Logi__Device__Proto__GetMemfaultManifestResponse;
typedef struct Logi__Device__Proto__SendMemfaultSettingsRequest Logi__Device__Proto__SendMemfaultSettingsRequest;
typedef struct Logi__Device__Proto__SendMemfaultSettingsResponse Logi__Device__Proto__SendMemfaultSettingsResponse;


/* --- enums --- */


/* --- messages --- */

/*
 **
 * Kong as an Android device can accumulate
 * crash debug information during its operation.
 * When Kong is running in device mode, those
 * crash dump files need to be copied over to
 * PC and uploaded to S3.
 * Note, if Kong is running in host mode, uploaded
 *  files, and then moved to device mode, will it
 *  copy the same files over?
 * This message requests that crash dump files be
 * copied over to PC
 * EXPECTED RESPONSE
 * SendCrashDumpResponse
 */
struct  Logi__Device__Proto__SendCrashDumpRequest
{
  ProtobufCMessage base;
  /*
   **
   * Unused. Reserved for future use.
   */
  protobuf_c_boolean reserved;
};
#define LOGI__DEVICE__PROTO__SEND_CRASH_DUMP_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_crash_dump_request__descriptor) \
, 0 }


/*
 **
 * Crash dump information.  Most of these
 * are supplied by the crash analytics service, so lets
 * pass this information along.
 */
struct  Logi__Device__Proto__CrashDumpInfo
{
  ProtobufCMessage base;
  /*
   **
   * the filename
   */
  char *file_name;
  /*
   **
   * the serial number
   */
  char *device_id;
  /*
   **
   * the software version
   */
  char *software_version;
  /*
   **
   * the file size
   */
  uint64_t file_size;
  /*
   **
   * timestamp
   */
  uint64_t timestamp;
  /*
   **
   * md5 for file
   */
  char *md5;
  /*
   **
   * the device type .  Kong|Diddy
   */
  char *device_type;
  /*
   **
   * the device mode.  Hosted|Appliance
   */
  char *device_mode;
  /*
   **
   * the report type. BugReport|EventLog,Diagnostics
   */
  char *report_type;
  /*
   **
   * the content type. application/zip | text/plain | application/json
   */
  char *content_type;
};
#define LOGI__DEVICE__PROTO__CRASH_DUMP_INFO__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__crash_dump_info__descriptor) \
, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string }


/*
 **
 * Response which contains the crash dump file name
 * information and bool value to indicate will send
 * file
 */
struct  Logi__Device__Proto__SendCrashDumpResponse
{
  ProtobufCMessage base;
  /*
   **
   * (OPTIONAL)
   * If crash dump exists, this variable
   * contains the file name of crash dump
   * that will be copied over.
   */
  char *crash_dump_file;
  /*
   **
   * (REQUIRED)
   * bool value to indicate will send file
   * true if sending file over.
   * false if no file to send.
   * If true, caller will look at CrashDumpInfo
   */
  protobuf_c_boolean will_send_file;
  /*
   **
   * (OPTIONAL)
   * Crash dump info
   */
  Logi__Device__Proto__CrashDumpInfo *crash_dump_info;
};
#define LOGI__DEVICE__PROTO__SEND_CRASH_DUMP_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_crash_dump_response__descriptor) \
, (char *)protobuf_c_empty_string, 0, NULL }


struct  Logi__Device__Proto__SendCrashDumpRequestv2
{
  ProtobufCMessage base;
  /*
   **
   * The attestation challenge.
   * (REQUIRED)
   */
  char *challenge;
  /*
   **
   * Time to live
   * (REQUIRED)
   */
  int32_t ttl;
};
#define LOGI__DEVICE__PROTO__SEND_CRASH_DUMP_REQUESTV2__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_crash_dump_requestv2__descriptor) \
, (char *)protobuf_c_empty_string, 0 }


/*
 **
 * Response which contains the crash dump file name
 * information, bool value to indicate will send
 * file, body of the request and signature
 */
struct  Logi__Device__Proto__SendCrashDumpResponsev2
{
  ProtobufCMessage base;
  /*
   **
   * (OPTIONAL)
   * If crash dump exists, this variable
   * contains the file name of crash dump
   * that will be copied over.
   */
  char *crash_dump_file;
  /*
   **
   * (REQUIRED)
   * bool value to indicate will send file
   * true if sending file over.
   * false if no file to send.
   * If true, caller will look at CrashDumpInfo
   */
  protobuf_c_boolean will_send_file;
  /*
   **
   * (OPTIONAL)
   * The get upload url body.  This is a json string
   */
  char *body;
  /*
   **
   * (OPTIONAL)
   * The get upload url body signature.
   */
  char *signature;
};
#define LOGI__DEVICE__PROTO__SEND_CRASH_DUMP_RESPONSEV2__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_crash_dump_responsev2__descriptor) \
, (char *)protobuf_c_empty_string, 0, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string }


/*
 **
 * This is event sent from PC or Kong to indicate
 *   Success
 */
struct  Logi__Device__Proto__SendCrashDumpEvent
{
  ProtobufCMessage base;
  /*
   **
   * (REQUIRED)
   * Contains the file name of crash dump
   * that is being sent or in process of being
   * received
   */
  char *crash_dump_file;
  /*
   **
   * (REQUIRED)
   * Transfer state.
   *  true indicates file was received without errors and bug report file was uploaded
   *  false means an error occurred
   */
  protobuf_c_boolean success;
};
#define LOGI__DEVICE__PROTO__SEND_CRASH_DUMP_EVENT__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_crash_dump_event__descriptor) \
, (char *)protobuf_c_empty_string, 0 }


/*
 **
 * Place holder for Android requesting that a crash dump copy
 * get initiated from PC side
 */
struct  Logi__Device__Proto__CrashDumpAvailableEvent
{
  ProtobufCMessage base;
  /*
   **
   * Unused. Reserved for future use.
   */
  protobuf_c_boolean reserved;
};
#define LOGI__DEVICE__PROTO__CRASH_DUMP_AVAILABLE_EVENT__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__crash_dump_available_event__descriptor) \
, 0 }


/*
 **
 * Ask device to generate a bug report. This could be
 * for gathering logcat, system logs, etc.
 * Similar to SendCrashDumpRequestv2, but bug report generation is on
 * demand.
 * EXPECTED RESPONSE:
 * GenerateCrashDumpResponse
 * It should follow the same flow as described here
 * https://docs.google.com/document/d/1D5nx1nenDu9ucZbYPXlNNxFEN1tx3W7k044mvi74x28/edit#heading=h.a9wyfbpb2282
 */
struct  Logi__Device__Proto__GenerateCrashDumpRequest
{
  ProtobufCMessage base;
  /*
   **
   * The attestation challenge.
   * (REQUIRED)
   */
  char *challenge;
  /*
   **
   * Time to live
   * (REQUIRED)
   */
  int32_t ttl;
  /*
   **
   * The note to include in the bug report. This could be empty.
   * (OPTIONAL)
   */
  char *note;
  /*
   **
   * (OPTIONAL)
   *  serial number of the intended recipient of the command.
   *  If empty, the receiver should handle the command as the intended recipient. This also
   * handles backward compatibility with older Sync app where serial number is not defined.
   */
  char *serial_number;
  /*
   **
   * (OPTIONAL)
   *  Request reference for connected devices. This could be empty for backwards
   * compatibility.
   */
  char *request_ref;
};
#define LOGI__DEVICE__PROTO__GENERATE_CRASH_DUMP_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__generate_crash_dump_request__descriptor) \
, (char *)protobuf_c_empty_string, 0, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string }


/*
 **
 * Response which contains the
 * crash dump file name information,
 * bool value to indicate will send file,
 * body of the request and signature.
 * Similar to SendCrashDumpResponsev2, but bug report generation is on
 * demand.
 * It should follow the same flow as described here
 * https://docs.google.com/document/d/1D5nx1nenDu9ucZbYPXlNNxFEN1tx3W7k044mvi74x28/edit#heading=h.a9wyfbpb2282
 */
struct  Logi__Device__Proto__GenerateCrashDumpResponse
{
  ProtobufCMessage base;
  /*
   **
   * (OPTIONAL)
   * If crash dump exists, this variable
   * contains the file name of crash dump
   * that will be copied over.
   */
  char *crash_dump_file;
  /*
   **
   * (REQUIRED)
   * bool value to indicate will send file
   * true if sending file over.
   * false if no file to send.
   */
  protobuf_c_boolean will_send_file;
  /*
   **
   * (OPTIONAL)
   * The get upload url body.  This is a json string
   */
  char *body;
  /*
   **
   * (OPTIONAL)
   * The get upload url body signature.
   */
  char *signature;
};
#define LOGI__DEVICE__PROTO__GENERATE_CRASH_DUMP_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__generate_crash_dump_response__descriptor) \
, (char *)protobuf_c_empty_string, 0, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string }


/*
 **
 * Ask device to copy test result.
 * EXPECTED RESPONSE:
 * SendTestResultResponse
 */
struct  Logi__Device__Proto__SendTestResultRequest
{
  ProtobufCMessage base;
  /*
   **
   * Unused. Reserved for future use.
   */
  protobuf_c_boolean reserved;
};
#define LOGI__DEVICE__PROTO__SEND_TEST_RESULT_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_test_result_request__descriptor) \
, 0 }


/*
 **
 * Test result response.
 */
struct  Logi__Device__Proto__SendTestResultResponse
{
  ProtobufCMessage base;
  /*
   **
   * (OPTIONAL)
   * If test result file exists, this variable
   * contains the file name
   * that will be copied over.
   */
  char *test_result_file;
  /*
   **
   * (REQUIRED)
   * bool value to indicate will send file
   * true if sending file over.
   * false if no file to send.
   */
  protobuf_c_boolean will_send_file;
};
#define LOGI__DEVICE__PROTO__SEND_TEST_RESULT_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_test_result_response__descriptor) \
, (char *)protobuf_c_empty_string, 0 }


/*
 **
 *  Device can use to notify Sync app to call
 *  GetMemfaultManifestRequest API with attestation...
 */
struct  Logi__Device__Proto__InitiateMemfaultManifestRequestEvent
{
  ProtobufCMessage base;
  /*
   **
   * Unused. Reserved for future use.
   */
  protobuf_c_boolean reserved;
};
#define LOGI__DEVICE__PROTO__INITIATE_MEMFAULT_MANIFEST_REQUEST_EVENT__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__initiate_memfault_manifest_request_event__descriptor) \
, 0 }


/*
 **
 * Request attested manifest from device to be used in retrieving memfault
 *  settings from futen.
 * This is to be included in UsbMsg.
 * EXPECTED RESPONSE
 * GetMemfaultManifestResponse
 * Added 10/12/2022 EE
 */
struct  Logi__Device__Proto__GetMemfaultManifestRequest
{
  ProtobufCMessage base;
  /*
   **
   * The device serial number.
   *  Reserve for future versions to indicate target device.
   * (OPTIONAL)
   */
  char *serial;
  /*
   **
   * The attestation challenge.
   * (REQUIRED)
   */
  char *challenge;
  /*
   **
   * Time to live
   * (REQUIRED)
   */
  int32_t ttl;
  /*
   **
   * Sender to provide in case of issue responding to initiate request
   *   i.e  Sender is busy, firmware update in progress, etc.
   */
  Logi__Device__Proto__Error *error;
};
#define LOGI__DEVICE__PROTO__GET_MEMFAULT_MANIFEST_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__get_memfault_manifest_request__descriptor) \
, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, NULL }


/*
 **
 * GetMemfaultManifestRequest response.
 *  The device should send this message after receiving GetMemfaultManifestRequest.
 *  If the device encounters any issues, this message should be sent with the error field filled
 * out. An empty error field indicates success.
 */
struct  Logi__Device__Proto__GetMemfaultManifestResponse
{
  ProtobufCMessage base;
  /*
   **
   * The device serial number.
   *  Reserve for future versions to indicate target device.
   * (OPTIONAL)
   */
  char *serial;
  /*
   **
   * The manifest body.  This is a json string
   * (REQUIRED)
   */
  char *body;
  /*
   **
   * The manifest body signature.
   * (REQUIRED)
   */
  char *signature;
  /*
   **
   * If any error are encountered while processing the request,
   *   the device should respond with this error field.
   * (OPTIONAL)
   */
  Logi__Device__Proto__Error *error;
};
#define LOGI__DEVICE__PROTO__GET_MEMFAULT_MANIFEST_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__get_memfault_manifest_response__descriptor) \
, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, NULL }


/*
 **
 * For sending memfault settings to device.
 * EXPECTED RESPONSE
 * SendMemfaultSettingsResponse
 * Added 10/12/2022 EE
 */
struct  Logi__Device__Proto__SendMemfaultSettingsRequest
{
  ProtobufCMessage base;
  /*
   **
   * The device serial number.
   *  Reserve for future versions to indicate target device.
   * (OPTIONAL)
   */
  char *serial;
  /*
   **
   * (REQUIRED)
   * The memfault settings in bytes.
   */
  ProtobufCBinaryData memfault_settings;
  /*
   **
   * (REQUIRED)
   * The memfault settings md5 hash
   */
  char *md5;
};
#define LOGI__DEVICE__PROTO__SEND_MEMFAULT_SETTINGS_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_memfault_settings_request__descriptor) \
, (char *)protobuf_c_empty_string, {0,NULL}, (char *)protobuf_c_empty_string }


/*
 **
 * Response to SendMemfaultSettingsRequest request.
 *  The device should send this message after receiving SendMemfaultSettingsRequest.
 *  If the device encounters any issues, this message should be sent with the error field filled
 * out. An empty error field indicates success.
 */
struct  Logi__Device__Proto__SendMemfaultSettingsResponse
{
  ProtobufCMessage base;
  /*
   **
   * If any error are encountered while processing the request,
   *   the device should respond with this error field.
   * (OPTIONAL)
   */
  Logi__Device__Proto__Error *error;
};
#define LOGI__DEVICE__PROTO__SEND_MEMFAULT_SETTINGS_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&logi__device__proto__send_memfault_settings_response__descriptor) \
, NULL }


/* Logi__Device__Proto__SendCrashDumpRequest methods */
void   logi__device__proto__send_crash_dump_request__init
                     (Logi__Device__Proto__SendCrashDumpRequest         *message);
size_t logi__device__proto__send_crash_dump_request__get_packed_size
                     (const Logi__Device__Proto__SendCrashDumpRequest   *message);
size_t logi__device__proto__send_crash_dump_request__pack
                     (const Logi__Device__Proto__SendCrashDumpRequest   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_crash_dump_request__pack_to_buffer
                     (const Logi__Device__Proto__SendCrashDumpRequest   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendCrashDumpRequest *
       logi__device__proto__send_crash_dump_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_crash_dump_request__free_unpacked
                     (Logi__Device__Proto__SendCrashDumpRequest *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__CrashDumpInfo methods */
void   logi__device__proto__crash_dump_info__init
                     (Logi__Device__Proto__CrashDumpInfo         *message);
size_t logi__device__proto__crash_dump_info__get_packed_size
                     (const Logi__Device__Proto__CrashDumpInfo   *message);
size_t logi__device__proto__crash_dump_info__pack
                     (const Logi__Device__Proto__CrashDumpInfo   *message,
                      uint8_t             *out);
size_t logi__device__proto__crash_dump_info__pack_to_buffer
                     (const Logi__Device__Proto__CrashDumpInfo   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__CrashDumpInfo *
       logi__device__proto__crash_dump_info__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__crash_dump_info__free_unpacked
                     (Logi__Device__Proto__CrashDumpInfo *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__SendCrashDumpResponse methods */
void   logi__device__proto__send_crash_dump_response__init
                     (Logi__Device__Proto__SendCrashDumpResponse         *message);
size_t logi__device__proto__send_crash_dump_response__get_packed_size
                     (const Logi__Device__Proto__SendCrashDumpResponse   *message);
size_t logi__device__proto__send_crash_dump_response__pack
                     (const Logi__Device__Proto__SendCrashDumpResponse   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_crash_dump_response__pack_to_buffer
                     (const Logi__Device__Proto__SendCrashDumpResponse   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendCrashDumpResponse *
       logi__device__proto__send_crash_dump_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_crash_dump_response__free_unpacked
                     (Logi__Device__Proto__SendCrashDumpResponse *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__SendCrashDumpRequestv2 methods */
void   logi__device__proto__send_crash_dump_requestv2__init
                     (Logi__Device__Proto__SendCrashDumpRequestv2         *message);
size_t logi__device__proto__send_crash_dump_requestv2__get_packed_size
                     (const Logi__Device__Proto__SendCrashDumpRequestv2   *message);
size_t logi__device__proto__send_crash_dump_requestv2__pack
                     (const Logi__Device__Proto__SendCrashDumpRequestv2   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_crash_dump_requestv2__pack_to_buffer
                     (const Logi__Device__Proto__SendCrashDumpRequestv2   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendCrashDumpRequestv2 *
       logi__device__proto__send_crash_dump_requestv2__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_crash_dump_requestv2__free_unpacked
                     (Logi__Device__Proto__SendCrashDumpRequestv2 *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__SendCrashDumpResponsev2 methods */
void   logi__device__proto__send_crash_dump_responsev2__init
                     (Logi__Device__Proto__SendCrashDumpResponsev2         *message);
size_t logi__device__proto__send_crash_dump_responsev2__get_packed_size
                     (const Logi__Device__Proto__SendCrashDumpResponsev2   *message);
size_t logi__device__proto__send_crash_dump_responsev2__pack
                     (const Logi__Device__Proto__SendCrashDumpResponsev2   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_crash_dump_responsev2__pack_to_buffer
                     (const Logi__Device__Proto__SendCrashDumpResponsev2   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendCrashDumpResponsev2 *
       logi__device__proto__send_crash_dump_responsev2__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_crash_dump_responsev2__free_unpacked
                     (Logi__Device__Proto__SendCrashDumpResponsev2 *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__SendCrashDumpEvent methods */
void   logi__device__proto__send_crash_dump_event__init
                     (Logi__Device__Proto__SendCrashDumpEvent         *message);
size_t logi__device__proto__send_crash_dump_event__get_packed_size
                     (const Logi__Device__Proto__SendCrashDumpEvent   *message);
size_t logi__device__proto__send_crash_dump_event__pack
                     (const Logi__Device__Proto__SendCrashDumpEvent   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_crash_dump_event__pack_to_buffer
                     (const Logi__Device__Proto__SendCrashDumpEvent   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendCrashDumpEvent *
       logi__device__proto__send_crash_dump_event__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_crash_dump_event__free_unpacked
                     (Logi__Device__Proto__SendCrashDumpEvent *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__CrashDumpAvailableEvent methods */
void   logi__device__proto__crash_dump_available_event__init
                     (Logi__Device__Proto__CrashDumpAvailableEvent         *message);
size_t logi__device__proto__crash_dump_available_event__get_packed_size
                     (const Logi__Device__Proto__CrashDumpAvailableEvent   *message);
size_t logi__device__proto__crash_dump_available_event__pack
                     (const Logi__Device__Proto__CrashDumpAvailableEvent   *message,
                      uint8_t             *out);
size_t logi__device__proto__crash_dump_available_event__pack_to_buffer
                     (const Logi__Device__Proto__CrashDumpAvailableEvent   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__CrashDumpAvailableEvent *
       logi__device__proto__crash_dump_available_event__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__crash_dump_available_event__free_unpacked
                     (Logi__Device__Proto__CrashDumpAvailableEvent *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__GenerateCrashDumpRequest methods */
void   logi__device__proto__generate_crash_dump_request__init
                     (Logi__Device__Proto__GenerateCrashDumpRequest         *message);
size_t logi__device__proto__generate_crash_dump_request__get_packed_size
                     (const Logi__Device__Proto__GenerateCrashDumpRequest   *message);
size_t logi__device__proto__generate_crash_dump_request__pack
                     (const Logi__Device__Proto__GenerateCrashDumpRequest   *message,
                      uint8_t             *out);
size_t logi__device__proto__generate_crash_dump_request__pack_to_buffer
                     (const Logi__Device__Proto__GenerateCrashDumpRequest   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__GenerateCrashDumpRequest *
       logi__device__proto__generate_crash_dump_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__generate_crash_dump_request__free_unpacked
                     (Logi__Device__Proto__GenerateCrashDumpRequest *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__GenerateCrashDumpResponse methods */
void   logi__device__proto__generate_crash_dump_response__init
                     (Logi__Device__Proto__GenerateCrashDumpResponse         *message);
size_t logi__device__proto__generate_crash_dump_response__get_packed_size
                     (const Logi__Device__Proto__GenerateCrashDumpResponse   *message);
size_t logi__device__proto__generate_crash_dump_response__pack
                     (const Logi__Device__Proto__GenerateCrashDumpResponse   *message,
                      uint8_t             *out);
size_t logi__device__proto__generate_crash_dump_response__pack_to_buffer
                     (const Logi__Device__Proto__GenerateCrashDumpResponse   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__GenerateCrashDumpResponse *
       logi__device__proto__generate_crash_dump_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__generate_crash_dump_response__free_unpacked
                     (Logi__Device__Proto__GenerateCrashDumpResponse *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__SendTestResultRequest methods */
void   logi__device__proto__send_test_result_request__init
                     (Logi__Device__Proto__SendTestResultRequest         *message);
size_t logi__device__proto__send_test_result_request__get_packed_size
                     (const Logi__Device__Proto__SendTestResultRequest   *message);
size_t logi__device__proto__send_test_result_request__pack
                     (const Logi__Device__Proto__SendTestResultRequest   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_test_result_request__pack_to_buffer
                     (const Logi__Device__Proto__SendTestResultRequest   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendTestResultRequest *
       logi__device__proto__send_test_result_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_test_result_request__free_unpacked
                     (Logi__Device__Proto__SendTestResultRequest *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__SendTestResultResponse methods */
void   logi__device__proto__send_test_result_response__init
                     (Logi__Device__Proto__SendTestResultResponse         *message);
size_t logi__device__proto__send_test_result_response__get_packed_size
                     (const Logi__Device__Proto__SendTestResultResponse   *message);
size_t logi__device__proto__send_test_result_response__pack
                     (const Logi__Device__Proto__SendTestResultResponse   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_test_result_response__pack_to_buffer
                     (const Logi__Device__Proto__SendTestResultResponse   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendTestResultResponse *
       logi__device__proto__send_test_result_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_test_result_response__free_unpacked
                     (Logi__Device__Proto__SendTestResultResponse *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__InitiateMemfaultManifestRequestEvent methods */
void   logi__device__proto__initiate_memfault_manifest_request_event__init
                     (Logi__Device__Proto__InitiateMemfaultManifestRequestEvent         *message);
size_t logi__device__proto__initiate_memfault_manifest_request_event__get_packed_size
                     (const Logi__Device__Proto__InitiateMemfaultManifestRequestEvent   *message);
size_t logi__device__proto__initiate_memfault_manifest_request_event__pack
                     (const Logi__Device__Proto__InitiateMemfaultManifestRequestEvent   *message,
                      uint8_t             *out);
size_t logi__device__proto__initiate_memfault_manifest_request_event__pack_to_buffer
                     (const Logi__Device__Proto__InitiateMemfaultManifestRequestEvent   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__InitiateMemfaultManifestRequestEvent *
       logi__device__proto__initiate_memfault_manifest_request_event__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__initiate_memfault_manifest_request_event__free_unpacked
                     (Logi__Device__Proto__InitiateMemfaultManifestRequestEvent *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__GetMemfaultManifestRequest methods */
void   logi__device__proto__get_memfault_manifest_request__init
                     (Logi__Device__Proto__GetMemfaultManifestRequest         *message);
size_t logi__device__proto__get_memfault_manifest_request__get_packed_size
                     (const Logi__Device__Proto__GetMemfaultManifestRequest   *message);
size_t logi__device__proto__get_memfault_manifest_request__pack
                     (const Logi__Device__Proto__GetMemfaultManifestRequest   *message,
                      uint8_t             *out);
size_t logi__device__proto__get_memfault_manifest_request__pack_to_buffer
                     (const Logi__Device__Proto__GetMemfaultManifestRequest   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__GetMemfaultManifestRequest *
       logi__device__proto__get_memfault_manifest_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__get_memfault_manifest_request__free_unpacked
                     (Logi__Device__Proto__GetMemfaultManifestRequest *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__GetMemfaultManifestResponse methods */
void   logi__device__proto__get_memfault_manifest_response__init
                     (Logi__Device__Proto__GetMemfaultManifestResponse         *message);
size_t logi__device__proto__get_memfault_manifest_response__get_packed_size
                     (const Logi__Device__Proto__GetMemfaultManifestResponse   *message);
size_t logi__device__proto__get_memfault_manifest_response__pack
                     (const Logi__Device__Proto__GetMemfaultManifestResponse   *message,
                      uint8_t             *out);
size_t logi__device__proto__get_memfault_manifest_response__pack_to_buffer
                     (const Logi__Device__Proto__GetMemfaultManifestResponse   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__GetMemfaultManifestResponse *
       logi__device__proto__get_memfault_manifest_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__get_memfault_manifest_response__free_unpacked
                     (Logi__Device__Proto__GetMemfaultManifestResponse *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__SendMemfaultSettingsRequest methods */
void   logi__device__proto__send_memfault_settings_request__init
                     (Logi__Device__Proto__SendMemfaultSettingsRequest         *message);
size_t logi__device__proto__send_memfault_settings_request__get_packed_size
                     (const Logi__Device__Proto__SendMemfaultSettingsRequest   *message);
size_t logi__device__proto__send_memfault_settings_request__pack
                     (const Logi__Device__Proto__SendMemfaultSettingsRequest   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_memfault_settings_request__pack_to_buffer
                     (const Logi__Device__Proto__SendMemfaultSettingsRequest   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendMemfaultSettingsRequest *
       logi__device__proto__send_memfault_settings_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_memfault_settings_request__free_unpacked
                     (Logi__Device__Proto__SendMemfaultSettingsRequest *message,
                      ProtobufCAllocator *allocator);
/* Logi__Device__Proto__SendMemfaultSettingsResponse methods */
void   logi__device__proto__send_memfault_settings_response__init
                     (Logi__Device__Proto__SendMemfaultSettingsResponse         *message);
size_t logi__device__proto__send_memfault_settings_response__get_packed_size
                     (const Logi__Device__Proto__SendMemfaultSettingsResponse   *message);
size_t logi__device__proto__send_memfault_settings_response__pack
                     (const Logi__Device__Proto__SendMemfaultSettingsResponse   *message,
                      uint8_t             *out);
size_t logi__device__proto__send_memfault_settings_response__pack_to_buffer
                     (const Logi__Device__Proto__SendMemfaultSettingsResponse   *message,
                      ProtobufCBuffer     *buffer);
Logi__Device__Proto__SendMemfaultSettingsResponse *
       logi__device__proto__send_memfault_settings_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   logi__device__proto__send_memfault_settings_response__free_unpacked
                     (Logi__Device__Proto__SendMemfaultSettingsResponse *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*Logi__Device__Proto__SendCrashDumpRequest_Closure)
                 (const Logi__Device__Proto__SendCrashDumpRequest *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__CrashDumpInfo_Closure)
                 (const Logi__Device__Proto__CrashDumpInfo *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__SendCrashDumpResponse_Closure)
                 (const Logi__Device__Proto__SendCrashDumpResponse *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__SendCrashDumpRequestv2_Closure)
                 (const Logi__Device__Proto__SendCrashDumpRequestv2 *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__SendCrashDumpResponsev2_Closure)
                 (const Logi__Device__Proto__SendCrashDumpResponsev2 *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__SendCrashDumpEvent_Closure)
                 (const Logi__Device__Proto__SendCrashDumpEvent *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__CrashDumpAvailableEvent_Closure)
                 (const Logi__Device__Proto__CrashDumpAvailableEvent *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__GenerateCrashDumpRequest_Closure)
                 (const Logi__Device__Proto__GenerateCrashDumpRequest *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__GenerateCrashDumpResponse_Closure)
                 (const Logi__Device__Proto__GenerateCrashDumpResponse *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__SendTestResultRequest_Closure)
                 (const Logi__Device__Proto__SendTestResultRequest *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__SendTestResultResponse_Closure)
                 (const Logi__Device__Proto__SendTestResultResponse *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__InitiateMemfaultManifestRequestEvent_Closure)
                 (const Logi__Device__Proto__InitiateMemfaultManifestRequestEvent *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__GetMemfaultManifestRequest_Closure)
                 (const Logi__Device__Proto__GetMemfaultManifestRequest *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__GetMemfaultManifestResponse_Closure)
                 (const Logi__Device__Proto__GetMemfaultManifestResponse *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__SendMemfaultSettingsRequest_Closure)
                 (const Logi__Device__Proto__SendMemfaultSettingsRequest *message,
                  void *closure_data);
typedef void (*Logi__Device__Proto__SendMemfaultSettingsResponse_Closure)
                 (const Logi__Device__Proto__SendMemfaultSettingsResponse *message,
                  void *closure_data);

/* --- services --- */


/* --- descriptors --- */

extern const ProtobufCMessageDescriptor logi__device__proto__send_crash_dump_request__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__crash_dump_info__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__send_crash_dump_response__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__send_crash_dump_requestv2__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__send_crash_dump_responsev2__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__send_crash_dump_event__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__crash_dump_available_event__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__generate_crash_dump_request__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__generate_crash_dump_response__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__send_test_result_request__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__send_test_result_response__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__initiate_memfault_manifest_request_event__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__get_memfault_manifest_request__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__get_memfault_manifest_response__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__send_memfault_settings_request__descriptor;
extern const ProtobufCMessageDescriptor logi__device__proto__send_memfault_settings_response__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_crash_5finfo_2eproto__INCLUDED */
