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

#ifndef PROTOBUF_C_timer_2eproto__INCLUDED
#define PROTOBUF_C_timer_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 ItimerEntry ItimerEntry;
typedef struct PosixTimerEntry PosixTimerEntry;
typedef struct TaskTimersEntry TaskTimersEntry;


/* --- enums --- */


/* --- messages --- */

struct  ItimerEntry
{
  ProtobufCMessage base;
  uint64_t isec;
  uint64_t iusec;
  uint64_t vsec;
  uint64_t vusec;
};
#define ITIMER_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&itimer_entry__descriptor) \
, 0, 0, 0, 0 }


struct  PosixTimerEntry
{
  ProtobufCMessage base;
  uint32_t it_id;
  uint32_t clock_id;
  uint32_t si_signo;
  uint32_t it_sigev_notify;
  uint64_t sival_ptr;
  uint32_t overrun;
  uint64_t isec;
  uint64_t insec;
  uint64_t vsec;
  uint64_t vnsec;
  protobuf_c_boolean has_notify_thread_id;
  int32_t notify_thread_id;
};
#define POSIX_TIMER_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&posix_timer_entry__descriptor) \
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }


struct  TaskTimersEntry
{
  ProtobufCMessage base;
  ItimerEntry *real;
  ItimerEntry *virt;
  ItimerEntry *prof;
  size_t n_posix;
  PosixTimerEntry **posix;
};
#define TASK_TIMERS_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&task_timers_entry__descriptor) \
, NULL, NULL, NULL, 0,NULL }


/* ItimerEntry methods */
void   itimer_entry__init
                     (ItimerEntry         *message);
size_t itimer_entry__get_packed_size
                     (const ItimerEntry   *message);
size_t itimer_entry__pack
                     (const ItimerEntry   *message,
                      uint8_t             *out);
size_t itimer_entry__pack_to_buffer
                     (const ItimerEntry   *message,
                      ProtobufCBuffer     *buffer);
ItimerEntry *
       itimer_entry__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   itimer_entry__free_unpacked
                     (ItimerEntry *message,
                      ProtobufCAllocator *allocator);
/* PosixTimerEntry methods */
void   posix_timer_entry__init
                     (PosixTimerEntry         *message);
size_t posix_timer_entry__get_packed_size
                     (const PosixTimerEntry   *message);
size_t posix_timer_entry__pack
                     (const PosixTimerEntry   *message,
                      uint8_t             *out);
size_t posix_timer_entry__pack_to_buffer
                     (const PosixTimerEntry   *message,
                      ProtobufCBuffer     *buffer);
PosixTimerEntry *
       posix_timer_entry__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   posix_timer_entry__free_unpacked
                     (PosixTimerEntry *message,
                      ProtobufCAllocator *allocator);
/* TaskTimersEntry methods */
void   task_timers_entry__init
                     (TaskTimersEntry         *message);
size_t task_timers_entry__get_packed_size
                     (const TaskTimersEntry   *message);
size_t task_timers_entry__pack
                     (const TaskTimersEntry   *message,
                      uint8_t             *out);
size_t task_timers_entry__pack_to_buffer
                     (const TaskTimersEntry   *message,
                      ProtobufCBuffer     *buffer);
TaskTimersEntry *
       task_timers_entry__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   task_timers_entry__free_unpacked
                     (TaskTimersEntry *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*ItimerEntry_Closure)
                 (const ItimerEntry *message,
                  void *closure_data);
typedef void (*PosixTimerEntry_Closure)
                 (const PosixTimerEntry *message,
                  void *closure_data);
typedef void (*TaskTimersEntry_Closure)
                 (const TaskTimersEntry *message,
                  void *closure_data);

/* --- services --- */


/* --- descriptors --- */

extern const ProtobufCMessageDescriptor itimer_entry__descriptor;
extern const ProtobufCMessageDescriptor posix_timer_entry__descriptor;
extern const ProtobufCMessageDescriptor task_timers_entry__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_timer_2eproto__INCLUDED */
