"Initial commit to Gerrit"
[profile/ivi/gpsd.git] / libQgpsmm / mingw / ais_json.i
1 /*
2  * This is code generated by jsongen.py. Do not hand-hack it!
3  */
4  
5 /*@ -fullinitblock */
6
7
8     const struct json_attr_t json_ais1[] = {
9         AIS_HEADER,
10         {"status",        t_uinteger,  .addr.uinteger = &ais->type1.status,
11                                        .dflt.uinteger = 0},
12         {"turn",          t_integer,   .addr.integer = &ais->type1.turn,
13                                        .dflt.integer = AIS_TURN_NOT_AVAILABLE},
14         {"speed",         t_uinteger,  .addr.uinteger = &ais->type1.speed,
15                                        .dflt.uinteger = AIS_SPEED_NOT_AVAILABLE},
16         {"accuracy",      t_boolean,   .addr.boolean = &ais->type1.accuracy,
17                                        .dflt.boolean = false},
18         {"lon",           t_integer,   .addr.integer = &ais->type1.lon,
19                                        .dflt.integer = AIS_LON_NOT_AVAILABLE},
20         {"lat",           t_integer,   .addr.integer = &ais->type1.lat,
21                                        .dflt.integer = AIS_LAT_NOT_AVAILABLE},
22         {"course",        t_uinteger,  .addr.uinteger = &ais->type1.course,
23                                        .dflt.uinteger = AIS_COURSE_NOT_AVAILABLE},
24         {"heading",       t_uinteger,  .addr.uinteger = &ais->type1.heading,
25                                        .dflt.uinteger = AIS_HEADING_NOT_AVAILABLE},
26         {"second",        t_uinteger,  .addr.uinteger = &ais->type1.second,
27                                        .dflt.uinteger = AIS_SEC_NOT_AVAILABLE},
28         {"maneuver",      t_uinteger,  .addr.uinteger = &ais->type1.maneuver,
29                                        .dflt.uinteger = AIS_SEC_INOPERATIVE},
30         {"raim",          t_boolean,   .addr.boolean = &ais->type1.raim,
31                                        .dflt.boolean = false},
32         {"radio",         t_uinteger,  .addr.uinteger = &ais->type1.radio,
33                                        .dflt.uinteger = 0},
34         {NULL}
35     };
36
37     char timestamp[JSON_VAL_MAX+1];
38     const struct json_attr_t json_ais4[] = {
39         AIS_HEADER,
40         {"timestamp",     t_string,    .addr.string = timestamp,
41                                        .len = sizeof(timestamp)},
42         {"accuracy",      t_boolean,   .addr.boolean = &ais->type4.accuracy,
43                                        .dflt.boolean = true},
44         {"lon",           t_integer,   .addr.integer = &ais->type4.lon,
45                                        .dflt.integer = AIS_LON_NOT_AVAILABLE},
46         {"lat",           t_integer,   .addr.integer = &ais->type4.lat,
47                                        .dflt.integer = AIS_LAT_NOT_AVAILABLE},
48         {"epfd",          t_uinteger,  .addr.uinteger = &ais->type4.epfd,
49                                        .dflt.uinteger = 0},
50         {"raim",          t_boolean,   .addr.boolean = &ais->type4.raim,
51                                        .dflt.boolean = false},
52         {"radio",         t_uinteger,  .addr.uinteger = &ais->type4.radio,
53                                        .dflt.uinteger = 0},
54         {NULL}
55     };
56
57     char eta[JSON_VAL_MAX+1];
58     const struct json_attr_t json_ais5[] = {
59         AIS_HEADER,
60         {"imo",           t_uinteger,  .addr.uinteger = &ais->type5.imo,
61                                        .dflt.uinteger = 0},
62         {"ais_version",   t_uinteger,  .addr.uinteger = &ais->type5.ais_version,
63                                        .dflt.uinteger = 0},
64         {"callsign",      t_string,    .addr.string = ais->type5.callsign,
65                                        .len = sizeof(ais->type5.callsign)},
66         {"shipname",      t_string,    .addr.string = ais->type5.shipname,
67                                        .len = sizeof(ais->type5.shipname)},
68         {"shiptype",      t_uinteger,  .addr.uinteger = &ais->type5.shiptype,
69                                        .dflt.uinteger = 0},
70         {"to_bow",        t_uinteger,  .addr.uinteger = &ais->type5.to_bow,
71                                        .dflt.uinteger = 0},
72         {"to_stern",      t_uinteger,  .addr.uinteger = &ais->type5.to_stern,
73                                        .dflt.uinteger = 0},
74         {"to_port",       t_uinteger,  .addr.uinteger = &ais->type5.to_port,
75                                        .dflt.uinteger = 0},
76         {"to_starboard",  t_uinteger,  .addr.uinteger = &ais->type5.to_starboard,
77                                        .dflt.uinteger = 0},
78         {"epfd",          t_uinteger,  .addr.uinteger = &ais->type5.epfd,
79                                        .dflt.uinteger = 0},
80         {"eta",           t_string,    .addr.string = eta,
81                                        .len = sizeof(eta)},
82         {"draught",       t_uinteger,  .addr.uinteger = &ais->type5.draught,
83                                        .dflt.uinteger = 0},
84         {"destination",   t_string,    .addr.string = ais->type5.destination,
85                                        .len = sizeof(ais->type5.destination)},
86         {"dte",           t_uinteger,  .addr.uinteger = &ais->type5.dte,
87                                        .dflt.uinteger = 1},
88         {NULL}
89     };
90
91     char data[JSON_VAL_MAX+1];
92     const struct json_attr_t json_ais6[] = {
93         AIS_HEADER,
94         {"seqno",         t_uinteger,  .addr.uinteger = &ais->type6.seqno,
95                                        .dflt.uinteger = 0},
96         {"dest_mmsi",     t_uinteger,  .addr.uinteger = &ais->type6.dest_mmsi,
97                                        .dflt.uinteger = 0},
98         {"retransmit",    t_boolean,   .addr.boolean = &ais->type6.retransmit,
99                                        .dflt.boolean = false},
100         {"dac",           t_uinteger,  .addr.uinteger = &ais->type6.dac,
101                                        .dflt.uinteger = 0},
102         {"fid",           t_uinteger,  .addr.uinteger = &ais->type6.fid,
103                                        .dflt.uinteger = 0},
104         {"data",          t_string,    .addr.string = data,
105                                        .len = sizeof(data)},
106         {NULL}
107     };
108
109     const struct json_attr_t json_ais7[] = {
110         AIS_HEADER,
111         {"mmsi1",         t_uinteger,  .addr.uinteger = &ais->type7.mmsi1,
112                                        .dflt.uinteger = 0},
113         {"mmsi2",         t_uinteger,  .addr.uinteger = &ais->type7.mmsi2,
114                                        .dflt.uinteger = 0},
115         {"mmsi3",         t_uinteger,  .addr.uinteger = &ais->type7.mmsi3,
116                                        .dflt.uinteger = 0},
117         {"mmsi4",         t_uinteger,  .addr.uinteger = &ais->type7.mmsi4,
118                                        .dflt.uinteger = 0},
119         {NULL}
120     };
121
122     const struct json_attr_t json_ais8[] = {
123         AIS_HEADER,
124         {"dac",           t_uinteger,  .addr.uinteger = &ais->type8.dac,
125                                        .dflt.uinteger = 0},
126         {"fid",           t_uinteger,  .addr.uinteger = &ais->type8.fid,
127                                        .dflt.uinteger = 0},
128         {"data",          t_string,    .addr.string = data,
129                                        .len = sizeof(data)},
130         {NULL}
131     };
132
133     const struct json_attr_t json_ais9[] = {
134         AIS_HEADER,
135         {"alt",           t_uinteger,  .addr.uinteger = &ais->type9.alt,
136                                        .dflt.uinteger = AIS_ALT_NOT_AVAILABLE},
137         {"speed",         t_uinteger,  .addr.uinteger = &ais->type9.speed,
138                                        .dflt.uinteger = AIS_SPEED_NOT_AVAILABLE},
139         {"accuracy",      t_boolean,   .addr.boolean = &ais->type9.accuracy,
140                                        .dflt.boolean = false},
141         {"lon",           t_integer,   .addr.integer = &ais->type9.lon,
142                                        .dflt.integer = AIS_LON_NOT_AVAILABLE},
143         {"lat",           t_integer,   .addr.integer = &ais->type9.lat,
144                                        .dflt.integer = AIS_LAT_NOT_AVAILABLE},
145         {"course",        t_uinteger,  .addr.uinteger = &ais->type9.course,
146                                        .dflt.uinteger = AIS_COURSE_NOT_AVAILABLE},
147         {"second",        t_uinteger,  .addr.uinteger = &ais->type9.second,
148                                        .dflt.uinteger = AIS_SEC_NOT_AVAILABLE},
149         {"regional",      t_uinteger,  .addr.uinteger = &ais->type9.regional,
150                                        .dflt.uinteger = 0},
151         {"dte",           t_uinteger,  .addr.uinteger = &ais->type9.dte,
152                                        .dflt.uinteger = 1},
153         {"raim",          t_boolean,   .addr.boolean = &ais->type9.raim,
154                                        .dflt.boolean = false},
155         {"radio",         t_uinteger,  .addr.uinteger = &ais->type9.radio,
156                                        .dflt.uinteger = 0},
157         {NULL}
158     };
159
160     const struct json_attr_t json_ais10[] = {
161         AIS_HEADER,
162         {"dest_mmsi",     t_uinteger,  .addr.uinteger = &ais->type10.dest_mmsi,
163                                        .dflt.uinteger = 0},
164         {NULL}
165     };
166
167     const struct json_attr_t json_ais12[] = {
168         AIS_HEADER,
169         {"seqno",         t_uinteger,  .addr.uinteger = &ais->type12.seqno,
170                                        .dflt.uinteger = 0},
171         {"dest_mmsi",     t_uinteger,  .addr.uinteger = &ais->type12.dest_mmsi,
172                                        .dflt.uinteger = 0},
173         {"retransmit",    t_boolean,   .addr.boolean = &ais->type12.retransmit,
174                                        .dflt.boolean = 0},
175         {"text",          t_string,    .addr.string = ais->type12.text,
176                                        .len = sizeof(ais->type12.text)},
177         {NULL}
178     };
179
180     const struct json_attr_t json_ais14[] = {
181         AIS_HEADER,
182         {"text",          t_string,    .addr.string = ais->type14.text,
183                                        .len = sizeof(ais->type14.text)},
184         {NULL}
185     };
186
187     const struct json_attr_t json_ais15[] = {
188         AIS_HEADER,
189         {"mmsi1",         t_uinteger,  .addr.uinteger = &ais->type15.mmsi1,
190                                        .dflt.uinteger = 0},
191         {"type1_1",       t_uinteger,  .addr.uinteger = &ais->type15.type1_1,
192                                        .dflt.uinteger = 0},
193         {"offset1_1",     t_uinteger,  .addr.uinteger = &ais->type15.offset1_1,
194                                        .dflt.uinteger = 0},
195         {"type1_2",       t_uinteger,  .addr.uinteger = &ais->type15.type1_2,
196                                        .dflt.uinteger = 0},
197         {"offset1_2",     t_uinteger,  .addr.uinteger = &ais->type15.offset1_2,
198                                        .dflt.uinteger = 0},
199         {"mmsi2",         t_uinteger,  .addr.uinteger = &ais->type15.mmsi2,
200                                        .dflt.uinteger = 0},
201         {"type2_1",       t_uinteger,  .addr.uinteger = &ais->type15.type2_1,
202                                        .dflt.uinteger = 0},
203         {"offset2_1",     t_uinteger,  .addr.uinteger = &ais->type15.offset2_1,
204                                        .dflt.uinteger = 0},
205         {NULL}
206     };
207
208     const struct json_attr_t json_ais16[] = {
209         AIS_HEADER,
210         {"mmsi1",         t_uinteger,  .addr.uinteger = &ais->type16.mmsi1,
211                                        .dflt.uinteger = 0},
212         {"offset1",       t_uinteger,  .addr.uinteger = &ais->type16.offset1,
213                                        .dflt.uinteger = 0},
214         {"increment1",    t_uinteger,  .addr.uinteger = &ais->type16.increment1,
215                                        .dflt.uinteger = 0},
216         {"mmsi2",         t_uinteger,  .addr.uinteger = &ais->type16.mmsi2,
217                                        .dflt.uinteger = 0},
218         {"offset2",       t_uinteger,  .addr.uinteger = &ais->type16.offset2,
219                                        .dflt.uinteger = 0},
220         {"increment2",    t_uinteger,  .addr.uinteger = &ais->type16.increment2,
221                                        .dflt.uinteger = 0},
222         {NULL}
223     };
224
225     const struct json_attr_t json_ais17[] = {
226         AIS_HEADER,
227         {"lon",           t_integer,   .addr.integer = &ais->type17.lon,
228                                        .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE},
229         {"lat",           t_integer,   .addr.integer = &ais->type17.lat,
230                                        .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE},
231         {"data",          t_string,    .addr.string = data,
232                                        .len = sizeof(data)},
233         {NULL}
234     };
235
236     const struct json_attr_t json_ais18[] = {
237         AIS_HEADER,
238         {"reserved",      t_uinteger,  .addr.uinteger = &ais->type18.reserved,
239                                        .dflt.uinteger = 0},
240         {"speed",         t_uinteger,  .addr.uinteger = &ais->type18.speed,
241                                        .dflt.uinteger = AIS_SPEED_NOT_AVAILABLE},
242         {"accuracy",      t_boolean,   .addr.boolean = &ais->type18.accuracy,
243                                        .dflt.boolean = false},
244         {"lon",           t_integer,   .addr.integer = &ais->type18.lon,
245                                        .dflt.integer = AIS_LON_NOT_AVAILABLE},
246         {"lat",           t_integer,   .addr.integer = &ais->type18.lat,
247                                        .dflt.integer = AIS_LAT_NOT_AVAILABLE},
248         {"course",        t_uinteger,  .addr.uinteger = &ais->type18.course,
249                                        .dflt.uinteger = AIS_COURSE_NOT_AVAILABLE},
250         {"heading",       t_uinteger,  .addr.uinteger = &ais->type18.heading,
251                                        .dflt.uinteger = AIS_HEADING_NOT_AVAILABLE},
252         {"second",        t_uinteger,  .addr.uinteger = &ais->type18.second,
253                                        .dflt.uinteger = AIS_SEC_NOT_AVAILABLE},
254         {"regional",      t_uinteger,  .addr.uinteger = &ais->type18.regional,
255                                        .dflt.uinteger = 0},
256         {"cs",            t_boolean,   .addr.boolean = &ais->type18.cs,
257                                        .dflt.boolean = false},
258         {"display",       t_boolean,   .addr.boolean = &ais->type18.display,
259                                        .dflt.boolean = false},
260         {"dsc",           t_boolean,   .addr.boolean = &ais->type18.dsc,
261                                        .dflt.boolean = false},
262         {"band",          t_boolean,   .addr.boolean = &ais->type18.band,
263                                        .dflt.boolean = false},
264         {"msg22",         t_boolean,   .addr.boolean = &ais->type18.msg22,
265                                        .dflt.boolean = false},
266         {"raim",          t_boolean,   .addr.boolean = &ais->type18.raim,
267                                        .dflt.boolean = false},
268         {"radio",         t_uinteger,  .addr.uinteger = &ais->type18.radio,
269                                        .dflt.uinteger = 0},
270         {NULL}
271     };
272
273     const struct json_attr_t json_ais19[] = {
274         AIS_HEADER,
275         {"reserved",      t_uinteger,  .addr.uinteger = &ais->type19.reserved,
276                                        .dflt.uinteger = 0},
277         {"speed",         t_uinteger,  .addr.uinteger = &ais->type19.speed,
278                                        .dflt.uinteger = AIS_SPEED_NOT_AVAILABLE},
279         {"accuracy",      t_boolean,   .addr.boolean = &ais->type19.accuracy,
280                                        .dflt.boolean = false},
281         {"lon",           t_integer,   .addr.integer = &ais->type19.lon,
282                                        .dflt.integer = AIS_LON_NOT_AVAILABLE},
283         {"lat",           t_integer,   .addr.integer = &ais->type19.lat,
284                                        .dflt.integer = AIS_LAT_NOT_AVAILABLE},
285         {"course",        t_uinteger,  .addr.uinteger = &ais->type19.course,
286                                        .dflt.uinteger = AIS_COURSE_NOT_AVAILABLE},
287         {"heading",       t_uinteger,  .addr.uinteger = &ais->type19.heading,
288                                        .dflt.uinteger = AIS_HEADING_NOT_AVAILABLE},
289         {"second",        t_uinteger,  .addr.uinteger = &ais->type19.second,
290                                        .dflt.uinteger = AIS_SEC_NOT_AVAILABLE},
291         {"regional",      t_uinteger,  .addr.uinteger = &ais->type19.regional,
292                                        .dflt.uinteger = 0},
293         {"shipname",      t_string,    .addr.string = ais->type19.shipname,
294                                        .len = sizeof(ais->type19.shipname)},
295         {"shiptype",      t_uinteger,  .addr.uinteger = &ais->type19.shiptype,
296                                        .dflt.uinteger = 0},
297         {"to_bow",        t_uinteger,  .addr.uinteger = &ais->type19.to_bow,
298                                        .dflt.uinteger = 0},
299         {"to_stern",      t_uinteger,  .addr.uinteger = &ais->type19.to_stern,
300                                        .dflt.uinteger = 0},
301         {"to_port",       t_uinteger,  .addr.uinteger = &ais->type19.to_port,
302                                        .dflt.uinteger = 0},
303         {"to_starboard",  t_uinteger,  .addr.uinteger = &ais->type19.to_starboard,
304                                        .dflt.uinteger = 0},
305         {"epfd",          t_uinteger,  .addr.uinteger = &ais->type19.epfd,
306                                        .dflt.uinteger = 0},
307         {"raim",          t_boolean,   .addr.boolean = &ais->type19.raim,
308                                        .dflt.boolean = false},
309         {"dte",           t_uinteger,  .addr.uinteger = &ais->type19.dte,
310                                        .dflt.uinteger = 1},
311         {"assigned",      t_boolean,   .addr.boolean = &ais->type19.assigned,
312                                        .dflt.boolean = false},
313         {NULL}
314     };
315
316     const struct json_attr_t json_ais20[] = {
317         AIS_HEADER,
318         {"offset1",       t_uinteger,  .addr.uinteger = &ais->type20.offset1,
319                                        .dflt.uinteger = 0},
320         {"number1",       t_uinteger,  .addr.uinteger = &ais->type20.number1,
321                                        .dflt.uinteger = 0},
322         {"timeout1",      t_uinteger,  .addr.uinteger = &ais->type20.timeout1,
323                                        .dflt.uinteger = 0},
324         {"increment1",    t_uinteger,  .addr.uinteger = &ais->type20.increment1,
325                                        .dflt.uinteger = 0},
326         {"offset2",       t_uinteger,  .addr.uinteger = &ais->type20.offset2,
327                                        .dflt.uinteger = 0},
328         {"number2",       t_uinteger,  .addr.uinteger = &ais->type20.number2,
329                                        .dflt.uinteger = 0},
330         {"timeout2",      t_uinteger,  .addr.uinteger = &ais->type20.timeout2,
331                                        .dflt.uinteger = 0},
332         {"increment2",    t_uinteger,  .addr.uinteger = &ais->type20.increment2,
333                                        .dflt.uinteger = 0},
334         {"offset3",       t_uinteger,  .addr.uinteger = &ais->type20.offset3,
335                                        .dflt.uinteger = 0},
336         {"number3",       t_uinteger,  .addr.uinteger = &ais->type20.number3,
337                                        .dflt.uinteger = 0},
338         {"timeout3",      t_uinteger,  .addr.uinteger = &ais->type20.timeout3,
339                                        .dflt.uinteger = 0},
340         {"increment3",    t_uinteger,  .addr.uinteger = &ais->type20.increment3,
341                                        .dflt.uinteger = 0},
342         {"offset4",       t_uinteger,  .addr.uinteger = &ais->type20.offset4,
343                                        .dflt.uinteger = 0},
344         {"number4",       t_uinteger,  .addr.uinteger = &ais->type20.number4,
345                                        .dflt.uinteger = 0},
346         {"timeout4",      t_uinteger,  .addr.uinteger = &ais->type20.timeout4,
347                                        .dflt.uinteger = 0},
348         {"increment4",    t_uinteger,  .addr.uinteger = &ais->type20.increment4,
349                                        .dflt.uinteger = 0},
350         {NULL}
351     };
352
353     const struct json_attr_t json_ais21[] = {
354         AIS_HEADER,
355         {"aid_type",      t_uinteger,  .addr.uinteger = &ais->type21.aid_type,
356                                        .dflt.uinteger = 0},
357         {"name",          t_string,    .addr.string = ais->type21.name,
358                                        .len = sizeof(ais->type21.name)},
359         {"accuracy",      t_boolean,   .addr.boolean = &ais->type21.accuracy,
360                                        .dflt.boolean = false},
361         {"lon",           t_integer,   .addr.integer = &ais->type21.lon,
362                                        .dflt.integer = AIS_LON_NOT_AVAILABLE},
363         {"lat",           t_integer,   .addr.integer = &ais->type21.lat,
364                                        .dflt.integer = AIS_LAT_NOT_AVAILABLE},
365         {"to_bow",        t_uinteger,  .addr.uinteger = &ais->type21.to_bow,
366                                        .dflt.uinteger = 0},
367         {"to_stern",      t_uinteger,  .addr.uinteger = &ais->type21.to_stern,
368                                        .dflt.uinteger = 0},
369         {"to_port",       t_uinteger,  .addr.uinteger = &ais->type21.to_port,
370                                        .dflt.uinteger = 0},
371         {"to_starboard",  t_uinteger,  .addr.uinteger = &ais->type21.to_starboard,
372                                        .dflt.uinteger = 0},
373         {"epfd",          t_uinteger,  .addr.uinteger = &ais->type21.epfd,
374                                        .dflt.uinteger = 0},
375         {"second",        t_uinteger,  .addr.uinteger = &ais->type21.second,
376                                        .dflt.uinteger = 0},
377         {"regional",      t_uinteger,  .addr.uinteger = &ais->type21.regional,
378                                        .dflt.uinteger = 0},
379         {"off_position",  t_boolean,   .addr.boolean = &ais->type21.off_position,
380                                        .dflt.boolean = false},
381         {"raim",          t_boolean,   .addr.boolean = &ais->type21.raim,
382                                        .dflt.boolean = false},
383         {"virtual_aid",   t_boolean,   .addr.boolean = &ais->type21.virtual_aid,
384                                        .dflt.boolean = false},
385         {NULL}
386     };
387
388     const struct json_attr_t json_ais22[] = {
389         AIS_HEADER,
390         {"channel_a",     t_uinteger,  .addr.uinteger = &ais->type22.channel_a,
391                                        .dflt.uinteger = 0},
392         {"channel_b",     t_uinteger,  .addr.uinteger = &ais->type22.channel_b,
393                                        .dflt.uinteger = 0},
394         {"txrx",          t_uinteger,  .addr.uinteger = &ais->type22.txrx,
395                                        .dflt.uinteger = 0},
396         {"power",         t_boolean,   .addr.boolean = &ais->type22.power,
397                                        .dflt.boolean = false},
398         {"ne_lon",        t_integer,   .addr.integer = &ais->type22.area.ne_lon,
399                                        .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE},
400         {"ne_lat",        t_integer,   .addr.integer = &ais->type22.area.ne_lat,
401                                        .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE},
402         {"sw_lon",        t_integer,   .addr.integer = &ais->type22.area.sw_lon,
403                                        .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE},
404         {"sw_lat",        t_integer,   .addr.integer = &ais->type22.area.sw_lat,
405                                        .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE},
406         {"dest1",         t_uinteger,  .addr.uinteger = &ais->type22.mmsi.dest1,
407                                        .dflt.uinteger = 0},
408         {"dest2",         t_uinteger,  .addr.uinteger = &ais->type22.mmsi.dest2,
409                                        .dflt.uinteger = 0},
410         {"addressed",     t_boolean,   .addr.boolean = &ais->type22.addressed,
411                                        .dflt.boolean = false},
412         {"band_a",        t_boolean,   .addr.boolean = &ais->type22.band_a,
413                                        .dflt.boolean = false},
414         {"band_b",        t_boolean,   .addr.boolean = &ais->type22.band_b,
415                                        .dflt.boolean = false},
416         {"zonesize",      t_uinteger,  .addr.uinteger = &ais->type22.zonesize,
417                                        .dflt.uinteger = 0},
418         {NULL}
419     };
420
421     const struct json_attr_t json_ais23[] = {
422         AIS_HEADER,
423         {"ne_lon",        t_integer,   .addr.integer = &ais->type23.ne_lon,
424                                        .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE},
425         {"ne_lat",        t_integer,   .addr.integer = &ais->type23.ne_lat,
426                                        .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE},
427         {"sw_lon",        t_integer,   .addr.integer = &ais->type23.sw_lon,
428                                        .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE},
429         {"sw_lat",        t_integer,   .addr.integer = &ais->type23.sw_lat,
430                                        .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE},
431         {"stationtype",   t_uinteger,  .addr.uinteger = &ais->type23.stationtype,
432                                        .dflt.uinteger = 0},
433         {"shiptype",      t_uinteger,  .addr.uinteger = &ais->type23.shiptype,
434                                        .dflt.uinteger = 0},
435         {"txrx",          t_uinteger,  .addr.uinteger = &ais->type23.txrx,
436                                        .dflt.uinteger = 0},
437         {"interval",      t_uinteger,  .addr.uinteger = &ais->type23.interval,
438                                        .dflt.uinteger = 0},
439         {"quiet",         t_uinteger,  .addr.uinteger = &ais->type23.quiet,
440                                        .dflt.uinteger = 0},
441         {NULL}
442     };
443
444     const struct json_attr_t json_ais24[] = {
445         AIS_HEADER,
446         {"shipname",      t_string,    .addr.string = ais->type24.shipname,
447                                        .len = sizeof(ais->type24.shipname)},
448         {"shiptype",      t_uinteger,  .addr.uinteger = &ais->type24.shiptype,
449                                        .dflt.uinteger = 0},
450         {"vendorid",      t_string,    .addr.string = ais->type24.vendorid,
451                                        .len = sizeof(ais->type24.vendorid)},
452         {"callsign",      t_string,    .addr.string = ais->type24.callsign,
453                                        .len = sizeof(ais->type24.callsign)},
454         {"mothership_mmsi",t_uinteger,  .addr.uinteger = &ais->type24.mothership_mmsi,
455                                        .dflt.uinteger = 0},
456         {"to_bow",        t_uinteger,  .addr.uinteger = &ais->type24.dim.to_bow,
457                                        .dflt.uinteger = 0},
458         {"to_stern",      t_uinteger,  .addr.uinteger = &ais->type24.dim.to_stern,
459                                        .dflt.uinteger = 0},
460         {"to_port",       t_uinteger,  .addr.uinteger = &ais->type24.dim.to_port,
461                                        .dflt.uinteger = 0},
462         {"to_starboard",  t_uinteger,  .addr.uinteger = &ais->type24.dim.to_starboard,
463                                        .dflt.uinteger = 0},
464         {NULL}
465     };
466
467     const struct json_attr_t json_ais25[] = {
468         AIS_HEADER,
469         {"addressed",     t_boolean,   .addr.boolean = &ais->type25.addressed,
470                                        .dflt.boolean = false},
471         {"structured",    t_boolean,   .addr.boolean = &ais->type25.structured,
472                                        .dflt.boolean = false},
473         {"dest_mmsi",     t_uinteger,  .addr.uinteger = &ais->type25.dest_mmsi,
474                                        .dflt.uinteger = 0},
475         {"app_id",        t_uinteger,  .addr.uinteger = &ais->type25.app_id,
476                                        .dflt.uinteger = 0},
477         {"data",          t_string,    .addr.string = data,
478                                        .len = sizeof(data)},
479         {NULL}
480     };
481
482     const struct json_attr_t json_ais26[] = {
483         AIS_HEADER,
484         {"addressed",     t_boolean,   .addr.boolean = &ais->type26.addressed,
485                                        .dflt.boolean = false},
486         {"structured",    t_boolean,   .addr.boolean = &ais->type26.structured,
487                                        .dflt.boolean = false},
488         {"dest_mmsi",     t_uinteger,  .addr.uinteger = &ais->type26.dest_mmsi,
489                                        .dflt.uinteger = 0},
490         {"app_id",        t_uinteger,  .addr.uinteger = &ais->type26.app_id,
491                                        .dflt.uinteger = 0},
492         {"data",          t_string,    .addr.string = data,
493                                        .len = sizeof(data)},
494         {"radio",         t_uinteger,  .addr.uinteger = &ais->type26.radio,
495                                        .dflt.uinteger = 0},
496         {NULL}
497     };
498
499
500 /*@ +fullinitblock */
501
502 /* Generated code ends. */
503