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

#ifndef PROTOBUF_C_priv_5faccess_2eproto__INCLUDED
#define PROTOBUF_C_priv_5faccess_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 protobuf-c which is incompatible with your libprotobuf-c headers. Please update your headers.
#elif 1005002 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protobuf-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protobuf-c.
#endif


typedef struct RndAddToEntCntRequest RndAddToEntCntRequest;
typedef struct RndAddToEntCntResponse RndAddToEntCntResponse;
typedef struct RndAddEntropyRequest RndAddEntropyRequest;
typedef struct RndAddEntropyResponse RndAddEntropyResponse;
typedef struct RndClearPoolRequest RndClearPoolRequest;
typedef struct RndClearPoolResponse RndClearPoolResponse;
typedef struct RndReseedCRNGRequest RndReseedCRNGRequest;
typedef struct RndReseedCRNGResponse RndReseedCRNGResponse;
typedef struct SetWriteWakeupThreshRequest SetWriteWakeupThreshRequest;
typedef struct SetWriteWakeupThreshResponse SetWriteWakeupThreshResponse;
typedef struct SetMinReseedSecsRequest SetMinReseedSecsRequest;
typedef struct SetMinReseedSecsResponse SetMinReseedSecsResponse;


/* --- enums --- */


/* --- messages --- */

/*
 **
 * @brief Request to change the entropy estimator of the ES manager
 * @param entcnt Entropy value in bits to set to (value is capped to maximum
 *		 possible entropy value)
 */
struct  RndAddToEntCntRequest
{
  ProtobufCMessage base;
  uint32_t entcnt;
};
#define RND_ADD_TO_ENT_CNT_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&rnd_add_to_ent_cnt_request__descriptor) \
, 0 }


/*
 **
 * @brief Response of the change of the entropy estimator operation
 * @param ret Return code (0 on success, < 0 on error)
 */
struct  RndAddToEntCntResponse
{
  ProtobufCMessage base;
  int32_t ret;
};
#define RND_ADD_TO_ENT_CNT_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&rnd_add_to_ent_cnt_response__descriptor) \
, 0 }


/*
 **
 * @brief Request to add data to the auxiliary entropy pool and increase the
 *	  pool's entropy estimate accordingly
 * @param randval Buffer with the entropy data
 * @param entcnt Entropy value in bits to set to (value is capped to maximum
 *		 possible entropy value)
 */
struct  RndAddEntropyRequest
{
  ProtobufCMessage base;
  ProtobufCBinaryData randval;
  uint32_t entcnt;
};
#define RND_ADD_ENTROPY_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&rnd_add_entropy_request__descriptor) \
, {0,NULL}, 0 }


/*
 **
 * @brief Response of the addition of entropy data operation
 * @param ret Return code (0 on success, < 0 on error)
 */
struct  RndAddEntropyResponse
{
  ProtobufCMessage base;
  int32_t ret;
};
#define RND_ADD_ENTROPY_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&rnd_add_entropy_response__descriptor) \
, 0 }


/*
 **
 * @brief Request to clear the auxiliary entropy pool
 */
struct  RndClearPoolRequest
{
  ProtobufCMessage base;
};
#define RND_CLEAR_POOL_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&rnd_clear_pool_request__descriptor) \
 }


/*
 **
 * @brief Response of clearing the auxiliary entropy pool
 * @param ret Return code (0 on success, < 0 on error)
 */
struct  RndClearPoolResponse
{
  ProtobufCMessage base;
  int32_t ret;
};
#define RND_CLEAR_POOL_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&rnd_clear_pool_response__descriptor) \
, 0 }


/*
 **
 * @brief Request the reseeding of the DRNGs
 */
struct  RndReseedCRNGRequest
{
  ProtobufCMessage base;
};
#define RND_RESEED_CRNGREQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&rnd_reseed_crngrequest__descriptor) \
 }


/*
 **
 * @brief Response of requesting the reseed of the DRNGs
 * @param ret Return code (0 on success, < 0 on error)
 */
struct  RndReseedCRNGResponse
{
  ProtobufCMessage base;
  int32_t ret;
};
#define RND_RESEED_CRNGRESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&rnd_reseed_crngresponse__descriptor) \
, 0 }


/*
 **
 * @brief Request to set the available write wakeup threshold
 */
struct  SetWriteWakeupThreshRequest
{
  ProtobufCMessage base;
  uint32_t wakeup;
};
#define SET_WRITE_WAKEUP_THRESH_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&set_write_wakeup_thresh_request__descriptor) \
, 0 }


/*
 **
 * @brief Response returning the result of write wakeup threshold
 * @param ret Return code (0 on success, < 0 on error)
 */
struct  SetWriteWakeupThreshResponse
{
  ProtobufCMessage base;
  int32_t ret;
};
#define SET_WRITE_WAKEUP_THRESH_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&set_write_wakeup_thresh_response__descriptor) \
, 0 }


/*
 **
 * @brief Request to set the available write wakeup threshold
 */
struct  SetMinReseedSecsRequest
{
  ProtobufCMessage base;
  uint32_t seconds;
};
#define SET_MIN_RESEED_SECS_REQUEST__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&set_min_reseed_secs_request__descriptor) \
, 0 }


/*
 **
 * @brief Response returning the result of write min reseed secs
 * @param ret Return code (0 on success, < 0 on error)
 */
struct  SetMinReseedSecsResponse
{
  ProtobufCMessage base;
  int32_t ret;
};
#define SET_MIN_RESEED_SECS_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&set_min_reseed_secs_response__descriptor) \
, 0 }


/* RndAddToEntCntRequest methods */
void   rnd_add_to_ent_cnt_request__init
                     (RndAddToEntCntRequest         *message);
size_t rnd_add_to_ent_cnt_request__get_packed_size
                     (const RndAddToEntCntRequest   *message);
size_t rnd_add_to_ent_cnt_request__pack
                     (const RndAddToEntCntRequest   *message,
                      uint8_t             *out);
size_t rnd_add_to_ent_cnt_request__pack_to_buffer
                     (const RndAddToEntCntRequest   *message,
                      ProtobufCBuffer     *buffer);
RndAddToEntCntRequest *
       rnd_add_to_ent_cnt_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   rnd_add_to_ent_cnt_request__free_unpacked
                     (RndAddToEntCntRequest *message,
                      ProtobufCAllocator *allocator);
/* RndAddToEntCntResponse methods */
void   rnd_add_to_ent_cnt_response__init
                     (RndAddToEntCntResponse         *message);
size_t rnd_add_to_ent_cnt_response__get_packed_size
                     (const RndAddToEntCntResponse   *message);
size_t rnd_add_to_ent_cnt_response__pack
                     (const RndAddToEntCntResponse   *message,
                      uint8_t             *out);
size_t rnd_add_to_ent_cnt_response__pack_to_buffer
                     (const RndAddToEntCntResponse   *message,
                      ProtobufCBuffer     *buffer);
RndAddToEntCntResponse *
       rnd_add_to_ent_cnt_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   rnd_add_to_ent_cnt_response__free_unpacked
                     (RndAddToEntCntResponse *message,
                      ProtobufCAllocator *allocator);
/* RndAddEntropyRequest methods */
void   rnd_add_entropy_request__init
                     (RndAddEntropyRequest         *message);
size_t rnd_add_entropy_request__get_packed_size
                     (const RndAddEntropyRequest   *message);
size_t rnd_add_entropy_request__pack
                     (const RndAddEntropyRequest   *message,
                      uint8_t             *out);
size_t rnd_add_entropy_request__pack_to_buffer
                     (const RndAddEntropyRequest   *message,
                      ProtobufCBuffer     *buffer);
RndAddEntropyRequest *
       rnd_add_entropy_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   rnd_add_entropy_request__free_unpacked
                     (RndAddEntropyRequest *message,
                      ProtobufCAllocator *allocator);
/* RndAddEntropyResponse methods */
void   rnd_add_entropy_response__init
                     (RndAddEntropyResponse         *message);
size_t rnd_add_entropy_response__get_packed_size
                     (const RndAddEntropyResponse   *message);
size_t rnd_add_entropy_response__pack
                     (const RndAddEntropyResponse   *message,
                      uint8_t             *out);
size_t rnd_add_entropy_response__pack_to_buffer
                     (const RndAddEntropyResponse   *message,
                      ProtobufCBuffer     *buffer);
RndAddEntropyResponse *
       rnd_add_entropy_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   rnd_add_entropy_response__free_unpacked
                     (RndAddEntropyResponse *message,
                      ProtobufCAllocator *allocator);
/* RndClearPoolRequest methods */
void   rnd_clear_pool_request__init
                     (RndClearPoolRequest         *message);
size_t rnd_clear_pool_request__get_packed_size
                     (const RndClearPoolRequest   *message);
size_t rnd_clear_pool_request__pack
                     (const RndClearPoolRequest   *message,
                      uint8_t             *out);
size_t rnd_clear_pool_request__pack_to_buffer
                     (const RndClearPoolRequest   *message,
                      ProtobufCBuffer     *buffer);
RndClearPoolRequest *
       rnd_clear_pool_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   rnd_clear_pool_request__free_unpacked
                     (RndClearPoolRequest *message,
                      ProtobufCAllocator *allocator);
/* RndClearPoolResponse methods */
void   rnd_clear_pool_response__init
                     (RndClearPoolResponse         *message);
size_t rnd_clear_pool_response__get_packed_size
                     (const RndClearPoolResponse   *message);
size_t rnd_clear_pool_response__pack
                     (const RndClearPoolResponse   *message,
                      uint8_t             *out);
size_t rnd_clear_pool_response__pack_to_buffer
                     (const RndClearPoolResponse   *message,
                      ProtobufCBuffer     *buffer);
RndClearPoolResponse *
       rnd_clear_pool_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   rnd_clear_pool_response__free_unpacked
                     (RndClearPoolResponse *message,
                      ProtobufCAllocator *allocator);
/* RndReseedCRNGRequest methods */
void   rnd_reseed_crngrequest__init
                     (RndReseedCRNGRequest         *message);
size_t rnd_reseed_crngrequest__get_packed_size
                     (const RndReseedCRNGRequest   *message);
size_t rnd_reseed_crngrequest__pack
                     (const RndReseedCRNGRequest   *message,
                      uint8_t             *out);
size_t rnd_reseed_crngrequest__pack_to_buffer
                     (const RndReseedCRNGRequest   *message,
                      ProtobufCBuffer     *buffer);
RndReseedCRNGRequest *
       rnd_reseed_crngrequest__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   rnd_reseed_crngrequest__free_unpacked
                     (RndReseedCRNGRequest *message,
                      ProtobufCAllocator *allocator);
/* RndReseedCRNGResponse methods */
void   rnd_reseed_crngresponse__init
                     (RndReseedCRNGResponse         *message);
size_t rnd_reseed_crngresponse__get_packed_size
                     (const RndReseedCRNGResponse   *message);
size_t rnd_reseed_crngresponse__pack
                     (const RndReseedCRNGResponse   *message,
                      uint8_t             *out);
size_t rnd_reseed_crngresponse__pack_to_buffer
                     (const RndReseedCRNGResponse   *message,
                      ProtobufCBuffer     *buffer);
RndReseedCRNGResponse *
       rnd_reseed_crngresponse__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   rnd_reseed_crngresponse__free_unpacked
                     (RndReseedCRNGResponse *message,
                      ProtobufCAllocator *allocator);
/* SetWriteWakeupThreshRequest methods */
void   set_write_wakeup_thresh_request__init
                     (SetWriteWakeupThreshRequest         *message);
size_t set_write_wakeup_thresh_request__get_packed_size
                     (const SetWriteWakeupThreshRequest   *message);
size_t set_write_wakeup_thresh_request__pack
                     (const SetWriteWakeupThreshRequest   *message,
                      uint8_t             *out);
size_t set_write_wakeup_thresh_request__pack_to_buffer
                     (const SetWriteWakeupThreshRequest   *message,
                      ProtobufCBuffer     *buffer);
SetWriteWakeupThreshRequest *
       set_write_wakeup_thresh_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   set_write_wakeup_thresh_request__free_unpacked
                     (SetWriteWakeupThreshRequest *message,
                      ProtobufCAllocator *allocator);
/* SetWriteWakeupThreshResponse methods */
void   set_write_wakeup_thresh_response__init
                     (SetWriteWakeupThreshResponse         *message);
size_t set_write_wakeup_thresh_response__get_packed_size
                     (const SetWriteWakeupThreshResponse   *message);
size_t set_write_wakeup_thresh_response__pack
                     (const SetWriteWakeupThreshResponse   *message,
                      uint8_t             *out);
size_t set_write_wakeup_thresh_response__pack_to_buffer
                     (const SetWriteWakeupThreshResponse   *message,
                      ProtobufCBuffer     *buffer);
SetWriteWakeupThreshResponse *
       set_write_wakeup_thresh_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   set_write_wakeup_thresh_response__free_unpacked
                     (SetWriteWakeupThreshResponse *message,
                      ProtobufCAllocator *allocator);
/* SetMinReseedSecsRequest methods */
void   set_min_reseed_secs_request__init
                     (SetMinReseedSecsRequest         *message);
size_t set_min_reseed_secs_request__get_packed_size
                     (const SetMinReseedSecsRequest   *message);
size_t set_min_reseed_secs_request__pack
                     (const SetMinReseedSecsRequest   *message,
                      uint8_t             *out);
size_t set_min_reseed_secs_request__pack_to_buffer
                     (const SetMinReseedSecsRequest   *message,
                      ProtobufCBuffer     *buffer);
SetMinReseedSecsRequest *
       set_min_reseed_secs_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   set_min_reseed_secs_request__free_unpacked
                     (SetMinReseedSecsRequest *message,
                      ProtobufCAllocator *allocator);
/* SetMinReseedSecsResponse methods */
void   set_min_reseed_secs_response__init
                     (SetMinReseedSecsResponse         *message);
size_t set_min_reseed_secs_response__get_packed_size
                     (const SetMinReseedSecsResponse   *message);
size_t set_min_reseed_secs_response__pack
                     (const SetMinReseedSecsResponse   *message,
                      uint8_t             *out);
size_t set_min_reseed_secs_response__pack_to_buffer
                     (const SetMinReseedSecsResponse   *message,
                      ProtobufCBuffer     *buffer);
SetMinReseedSecsResponse *
       set_min_reseed_secs_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   set_min_reseed_secs_response__free_unpacked
                     (SetMinReseedSecsResponse *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*RndAddToEntCntRequest_Closure)
                 (const RndAddToEntCntRequest *message,
                  void *closure_data);
typedef void (*RndAddToEntCntResponse_Closure)
                 (const RndAddToEntCntResponse *message,
                  void *closure_data);
typedef void (*RndAddEntropyRequest_Closure)
                 (const RndAddEntropyRequest *message,
                  void *closure_data);
typedef void (*RndAddEntropyResponse_Closure)
                 (const RndAddEntropyResponse *message,
                  void *closure_data);
typedef void (*RndClearPoolRequest_Closure)
                 (const RndClearPoolRequest *message,
                  void *closure_data);
typedef void (*RndClearPoolResponse_Closure)
                 (const RndClearPoolResponse *message,
                  void *closure_data);
typedef void (*RndReseedCRNGRequest_Closure)
                 (const RndReseedCRNGRequest *message,
                  void *closure_data);
typedef void (*RndReseedCRNGResponse_Closure)
                 (const RndReseedCRNGResponse *message,
                  void *closure_data);
typedef void (*SetWriteWakeupThreshRequest_Closure)
                 (const SetWriteWakeupThreshRequest *message,
                  void *closure_data);
typedef void (*SetWriteWakeupThreshResponse_Closure)
                 (const SetWriteWakeupThreshResponse *message,
                  void *closure_data);
typedef void (*SetMinReseedSecsRequest_Closure)
                 (const SetMinReseedSecsRequest *message,
                  void *closure_data);
typedef void (*SetMinReseedSecsResponse_Closure)
                 (const SetMinReseedSecsResponse *message,
                  void *closure_data);

/* --- services --- */

typedef struct PrivAccess_Service PrivAccess_Service;
struct PrivAccess_Service
{
  ProtobufCService base;
  void (*rpc_rnd_add_to_ent_cnt)(PrivAccess_Service *service,
                                 const RndAddToEntCntRequest *input,
                                 RndAddToEntCntResponse_Closure closure,
                                 void *closure_data);
  void (*rpc_rnd_add_entropy)(PrivAccess_Service *service,
                              const RndAddEntropyRequest *input,
                              RndAddEntropyResponse_Closure closure,
                              void *closure_data);
  void (*rpc_rnd_clear_pool)(PrivAccess_Service *service,
                             const RndClearPoolRequest *input,
                             RndClearPoolResponse_Closure closure,
                             void *closure_data);
  void (*rpc_rnd_reseed_crng)(PrivAccess_Service *service,
                              const RndReseedCRNGRequest *input,
                              RndReseedCRNGResponse_Closure closure,
                              void *closure_data);
  void (*rpc_set_write_wakeup_thresh)(PrivAccess_Service *service,
                                      const SetWriteWakeupThreshRequest *input,
                                      SetWriteWakeupThreshResponse_Closure closure,
                                      void *closure_data);
  void (*rpc_set_min_reseed_secs)(PrivAccess_Service *service,
                                  const SetMinReseedSecsRequest *input,
                                  SetMinReseedSecsResponse_Closure closure,
                                  void *closure_data);
};
typedef void (*PrivAccess_ServiceDestroy)(PrivAccess_Service *);
void priv_access__init (PrivAccess_Service *service,
                        PrivAccess_ServiceDestroy destroy);
#define PRIV_ACCESS__BASE_INIT \
    { &priv_access__descriptor, protobuf_c_service_invoke_internal, NULL }
#define PRIV_ACCESS__INIT(function_prefix__) \
    { PRIV_ACCESS__BASE_INIT,\
      function_prefix__ ## rpc_rnd_add_to_ent_cnt,\
      function_prefix__ ## rpc_rnd_add_entropy,\
      function_prefix__ ## rpc_rnd_clear_pool,\
      function_prefix__ ## rpc_rnd_reseed_crng,\
      function_prefix__ ## rpc_set_write_wakeup_thresh,\
      function_prefix__ ## rpc_set_min_reseed_secs  }
void priv_access__rpc_rnd_add_to_ent_cnt(ProtobufCService *service,
                                         const RndAddToEntCntRequest *input,
                                         RndAddToEntCntResponse_Closure closure,
                                         void *closure_data);
void priv_access__rpc_rnd_add_entropy(ProtobufCService *service,
                                      const RndAddEntropyRequest *input,
                                      RndAddEntropyResponse_Closure closure,
                                      void *closure_data);
void priv_access__rpc_rnd_clear_pool(ProtobufCService *service,
                                     const RndClearPoolRequest *input,
                                     RndClearPoolResponse_Closure closure,
                                     void *closure_data);
void priv_access__rpc_rnd_reseed_crng(ProtobufCService *service,
                                      const RndReseedCRNGRequest *input,
                                      RndReseedCRNGResponse_Closure closure,
                                      void *closure_data);
void priv_access__rpc_set_write_wakeup_thresh(ProtobufCService *service,
                                              const SetWriteWakeupThreshRequest *input,
                                              SetWriteWakeupThreshResponse_Closure closure,
                                              void *closure_data);
void priv_access__rpc_set_min_reseed_secs(ProtobufCService *service,
                                          const SetMinReseedSecsRequest *input,
                                          SetMinReseedSecsResponse_Closure closure,
                                          void *closure_data);

/* --- descriptors --- */

extern const ProtobufCMessageDescriptor rnd_add_to_ent_cnt_request__descriptor;
extern const ProtobufCMessageDescriptor rnd_add_to_ent_cnt_response__descriptor;
extern const ProtobufCMessageDescriptor rnd_add_entropy_request__descriptor;
extern const ProtobufCMessageDescriptor rnd_add_entropy_response__descriptor;
extern const ProtobufCMessageDescriptor rnd_clear_pool_request__descriptor;
extern const ProtobufCMessageDescriptor rnd_clear_pool_response__descriptor;
extern const ProtobufCMessageDescriptor rnd_reseed_crngrequest__descriptor;
extern const ProtobufCMessageDescriptor rnd_reseed_crngresponse__descriptor;
extern const ProtobufCMessageDescriptor set_write_wakeup_thresh_request__descriptor;
extern const ProtobufCMessageDescriptor set_write_wakeup_thresh_response__descriptor;
extern const ProtobufCMessageDescriptor set_min_reseed_secs_request__descriptor;
extern const ProtobufCMessageDescriptor set_min_reseed_secs_response__descriptor;
extern const ProtobufCServiceDescriptor priv_access__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_priv_5faccess_2eproto__INCLUDED */
