1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.2.5 at Fri Jan 17 14:12:22 2014. */
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_DiagnosticMessage {
39 bool has_negative_response_code;
40 uint32_t negative_response_code;
43 } openxc_DiagnosticMessage;
45 typedef struct _openxc_RawMessage {
54 typedef struct _openxc_TranslatedMessage {
56 openxc_TranslatedMessage_Type type;
59 bool has_string_value;
60 char string_value[100];
61 bool has_numeric_value;
63 bool has_boolean_value;
65 bool has_string_event;
66 char string_event[100];
67 bool has_numeric_event;
69 bool has_boolean_event;
71 } openxc_TranslatedMessage;
73 typedef struct _openxc_VehicleMessage {
75 openxc_VehicleMessage_Type type;
77 openxc_RawMessage raw_message;
78 bool has_translated_message;
79 openxc_TranslatedMessage translated_message;
80 } openxc_VehicleMessage;
82 /* Default values for struct fields */
84 /* Field tags (for use in manual encoding/decoding) */
85 #define openxc_DiagnosticMessage_bus_tag 1
86 #define openxc_DiagnosticMessage_message_id_tag 2
87 #define openxc_DiagnosticMessage_mode_tag 3
88 #define openxc_DiagnosticMessage_pid_tag 4
89 #define openxc_DiagnosticMessage_success_tag 5
90 #define openxc_DiagnosticMessage_negative_response_code_tag 6
91 #define openxc_DiagnosticMessage_payload_tag 7
92 #define openxc_RawMessage_bus_tag 1
93 #define openxc_RawMessage_message_id_tag 2
94 #define openxc_RawMessage_data_tag 3
95 #define openxc_TranslatedMessage_type_tag 1
96 #define openxc_TranslatedMessage_name_tag 2
97 #define openxc_TranslatedMessage_string_value_tag 3
98 #define openxc_TranslatedMessage_numeric_value_tag 4
99 #define openxc_TranslatedMessage_boolean_value_tag 5
100 #define openxc_TranslatedMessage_string_event_tag 6
101 #define openxc_TranslatedMessage_numeric_event_tag 7
102 #define openxc_TranslatedMessage_boolean_event_tag 8
103 #define openxc_VehicleMessage_type_tag 1
104 #define openxc_VehicleMessage_raw_message_tag 2
105 #define openxc_VehicleMessage_translated_message_tag 3
107 /* Struct field encoding specification for nanopb */
108 extern const pb_field_t openxc_VehicleMessage_fields[4];
109 extern const pb_field_t openxc_RawMessage_fields[4];
110 extern const pb_field_t openxc_DiagnosticMessage_fields[8];
111 extern const pb_field_t openxc_TranslatedMessage_fields[9];
113 /* Maximum encoded size of messages (where known) */
114 #define openxc_VehicleMessage_size 373
115 #define openxc_RawMessage_size 28
116 #define openxc_DiagnosticMessage_size 48
117 #define openxc_TranslatedMessage_size 334