1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.2.4-dev at Thu Oct 24 10:06:38 2013. */
4 #ifndef _PB_OPENXC_PB_H_
5 #define _PB_OPENXC_PB_H_
12 /* Enum definitions */
13 typedef enum _openxc_VehicleMessage_Type {
14 openxc_VehicleMessage_Type_RAW = 1,
15 openxc_VehicleMessage_Type_TRANSLATED = 2
16 } openxc_VehicleMessage_Type;
18 typedef enum _openxc_TranslatedMessage_Type {
19 openxc_TranslatedMessage_Type_STRING = 1,
20 openxc_TranslatedMessage_Type_NUM = 2,
21 openxc_TranslatedMessage_Type_BOOL = 3,
22 openxc_TranslatedMessage_Type_EVENTED_STRING = 4,
23 openxc_TranslatedMessage_Type_EVENTED_NUM = 5,
24 openxc_TranslatedMessage_Type_EVENTED_BOOL = 6
25 } openxc_TranslatedMessage_Type;
27 /* Struct definitions */
28 typedef struct _openxc_RawMessage {
37 typedef struct _openxc_TranslatedMessage {
39 openxc_TranslatedMessage_Type type;
42 bool has_string_value;
43 char string_value[100];
44 bool has_numeric_value;
46 bool has_boolean_value;
48 bool has_string_event;
49 char string_event[100];
50 bool has_numeric_event;
52 bool has_boolean_event;
54 } openxc_TranslatedMessage;
56 typedef struct _openxc_VehicleMessage {
58 openxc_VehicleMessage_Type type;
60 openxc_RawMessage raw_message;
61 bool has_translated_message;
62 openxc_TranslatedMessage translated_message;
63 } openxc_VehicleMessage;
65 /* Default values for struct fields */
67 /* Field tags (for use in manual encoding/decoding) */
68 #define openxc_RawMessage_bus_tag 1
69 #define openxc_RawMessage_message_id_tag 2
70 #define openxc_RawMessage_data_tag 3
71 #define openxc_TranslatedMessage_type_tag 1
72 #define openxc_TranslatedMessage_name_tag 2
73 #define openxc_TranslatedMessage_string_value_tag 3
74 #define openxc_TranslatedMessage_numeric_value_tag 4
75 #define openxc_TranslatedMessage_boolean_value_tag 5
76 #define openxc_TranslatedMessage_string_event_tag 6
77 #define openxc_TranslatedMessage_numeric_event_tag 7
78 #define openxc_TranslatedMessage_boolean_event_tag 8
79 #define openxc_VehicleMessage_type_tag 1
80 #define openxc_VehicleMessage_raw_message_tag 2
81 #define openxc_VehicleMessage_translated_message_tag 3
83 /* Struct field encoding specification for nanopb */
84 extern const pb_field_t openxc_VehicleMessage_fields[4];
85 extern const pb_field_t openxc_RawMessage_fields[4];
86 extern const pb_field_t openxc_TranslatedMessage_fields[9];
88 /* Maximum encoded size of messages (where known) */
89 #define openxc_VehicleMessage_size 368
90 #define openxc_RawMessage_size 23
91 #define openxc_TranslatedMessage_size 334