Add passthrough command and refactor commands in binary format.
[apps/agl-service-can-low-level.git] / gen / cpp / openxc.pb.h
1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.2.5 at Sat Sep 20 21:48:43 2014. */
3
4 #ifndef _PB_OPENXC_PB_H_
5 #define _PB_OPENXC_PB_H_
6 #include <pb.h>
7
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11
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_DIAGNOSTIC = 3,
17     openxc_VehicleMessage_Type_CONTROL_COMMAND = 4,
18     openxc_VehicleMessage_Type_COMMAND_RESPONSE = 5
19 } openxc_VehicleMessage_Type;
20
21 typedef enum _openxc_ControlCommand_Type {
22     openxc_ControlCommand_Type_VERSION = 1,
23     openxc_ControlCommand_Type_DEVICE_ID = 2,
24     openxc_ControlCommand_Type_DIAGNOSTIC = 3,
25     openxc_ControlCommand_Type_PASSTHROUGH = 4
26 } openxc_ControlCommand_Type;
27
28 typedef enum _openxc_DiagnosticControlCommand_Action {
29     openxc_DiagnosticControlCommand_Action_ADD = 1,
30     openxc_DiagnosticControlCommand_Action_CANCEL = 2
31 } openxc_DiagnosticControlCommand_Action;
32
33 typedef enum _openxc_PassthroughModeControlCommand_PassthroughMode {
34     openxc_PassthroughModeControlCommand_PassthroughMode_OFF = 1,
35     openxc_PassthroughModeControlCommand_PassthroughMode_FILTERED = 2,
36     openxc_PassthroughModeControlCommand_PassthroughMode_UNFILTERED = 3
37 } openxc_PassthroughModeControlCommand_PassthroughMode;
38
39 typedef enum _openxc_DiagnosticRequest_DecodedType {
40     openxc_DiagnosticRequest_DecodedType_NONE = 1,
41     openxc_DiagnosticRequest_DecodedType_OBD2 = 2
42 } openxc_DiagnosticRequest_DecodedType;
43
44 typedef enum _openxc_DynamicField_Type {
45     openxc_DynamicField_Type_STRING = 1,
46     openxc_DynamicField_Type_NUM = 2,
47     openxc_DynamicField_Type_BOOL = 3
48 } openxc_DynamicField_Type;
49
50 typedef enum _openxc_TranslatedMessage_Type {
51     openxc_TranslatedMessage_Type_STRING = 1,
52     openxc_TranslatedMessage_Type_NUM = 2,
53     openxc_TranslatedMessage_Type_BOOL = 3,
54     openxc_TranslatedMessage_Type_EVENTED_STRING = 4,
55     openxc_TranslatedMessage_Type_EVENTED_NUM = 5,
56     openxc_TranslatedMessage_Type_EVENTED_BOOL = 6
57 } openxc_TranslatedMessage_Type;
58
59 /* Struct definitions */
60 typedef struct _openxc_CommandResponse {
61     bool has_type;
62     openxc_ControlCommand_Type type;
63     bool has_message;
64     char message[128];
65     bool has_status;
66     bool status;
67 } openxc_CommandResponse;
68
69 typedef struct {
70     size_t size;
71     uint8_t bytes[8];
72 } openxc_DiagnosticRequest_payload_t;
73
74 typedef struct _openxc_DiagnosticRequest {
75     bool has_bus;
76     int32_t bus;
77     bool has_message_id;
78     uint32_t message_id;
79     bool has_mode;
80     uint32_t mode;
81     bool has_pid;
82     uint32_t pid;
83     bool has_payload;
84     openxc_DiagnosticRequest_payload_t payload;
85     bool has_multiple_responses;
86     bool multiple_responses;
87     bool has_frequency;
88     double frequency;
89     bool has_name;
90     char name[10];
91     bool has_decoded_type;
92     openxc_DiagnosticRequest_DecodedType decoded_type;
93 } openxc_DiagnosticRequest;
94
95 typedef struct {
96     size_t size;
97     uint8_t bytes[8];
98 } openxc_DiagnosticResponse_payload_t;
99
100 typedef struct _openxc_DiagnosticResponse {
101     bool has_bus;
102     int32_t bus;
103     bool has_message_id;
104     uint32_t message_id;
105     bool has_mode;
106     uint32_t mode;
107     bool has_pid;
108     uint32_t pid;
109     bool has_success;
110     bool success;
111     bool has_negative_response_code;
112     uint32_t negative_response_code;
113     bool has_payload;
114     openxc_DiagnosticResponse_payload_t payload;
115     bool has_value;
116     double value;
117 } openxc_DiagnosticResponse;
118
119 typedef struct _openxc_DynamicField {
120     bool has_type;
121     openxc_DynamicField_Type type;
122     bool has_string_value;
123     char string_value[100];
124     bool has_numeric_value;
125     double numeric_value;
126     bool has_boolean_value;
127     bool boolean_value;
128 } openxc_DynamicField;
129
130 typedef struct _openxc_PassthroughModeControlCommand {
131     bool has_bus;
132     int32_t bus;
133     bool has_mode;
134     openxc_PassthroughModeControlCommand_PassthroughMode mode;
135 } openxc_PassthroughModeControlCommand;
136
137 typedef struct {
138     size_t size;
139     uint8_t bytes[8];
140 } openxc_RawMessage_data_t;
141
142 typedef struct _openxc_RawMessage {
143     bool has_bus;
144     int32_t bus;
145     bool has_message_id;
146     uint32_t message_id;
147     bool has_data;
148     openxc_RawMessage_data_t data;
149 } openxc_RawMessage;
150
151 typedef struct _openxc_DiagnosticControlCommand {
152     bool has_request;
153     openxc_DiagnosticRequest request;
154     bool has_action;
155     openxc_DiagnosticControlCommand_Action action;
156 } openxc_DiagnosticControlCommand;
157
158 typedef struct _openxc_TranslatedMessage {
159     bool has_type;
160     openxc_TranslatedMessage_Type type;
161     bool has_name;
162     char name[100];
163     bool has_value;
164     openxc_DynamicField value;
165     bool has_event;
166     openxc_DynamicField event;
167 } openxc_TranslatedMessage;
168
169 typedef struct _openxc_ControlCommand {
170     bool has_type;
171     openxc_ControlCommand_Type type;
172     bool has_diagnostic_request;
173     openxc_DiagnosticControlCommand diagnostic_request;
174     bool has_passthrough_mode_request;
175     openxc_PassthroughModeControlCommand passthrough_mode_request;
176 } openxc_ControlCommand;
177
178 typedef struct _openxc_VehicleMessage {
179     bool has_type;
180     openxc_VehicleMessage_Type type;
181     bool has_raw_message;
182     openxc_RawMessage raw_message;
183     bool has_translated_message;
184     openxc_TranslatedMessage translated_message;
185     bool has_diagnostic_response;
186     openxc_DiagnosticResponse diagnostic_response;
187     bool has_control_command;
188     openxc_ControlCommand control_command;
189     bool has_command_response;
190     openxc_CommandResponse command_response;
191 } openxc_VehicleMessage;
192
193 /* Default values for struct fields */
194
195 /* Field tags (for use in manual encoding/decoding) */
196 #define openxc_CommandResponse_type_tag          1
197 #define openxc_CommandResponse_message_tag       2
198 #define openxc_CommandResponse_status_tag        3
199 #define openxc_DiagnosticRequest_bus_tag         1
200 #define openxc_DiagnosticRequest_message_id_tag  2
201 #define openxc_DiagnosticRequest_mode_tag        3
202 #define openxc_DiagnosticRequest_pid_tag         4
203 #define openxc_DiagnosticRequest_payload_tag     5
204 #define openxc_DiagnosticRequest_multiple_responses_tag 6
205 #define openxc_DiagnosticRequest_frequency_tag   7
206 #define openxc_DiagnosticRequest_name_tag        8
207 #define openxc_DiagnosticRequest_decoded_type_tag 9
208 #define openxc_DiagnosticResponse_bus_tag        1
209 #define openxc_DiagnosticResponse_message_id_tag 2
210 #define openxc_DiagnosticResponse_mode_tag       3
211 #define openxc_DiagnosticResponse_pid_tag        4
212 #define openxc_DiagnosticResponse_success_tag    5
213 #define openxc_DiagnosticResponse_negative_response_code_tag 6
214 #define openxc_DiagnosticResponse_payload_tag    7
215 #define openxc_DiagnosticResponse_value_tag      8
216 #define openxc_DynamicField_type_tag             1
217 #define openxc_DynamicField_string_value_tag     2
218 #define openxc_DynamicField_numeric_value_tag    3
219 #define openxc_DynamicField_boolean_value_tag    4
220 #define openxc_PassthroughModeControlCommand_bus_tag 1
221 #define openxc_PassthroughModeControlCommand_mode_tag 2
222 #define openxc_RawMessage_bus_tag                1
223 #define openxc_RawMessage_message_id_tag         2
224 #define openxc_RawMessage_data_tag               3
225 #define openxc_DiagnosticControlCommand_request_tag 1
226 #define openxc_DiagnosticControlCommand_action_tag 2
227 #define openxc_TranslatedMessage_type_tag        1
228 #define openxc_TranslatedMessage_name_tag        2
229 #define openxc_TranslatedMessage_value_tag       3
230 #define openxc_TranslatedMessage_event_tag       4
231 #define openxc_ControlCommand_type_tag           1
232 #define openxc_ControlCommand_diagnostic_request_tag 2
233 #define openxc_ControlCommand_passthrough_mode_request_tag 3
234 #define openxc_VehicleMessage_type_tag           1
235 #define openxc_VehicleMessage_raw_message_tag    2
236 #define openxc_VehicleMessage_translated_message_tag 3
237 #define openxc_VehicleMessage_diagnostic_response_tag 4
238 #define openxc_VehicleMessage_control_command_tag 5
239 #define openxc_VehicleMessage_command_response_tag 6
240
241 /* Struct field encoding specification for nanopb */
242 extern const pb_field_t openxc_VehicleMessage_fields[7];
243 extern const pb_field_t openxc_RawMessage_fields[4];
244 extern const pb_field_t openxc_ControlCommand_fields[4];
245 extern const pb_field_t openxc_DiagnosticControlCommand_fields[3];
246 extern const pb_field_t openxc_PassthroughModeControlCommand_fields[3];
247 extern const pb_field_t openxc_CommandResponse_fields[4];
248 extern const pb_field_t openxc_DiagnosticRequest_fields[10];
249 extern const pb_field_t openxc_DiagnosticResponse_fields[9];
250 extern const pb_field_t openxc_DynamicField_fields[5];
251 extern const pb_field_t openxc_TranslatedMessage_fields[5];
252
253 /* Maximum encoded size of messages (where known) */
254 #define openxc_VehicleMessage_size               693
255 #define openxc_RawMessage_size                   27
256 #define openxc_ControlCommand_size               103
257 #define openxc_DiagnosticControlCommand_size     76
258 #define openxc_PassthroughModeControlCommand_size 17
259 #define openxc_CommandResponse_size              139
260 #define openxc_DiagnosticRequest_size            68
261 #define openxc_DiagnosticResponse_size           56
262 #define openxc_DynamicField_size                 119
263 #define openxc_TranslatedMessage_size            350
264
265 #ifdef __cplusplus
266 } /* extern "C" */
267 #endif
268
269 #endif