Coverage Report

Created: 2026-09-28 07:39

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/suricata/src/output-json-dnp3-objects.c
Line
Count
Source
1
/* Copyright (C) 2015 Open Information Security Foundation
2
 *
3
 * You can copy, redistribute or modify this Program under the terms of
4
 * the GNU General Public License version 2 as published by the Free
5
 * Software Foundation.
6
 *
7
 * This program is distributed in the hope that it will be useful,
8
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
 * GNU General Public License for more details.
11
 *
12
 * You should have received a copy of the GNU General Public License
13
 * version 2 along with this program; if not, write to the Free Software
14
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15
 * 02110-1301, USA.
16
 */
17
18
/**
19
 * DO NOT EDIT. THIS FILE IS AUTO-GENERATED.
20
 *
21
 * Generated by command:
22
 *    ./scripts/dnp3-gen/dnp3-gen.py
23
 */
24
25
#include "suricata-common.h"
26
27
#include "app-layer-dnp3.h"
28
#include "app-layer-dnp3-objects.h"
29
#include "output-json-dnp3-objects.h"
30
#include "output-json.h"
31
32
// clang-format off
33
void OutputJsonDNP3SetItem(SCJsonBuilder *js, DNP3Object *object,
34
    DNP3Point *point)
35
301k
{
36
37
301k
    switch (DNP3_OBJECT_CODE(object->group, object->variation)) {
38
16.1k
        case DNP3_OBJECT_CODE(1, 1): {
39
16.1k
            DNP3ObjectG1V1 *data = point->data;
40
16.1k
            SCJbSetUint(js, "state", data->state);
41
16.1k
            break;
42
0
        }
43
46.5k
        case DNP3_OBJECT_CODE(1, 2): {
44
46.5k
            DNP3ObjectG1V2 *data = point->data;
45
46.5k
            SCJbSetUint(js, "online", data->online);
46
46.5k
            SCJbSetUint(js, "restart", data->restart);
47
46.5k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
48
46.5k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
49
46.5k
            SCJbSetUint(js, "local_forced", data->local_forced);
50
46.5k
            SCJbSetUint(js, "chatter_filter", data->chatter_filter);
51
46.5k
            SCJbSetUint(js, "reserved", data->reserved);
52
46.5k
            SCJbSetUint(js, "state", data->state);
53
46.5k
            break;
54
0
        }
55
2.17k
        case DNP3_OBJECT_CODE(2, 1): {
56
2.17k
            DNP3ObjectG2V1 *data = point->data;
57
2.17k
            SCJbSetUint(js, "state", data->state);
58
2.17k
            break;
59
0
        }
60
2.99k
        case DNP3_OBJECT_CODE(2, 2): {
61
2.99k
            DNP3ObjectG2V2 *data = point->data;
62
2.99k
            SCJbSetUint(js, "online", data->online);
63
2.99k
            SCJbSetUint(js, "restart", data->restart);
64
2.99k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
65
2.99k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
66
2.99k
            SCJbSetUint(js, "local_forced", data->local_forced);
67
2.99k
            SCJbSetUint(js, "chatter_filter", data->chatter_filter);
68
2.99k
            SCJbSetUint(js, "reserved", data->reserved);
69
2.99k
            SCJbSetUint(js, "state", data->state);
70
2.99k
            SCJbSetUint(js, "timestamp", data->timestamp);
71
2.99k
            break;
72
0
        }
73
189
        case DNP3_OBJECT_CODE(2, 3): {
74
189
            DNP3ObjectG2V3 *data = point->data;
75
189
            SCJbSetUint(js, "online", data->online);
76
189
            SCJbSetUint(js, "restart", data->restart);
77
189
            SCJbSetUint(js, "comm_lost", data->comm_lost);
78
189
            SCJbSetUint(js, "remote_forced", data->remote_forced);
79
189
            SCJbSetUint(js, "local_forced", data->local_forced);
80
189
            SCJbSetUint(js, "chatter_filter", data->chatter_filter);
81
189
            SCJbSetUint(js, "reserved", data->reserved);
82
189
            SCJbSetUint(js, "state", data->state);
83
189
            SCJbSetUint(js, "timestamp", data->timestamp);
84
189
            break;
85
0
        }
86
2.10k
        case DNP3_OBJECT_CODE(3, 1): {
87
2.10k
            DNP3ObjectG3V1 *data = point->data;
88
2.10k
            SCJbSetUint(js, "state", data->state);
89
2.10k
            break;
90
0
        }
91
48.0k
        case DNP3_OBJECT_CODE(3, 2): {
92
48.0k
            DNP3ObjectG3V2 *data = point->data;
93
48.0k
            SCJbSetUint(js, "online", data->online);
94
48.0k
            SCJbSetUint(js, "restart", data->restart);
95
48.0k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
96
48.0k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
97
48.0k
            SCJbSetUint(js, "local_forced", data->local_forced);
98
48.0k
            SCJbSetUint(js, "chatter_filter", data->chatter_filter);
99
48.0k
            SCJbSetUint(js, "state", data->state);
100
48.0k
            break;
101
0
        }
102
686
        case DNP3_OBJECT_CODE(4, 1): {
103
686
            DNP3ObjectG4V1 *data = point->data;
104
686
            SCJbSetUint(js, "online", data->online);
105
686
            SCJbSetUint(js, "restart", data->restart);
106
686
            SCJbSetUint(js, "comm_lost", data->comm_lost);
107
686
            SCJbSetUint(js, "remote_forced", data->remote_forced);
108
686
            SCJbSetUint(js, "local_forced", data->local_forced);
109
686
            SCJbSetUint(js, "chatter_filter", data->chatter_filter);
110
686
            SCJbSetUint(js, "state", data->state);
111
686
            break;
112
0
        }
113
130
        case DNP3_OBJECT_CODE(4, 2): {
114
130
            DNP3ObjectG4V2 *data = point->data;
115
130
            SCJbSetUint(js, "online", data->online);
116
130
            SCJbSetUint(js, "restart", data->restart);
117
130
            SCJbSetUint(js, "comm_lost", data->comm_lost);
118
130
            SCJbSetUint(js, "remote_forced", data->remote_forced);
119
130
            SCJbSetUint(js, "local_forced", data->local_forced);
120
130
            SCJbSetUint(js, "chatter_filter", data->chatter_filter);
121
130
            SCJbSetUint(js, "state", data->state);
122
130
            SCJbSetUint(js, "timestamp", data->timestamp);
123
130
            break;
124
0
        }
125
232
        case DNP3_OBJECT_CODE(4, 3): {
126
232
            DNP3ObjectG4V3 *data = point->data;
127
232
            SCJbSetUint(js, "online", data->online);
128
232
            SCJbSetUint(js, "restart", data->restart);
129
232
            SCJbSetUint(js, "comm_lost", data->comm_lost);
130
232
            SCJbSetUint(js, "remote_forced", data->remote_forced);
131
232
            SCJbSetUint(js, "local_forced", data->local_forced);
132
232
            SCJbSetUint(js, "chatter_filter", data->chatter_filter);
133
232
            SCJbSetUint(js, "state", data->state);
134
232
            SCJbSetUint(js, "relative_time_ms", data->relative_time_ms);
135
232
            break;
136
0
        }
137
5.36k
        case DNP3_OBJECT_CODE(10, 1): {
138
5.36k
            DNP3ObjectG10V1 *data = point->data;
139
5.36k
            SCJbSetUint(js, "state", data->state);
140
5.36k
            break;
141
0
        }
142
14.1k
        case DNP3_OBJECT_CODE(10, 2): {
143
14.1k
            DNP3ObjectG10V2 *data = point->data;
144
14.1k
            SCJbSetUint(js, "online", data->online);
145
14.1k
            SCJbSetUint(js, "restart", data->restart);
146
14.1k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
147
14.1k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
148
14.1k
            SCJbSetUint(js, "local_forced", data->local_forced);
149
14.1k
            SCJbSetUint(js, "reserved0", data->reserved0);
150
14.1k
            SCJbSetUint(js, "reserved1", data->reserved1);
151
14.1k
            SCJbSetUint(js, "state", data->state);
152
14.1k
            break;
153
0
        }
154
279
        case DNP3_OBJECT_CODE(11, 1): {
155
279
            DNP3ObjectG11V1 *data = point->data;
156
279
            SCJbSetUint(js, "online", data->online);
157
279
            SCJbSetUint(js, "restart", data->restart);
158
279
            SCJbSetUint(js, "comm_lost", data->comm_lost);
159
279
            SCJbSetUint(js, "remote_forced", data->remote_forced);
160
279
            SCJbSetUint(js, "local_forced", data->local_forced);
161
279
            SCJbSetUint(js, "reserved0", data->reserved0);
162
279
            SCJbSetUint(js, "reserved1", data->reserved1);
163
279
            SCJbSetUint(js, "state", data->state);
164
279
            break;
165
0
        }
166
153
        case DNP3_OBJECT_CODE(11, 2): {
167
153
            DNP3ObjectG11V2 *data = point->data;
168
153
            SCJbSetUint(js, "online", data->online);
169
153
            SCJbSetUint(js, "restart", data->restart);
170
153
            SCJbSetUint(js, "comm_lost", data->comm_lost);
171
153
            SCJbSetUint(js, "remote_forced", data->remote_forced);
172
153
            SCJbSetUint(js, "local_forced", data->local_forced);
173
153
            SCJbSetUint(js, "reserved0", data->reserved0);
174
153
            SCJbSetUint(js, "reserved1", data->reserved1);
175
153
            SCJbSetUint(js, "state", data->state);
176
153
            SCJbSetUint(js, "timestamp", data->timestamp);
177
153
            break;
178
0
        }
179
580
        case DNP3_OBJECT_CODE(12, 1): {
180
580
            DNP3ObjectG12V1 *data = point->data;
181
580
            SCJbSetUint(js, "op_type", data->op_type);
182
580
            SCJbSetUint(js, "qu", data->qu);
183
580
            SCJbSetUint(js, "cr", data->cr);
184
580
            SCJbSetUint(js, "tcc", data->tcc);
185
580
            SCJbSetUint(js, "count", data->count);
186
580
            SCJbSetUint(js, "ontime", data->ontime);
187
580
            SCJbSetUint(js, "offtime", data->offtime);
188
580
            SCJbSetUint(js, "status_code", data->status_code);
189
580
            SCJbSetUint(js, "reserved", data->reserved);
190
580
            break;
191
0
        }
192
135
        case DNP3_OBJECT_CODE(12, 2): {
193
135
            DNP3ObjectG12V2 *data = point->data;
194
135
            SCJbSetUint(js, "op_type", data->op_type);
195
135
            SCJbSetUint(js, "qu", data->qu);
196
135
            SCJbSetUint(js, "cr", data->cr);
197
135
            SCJbSetUint(js, "tcc", data->tcc);
198
135
            SCJbSetUint(js, "count", data->count);
199
135
            SCJbSetUint(js, "ontime", data->ontime);
200
135
            SCJbSetUint(js, "offtime", data->offtime);
201
135
            SCJbSetUint(js, "status_code", data->status_code);
202
135
            SCJbSetUint(js, "reserved", data->reserved);
203
135
            break;
204
0
        }
205
4.84k
        case DNP3_OBJECT_CODE(12, 3): {
206
4.84k
            DNP3ObjectG12V3 *data = point->data;
207
4.84k
            SCJbSetUint(js, "point", data->point);
208
4.84k
            break;
209
0
        }
210
364
        case DNP3_OBJECT_CODE(13, 1): {
211
364
            DNP3ObjectG13V1 *data = point->data;
212
364
            SCJbSetUint(js, "status_code", data->status_code);
213
364
            SCJbSetUint(js, "commanded_state", data->commanded_state);
214
364
            break;
215
0
        }
216
150
        case DNP3_OBJECT_CODE(13, 2): {
217
150
            DNP3ObjectG13V2 *data = point->data;
218
150
            SCJbSetUint(js, "status_code", data->status_code);
219
150
            SCJbSetUint(js, "commanded_state", data->commanded_state);
220
150
            SCJbSetUint(js, "timestamp", data->timestamp);
221
150
            break;
222
0
        }
223
43.8k
        case DNP3_OBJECT_CODE(20, 1): {
224
43.8k
            DNP3ObjectG20V1 *data = point->data;
225
43.8k
            SCJbSetUint(js, "online", data->online);
226
43.8k
            SCJbSetUint(js, "restart", data->restart);
227
43.8k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
228
43.8k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
229
43.8k
            SCJbSetUint(js, "local_forced", data->local_forced);
230
43.8k
            SCJbSetUint(js, "rollover", data->rollover);
231
43.8k
            SCJbSetUint(js, "discontinuity", data->discontinuity);
232
43.8k
            SCJbSetUint(js, "reserved0", data->reserved0);
233
43.8k
            SCJbSetUint(js, "count", data->count);
234
43.8k
            break;
235
0
        }
236
179
        case DNP3_OBJECT_CODE(20, 2): {
237
179
            DNP3ObjectG20V2 *data = point->data;
238
179
            SCJbSetUint(js, "online", data->online);
239
179
            SCJbSetUint(js, "restart", data->restart);
240
179
            SCJbSetUint(js, "comm_lost", data->comm_lost);
241
179
            SCJbSetUint(js, "remote_forced", data->remote_forced);
242
179
            SCJbSetUint(js, "local_forced", data->local_forced);
243
179
            SCJbSetUint(js, "rollover", data->rollover);
244
179
            SCJbSetUint(js, "discontinuity", data->discontinuity);
245
179
            SCJbSetUint(js, "reserved0", data->reserved0);
246
179
            SCJbSetUint(js, "count", data->count);
247
179
            break;
248
0
        }
249
260
        case DNP3_OBJECT_CODE(20, 3): {
250
260
            DNP3ObjectG20V3 *data = point->data;
251
260
            SCJbSetUint(js, "online", data->online);
252
260
            SCJbSetUint(js, "restart", data->restart);
253
260
            SCJbSetUint(js, "comm_lost", data->comm_lost);
254
260
            SCJbSetUint(js, "remote_forced", data->remote_forced);
255
260
            SCJbSetUint(js, "local_forced", data->local_forced);
256
260
            SCJbSetUint(js, "rollover", data->rollover);
257
260
            SCJbSetUint(js, "reserved0", data->reserved0);
258
260
            SCJbSetUint(js, "reserved1", data->reserved1);
259
260
            SCJbSetUint(js, "count", data->count);
260
260
            break;
261
0
        }
262
213
        case DNP3_OBJECT_CODE(20, 4): {
263
213
            DNP3ObjectG20V4 *data = point->data;
264
213
            SCJbSetUint(js, "online", data->online);
265
213
            SCJbSetUint(js, "restart", data->restart);
266
213
            SCJbSetUint(js, "comm_lost", data->comm_lost);
267
213
            SCJbSetUint(js, "remote_forced", data->remote_forced);
268
213
            SCJbSetUint(js, "local_forced", data->local_forced);
269
213
            SCJbSetUint(js, "rollover", data->rollover);
270
213
            SCJbSetUint(js, "reserved0", data->reserved0);
271
213
            SCJbSetUint(js, "reserved1", data->reserved1);
272
213
            SCJbSetUint(js, "count", data->count);
273
213
            break;
274
0
        }
275
276
        case DNP3_OBJECT_CODE(20, 5): {
276
276
            DNP3ObjectG20V5 *data = point->data;
277
276
            SCJbSetUint(js, "count", data->count);
278
276
            break;
279
0
        }
280
277
        case DNP3_OBJECT_CODE(20, 6): {
281
277
            DNP3ObjectG20V6 *data = point->data;
282
277
            SCJbSetUint(js, "count", data->count);
283
277
            break;
284
0
        }
285
140
        case DNP3_OBJECT_CODE(20, 7): {
286
140
            DNP3ObjectG20V7 *data = point->data;
287
140
            SCJbSetUint(js, "count", data->count);
288
140
            break;
289
0
        }
290
132
        case DNP3_OBJECT_CODE(20, 8): {
291
132
            DNP3ObjectG20V8 *data = point->data;
292
132
            SCJbSetUint(js, "count", data->count);
293
132
            break;
294
0
        }
295
31.8k
        case DNP3_OBJECT_CODE(21, 1): {
296
31.8k
            DNP3ObjectG21V1 *data = point->data;
297
31.8k
            SCJbSetUint(js, "online", data->online);
298
31.8k
            SCJbSetUint(js, "restart", data->restart);
299
31.8k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
300
31.8k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
301
31.8k
            SCJbSetUint(js, "local_forced", data->local_forced);
302
31.8k
            SCJbSetUint(js, "rollover", data->rollover);
303
31.8k
            SCJbSetUint(js, "discontinuity", data->discontinuity);
304
31.8k
            SCJbSetUint(js, "reserved0", data->reserved0);
305
31.8k
            SCJbSetUint(js, "count", data->count);
306
31.8k
            break;
307
0
        }
308
401
        case DNP3_OBJECT_CODE(21, 2): {
309
401
            DNP3ObjectG21V2 *data = point->data;
310
401
            SCJbSetUint(js, "online", data->online);
311
401
            SCJbSetUint(js, "restart", data->restart);
312
401
            SCJbSetUint(js, "comm_lost", data->comm_lost);
313
401
            SCJbSetUint(js, "remote_forced", data->remote_forced);
314
401
            SCJbSetUint(js, "local_forced", data->local_forced);
315
401
            SCJbSetUint(js, "rollover", data->rollover);
316
401
            SCJbSetUint(js, "discontinuity", data->discontinuity);
317
401
            SCJbSetUint(js, "reserved0", data->reserved0);
318
401
            SCJbSetUint(js, "count", data->count);
319
401
            break;
320
0
        }
321
144
        case DNP3_OBJECT_CODE(21, 3): {
322
144
            DNP3ObjectG21V3 *data = point->data;
323
144
            SCJbSetUint(js, "online", data->online);
324
144
            SCJbSetUint(js, "restart", data->restart);
325
144
            SCJbSetUint(js, "comm_lost", data->comm_lost);
326
144
            SCJbSetUint(js, "remote_forced", data->remote_forced);
327
144
            SCJbSetUint(js, "local_forced", data->local_forced);
328
144
            SCJbSetUint(js, "rollover", data->rollover);
329
144
            SCJbSetUint(js, "reserved0", data->reserved0);
330
144
            SCJbSetUint(js, "reserved1", data->reserved1);
331
144
            SCJbSetUint(js, "count", data->count);
332
144
            break;
333
0
        }
334
157
        case DNP3_OBJECT_CODE(21, 4): {
335
157
            DNP3ObjectG21V4 *data = point->data;
336
157
            SCJbSetUint(js, "online", data->online);
337
157
            SCJbSetUint(js, "restart", data->restart);
338
157
            SCJbSetUint(js, "comm_lost", data->comm_lost);
339
157
            SCJbSetUint(js, "remote_forced", data->remote_forced);
340
157
            SCJbSetUint(js, "local_forced", data->local_forced);
341
157
            SCJbSetUint(js, "rollover", data->rollover);
342
157
            SCJbSetUint(js, "reserved0", data->reserved0);
343
157
            SCJbSetUint(js, "reserved1", data->reserved1);
344
157
            SCJbSetUint(js, "count", data->count);
345
157
            break;
346
0
        }
347
130
        case DNP3_OBJECT_CODE(21, 5): {
348
130
            DNP3ObjectG21V5 *data = point->data;
349
130
            SCJbSetUint(js, "online", data->online);
350
130
            SCJbSetUint(js, "restart", data->restart);
351
130
            SCJbSetUint(js, "comm_lost", data->comm_lost);
352
130
            SCJbSetUint(js, "remote_forced", data->remote_forced);
353
130
            SCJbSetUint(js, "local_forced", data->local_forced);
354
130
            SCJbSetUint(js, "rollover", data->rollover);
355
130
            SCJbSetUint(js, "discontinuity", data->discontinuity);
356
130
            SCJbSetUint(js, "reserved1", data->reserved1);
357
130
            SCJbSetUint(js, "count", data->count);
358
130
            SCJbSetUint(js, "timestamp", data->timestamp);
359
130
            break;
360
0
        }
361
130
        case DNP3_OBJECT_CODE(21, 6): {
362
130
            DNP3ObjectG21V6 *data = point->data;
363
130
            SCJbSetUint(js, "online", data->online);
364
130
            SCJbSetUint(js, "restart", data->restart);
365
130
            SCJbSetUint(js, "comm_lost", data->comm_lost);
366
130
            SCJbSetUint(js, "remote_forced", data->remote_forced);
367
130
            SCJbSetUint(js, "local_forced", data->local_forced);
368
130
            SCJbSetUint(js, "rollover", data->rollover);
369
130
            SCJbSetUint(js, "discontinuity", data->discontinuity);
370
130
            SCJbSetUint(js, "reserved1", data->reserved1);
371
130
            SCJbSetUint(js, "count", data->count);
372
130
            SCJbSetUint(js, "timestamp", data->timestamp);
373
130
            break;
374
0
        }
375
490
        case DNP3_OBJECT_CODE(21, 7): {
376
490
            DNP3ObjectG21V7 *data = point->data;
377
490
            SCJbSetUint(js, "online", data->online);
378
490
            SCJbSetUint(js, "restart", data->restart);
379
490
            SCJbSetUint(js, "comm_lost", data->comm_lost);
380
490
            SCJbSetUint(js, "remote_forced", data->remote_forced);
381
490
            SCJbSetUint(js, "local_forced", data->local_forced);
382
490
            SCJbSetUint(js, "rollover", data->rollover);
383
490
            SCJbSetUint(js, "reserved0", data->reserved0);
384
490
            SCJbSetUint(js, "reserved1", data->reserved1);
385
490
            SCJbSetUint(js, "count", data->count);
386
490
            SCJbSetUint(js, "timestamp", data->timestamp);
387
490
            break;
388
0
        }
389
64
        case DNP3_OBJECT_CODE(21, 8): {
390
64
            DNP3ObjectG21V8 *data = point->data;
391
64
            SCJbSetUint(js, "online", data->online);
392
64
            SCJbSetUint(js, "restart", data->restart);
393
64
            SCJbSetUint(js, "comm_lost", data->comm_lost);
394
64
            SCJbSetUint(js, "remote_forced", data->remote_forced);
395
64
            SCJbSetUint(js, "local_forced", data->local_forced);
396
64
            SCJbSetUint(js, "rollover", data->rollover);
397
64
            SCJbSetUint(js, "reserved0", data->reserved0);
398
64
            SCJbSetUint(js, "reserved1", data->reserved1);
399
64
            SCJbSetUint(js, "count", data->count);
400
64
            SCJbSetUint(js, "timestamp", data->timestamp);
401
64
            break;
402
0
        }
403
104
        case DNP3_OBJECT_CODE(21, 9): {
404
104
            DNP3ObjectG21V9 *data = point->data;
405
104
            SCJbSetUint(js, "count", data->count);
406
104
            break;
407
0
        }
408
223
        case DNP3_OBJECT_CODE(21, 10): {
409
223
            DNP3ObjectG21V10 *data = point->data;
410
223
            SCJbSetUint(js, "count", data->count);
411
223
            break;
412
0
        }
413
82
        case DNP3_OBJECT_CODE(21, 11): {
414
82
            DNP3ObjectG21V11 *data = point->data;
415
82
            SCJbSetUint(js, "count", data->count);
416
82
            break;
417
0
        }
418
42
        case DNP3_OBJECT_CODE(21, 12): {
419
42
            DNP3ObjectG21V12 *data = point->data;
420
42
            SCJbSetUint(js, "count", data->count);
421
42
            break;
422
0
        }
423
1.90k
        case DNP3_OBJECT_CODE(22, 1): {
424
1.90k
            DNP3ObjectG22V1 *data = point->data;
425
1.90k
            SCJbSetUint(js, "online", data->online);
426
1.90k
            SCJbSetUint(js, "restart", data->restart);
427
1.90k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
428
1.90k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
429
1.90k
            SCJbSetUint(js, "local_forced", data->local_forced);
430
1.90k
            SCJbSetUint(js, "rollover", data->rollover);
431
1.90k
            SCJbSetUint(js, "discontinuity", data->discontinuity);
432
1.90k
            SCJbSetUint(js, "reserved0", data->reserved0);
433
1.90k
            SCJbSetUint(js, "count", data->count);
434
1.90k
            break;
435
0
        }
436
238
        case DNP3_OBJECT_CODE(22, 2): {
437
238
            DNP3ObjectG22V2 *data = point->data;
438
238
            SCJbSetUint(js, "online", data->online);
439
238
            SCJbSetUint(js, "restart", data->restart);
440
238
            SCJbSetUint(js, "comm_lost", data->comm_lost);
441
238
            SCJbSetUint(js, "remote_forced", data->remote_forced);
442
238
            SCJbSetUint(js, "local_forced", data->local_forced);
443
238
            SCJbSetUint(js, "rollover", data->rollover);
444
238
            SCJbSetUint(js, "discontinuity", data->discontinuity);
445
238
            SCJbSetUint(js, "reserved0", data->reserved0);
446
238
            SCJbSetUint(js, "count", data->count);
447
238
            break;
448
0
        }
449
245
        case DNP3_OBJECT_CODE(22, 3): {
450
245
            DNP3ObjectG22V3 *data = point->data;
451
245
            SCJbSetUint(js, "online", data->online);
452
245
            SCJbSetUint(js, "restart", data->restart);
453
245
            SCJbSetUint(js, "comm_lost", data->comm_lost);
454
245
            SCJbSetUint(js, "remote_forced", data->remote_forced);
455
245
            SCJbSetUint(js, "local_forced", data->local_forced);
456
245
            SCJbSetUint(js, "rollover", data->rollover);
457
245
            SCJbSetUint(js, "reserved0", data->reserved0);
458
245
            SCJbSetUint(js, "reserved1", data->reserved1);
459
245
            SCJbSetUint(js, "count", data->count);
460
245
            break;
461
0
        }
462
913
        case DNP3_OBJECT_CODE(22, 4): {
463
913
            DNP3ObjectG22V4 *data = point->data;
464
913
            SCJbSetUint(js, "online", data->online);
465
913
            SCJbSetUint(js, "restart", data->restart);
466
913
            SCJbSetUint(js, "comm_lost", data->comm_lost);
467
913
            SCJbSetUint(js, "remote_forced", data->remote_forced);
468
913
            SCJbSetUint(js, "local_forced", data->local_forced);
469
913
            SCJbSetUint(js, "rollover", data->rollover);
470
913
            SCJbSetUint(js, "reserved0", data->reserved0);
471
913
            SCJbSetUint(js, "reserved1", data->reserved1);
472
913
            SCJbSetUint(js, "count", data->count);
473
913
            break;
474
0
        }
475
120
        case DNP3_OBJECT_CODE(22, 5): {
476
120
            DNP3ObjectG22V5 *data = point->data;
477
120
            SCJbSetUint(js, "online", data->online);
478
120
            SCJbSetUint(js, "restart", data->restart);
479
120
            SCJbSetUint(js, "comm_lost", data->comm_lost);
480
120
            SCJbSetUint(js, "remote_forced", data->remote_forced);
481
120
            SCJbSetUint(js, "local_forced", data->local_forced);
482
120
            SCJbSetUint(js, "rollover", data->rollover);
483
120
            SCJbSetUint(js, "reserved0", data->reserved0);
484
120
            SCJbSetUint(js, "reserved1", data->reserved1);
485
120
            SCJbSetUint(js, "count", data->count);
486
120
            SCJbSetUint(js, "timestamp", data->timestamp);
487
120
            break;
488
0
        }
489
82
        case DNP3_OBJECT_CODE(22, 6): {
490
82
            DNP3ObjectG22V6 *data = point->data;
491
82
            SCJbSetUint(js, "online", data->online);
492
82
            SCJbSetUint(js, "restart", data->restart);
493
82
            SCJbSetUint(js, "comm_lost", data->comm_lost);
494
82
            SCJbSetUint(js, "remote_forced", data->remote_forced);
495
82
            SCJbSetUint(js, "local_forced", data->local_forced);
496
82
            SCJbSetUint(js, "rollover", data->rollover);
497
82
            SCJbSetUint(js, "discontinuity", data->discontinuity);
498
82
            SCJbSetUint(js, "reserved0", data->reserved0);
499
82
            SCJbSetUint(js, "count", data->count);
500
82
            SCJbSetUint(js, "timestamp", data->timestamp);
501
82
            break;
502
0
        }
503
74
        case DNP3_OBJECT_CODE(22, 7): {
504
74
            DNP3ObjectG22V7 *data = point->data;
505
74
            SCJbSetUint(js, "online", data->online);
506
74
            SCJbSetUint(js, "restart", data->restart);
507
74
            SCJbSetUint(js, "comm_lost", data->comm_lost);
508
74
            SCJbSetUint(js, "remote_forced", data->remote_forced);
509
74
            SCJbSetUint(js, "local_forced", data->local_forced);
510
74
            SCJbSetUint(js, "rollover", data->rollover);
511
74
            SCJbSetUint(js, "reserved0", data->reserved0);
512
74
            SCJbSetUint(js, "reserved1", data->reserved1);
513
74
            SCJbSetUint(js, "count", data->count);
514
74
            SCJbSetUint(js, "timestamp", data->timestamp);
515
74
            break;
516
0
        }
517
59
        case DNP3_OBJECT_CODE(22, 8): {
518
59
            DNP3ObjectG22V8 *data = point->data;
519
59
            SCJbSetUint(js, "online", data->online);
520
59
            SCJbSetUint(js, "restart", data->restart);
521
59
            SCJbSetUint(js, "comm_lost", data->comm_lost);
522
59
            SCJbSetUint(js, "remote_forced", data->remote_forced);
523
59
            SCJbSetUint(js, "local_forced", data->local_forced);
524
59
            SCJbSetUint(js, "rollover", data->rollover);
525
59
            SCJbSetUint(js, "reserved0", data->reserved0);
526
59
            SCJbSetUint(js, "reserved1", data->reserved1);
527
59
            SCJbSetUint(js, "count", data->count);
528
59
            SCJbSetUint(js, "timestamp", data->timestamp);
529
59
            break;
530
0
        }
531
653
        case DNP3_OBJECT_CODE(23, 1): {
532
653
            DNP3ObjectG23V1 *data = point->data;
533
653
            SCJbSetUint(js, "online", data->online);
534
653
            SCJbSetUint(js, "restart", data->restart);
535
653
            SCJbSetUint(js, "comm_lost", data->comm_lost);
536
653
            SCJbSetUint(js, "remote_forced", data->remote_forced);
537
653
            SCJbSetUint(js, "local_forced", data->local_forced);
538
653
            SCJbSetUint(js, "rollover", data->rollover);
539
653
            SCJbSetUint(js, "discontinuity", data->discontinuity);
540
653
            SCJbSetUint(js, "reserved0", data->reserved0);
541
653
            SCJbSetUint(js, "count", data->count);
542
653
            break;
543
0
        }
544
289
        case DNP3_OBJECT_CODE(23, 2): {
545
289
            DNP3ObjectG23V2 *data = point->data;
546
289
            SCJbSetUint(js, "online", data->online);
547
289
            SCJbSetUint(js, "restart", data->restart);
548
289
            SCJbSetUint(js, "comm_lost", data->comm_lost);
549
289
            SCJbSetUint(js, "remote_forced", data->remote_forced);
550
289
            SCJbSetUint(js, "local_forced", data->local_forced);
551
289
            SCJbSetUint(js, "rollover", data->rollover);
552
289
            SCJbSetUint(js, "reserved0", data->reserved0);
553
289
            SCJbSetUint(js, "reserved1", data->reserved1);
554
289
            SCJbSetUint(js, "count", data->count);
555
289
            break;
556
0
        }
557
129
        case DNP3_OBJECT_CODE(23, 3): {
558
129
            DNP3ObjectG23V3 *data = point->data;
559
129
            SCJbSetUint(js, "online", data->online);
560
129
            SCJbSetUint(js, "restart", data->restart);
561
129
            SCJbSetUint(js, "comm_lost", data->comm_lost);
562
129
            SCJbSetUint(js, "remote_forced", data->remote_forced);
563
129
            SCJbSetUint(js, "local_forced", data->local_forced);
564
129
            SCJbSetUint(js, "rollover", data->rollover);
565
129
            SCJbSetUint(js, "reserved0", data->reserved0);
566
129
            SCJbSetUint(js, "reserved1", data->reserved1);
567
129
            SCJbSetUint(js, "count", data->count);
568
129
            break;
569
0
        }
570
142
        case DNP3_OBJECT_CODE(23, 4): {
571
142
            DNP3ObjectG23V4 *data = point->data;
572
142
            SCJbSetUint(js, "online", data->online);
573
142
            SCJbSetUint(js, "restart", data->restart);
574
142
            SCJbSetUint(js, "comm_lost", data->comm_lost);
575
142
            SCJbSetUint(js, "remote_forced", data->remote_forced);
576
142
            SCJbSetUint(js, "local_forced", data->local_forced);
577
142
            SCJbSetUint(js, "rollover", data->rollover);
578
142
            SCJbSetUint(js, "reserved0", data->reserved0);
579
142
            SCJbSetUint(js, "reserved1", data->reserved1);
580
142
            SCJbSetUint(js, "count", data->count);
581
142
            break;
582
0
        }
583
87
        case DNP3_OBJECT_CODE(23, 5): {
584
87
            DNP3ObjectG23V5 *data = point->data;
585
87
            SCJbSetUint(js, "online", data->online);
586
87
            SCJbSetUint(js, "restart", data->restart);
587
87
            SCJbSetUint(js, "comm_lost", data->comm_lost);
588
87
            SCJbSetUint(js, "remote_forced", data->remote_forced);
589
87
            SCJbSetUint(js, "local_forced", data->local_forced);
590
87
            SCJbSetUint(js, "rollover", data->rollover);
591
87
            SCJbSetUint(js, "discontinuity", data->discontinuity);
592
87
            SCJbSetUint(js, "reserved0", data->reserved0);
593
87
            SCJbSetUint(js, "count", data->count);
594
87
            SCJbSetUint(js, "timestamp", data->timestamp);
595
87
            break;
596
0
        }
597
90
        case DNP3_OBJECT_CODE(23, 6): {
598
90
            DNP3ObjectG23V6 *data = point->data;
599
90
            SCJbSetUint(js, "online", data->online);
600
90
            SCJbSetUint(js, "restart", data->restart);
601
90
            SCJbSetUint(js, "comm_lost", data->comm_lost);
602
90
            SCJbSetUint(js, "remote_forced", data->remote_forced);
603
90
            SCJbSetUint(js, "local_forced", data->local_forced);
604
90
            SCJbSetUint(js, "rollover", data->rollover);
605
90
            SCJbSetUint(js, "discontinuity", data->discontinuity);
606
90
            SCJbSetUint(js, "reserved0", data->reserved0);
607
90
            SCJbSetUint(js, "count", data->count);
608
90
            SCJbSetUint(js, "timestamp", data->timestamp);
609
90
            break;
610
0
        }
611
104
        case DNP3_OBJECT_CODE(23, 7): {
612
104
            DNP3ObjectG23V7 *data = point->data;
613
104
            SCJbSetUint(js, "online", data->online);
614
104
            SCJbSetUint(js, "restart", data->restart);
615
104
            SCJbSetUint(js, "comm_lost", data->comm_lost);
616
104
            SCJbSetUint(js, "remote_forced", data->remote_forced);
617
104
            SCJbSetUint(js, "local_forced", data->local_forced);
618
104
            SCJbSetUint(js, "rollover", data->rollover);
619
104
            SCJbSetUint(js, "reserved0", data->reserved0);
620
104
            SCJbSetUint(js, "reserved1", data->reserved1);
621
104
            SCJbSetUint(js, "count", data->count);
622
104
            SCJbSetUint(js, "timestamp", data->timestamp);
623
104
            break;
624
0
        }
625
59
        case DNP3_OBJECT_CODE(23, 8): {
626
59
            DNP3ObjectG23V8 *data = point->data;
627
59
            SCJbSetUint(js, "online", data->online);
628
59
            SCJbSetUint(js, "restart", data->restart);
629
59
            SCJbSetUint(js, "comm_lost", data->comm_lost);
630
59
            SCJbSetUint(js, "remote_forced", data->remote_forced);
631
59
            SCJbSetUint(js, "local_forced", data->local_forced);
632
59
            SCJbSetUint(js, "rollover", data->rollover);
633
59
            SCJbSetUint(js, "reserved0", data->reserved0);
634
59
            SCJbSetUint(js, "reserved1", data->reserved1);
635
59
            SCJbSetUint(js, "count", data->count);
636
59
            SCJbSetUint(js, "timestamp", data->timestamp);
637
59
            break;
638
0
        }
639
20.7k
        case DNP3_OBJECT_CODE(30, 1): {
640
20.7k
            DNP3ObjectG30V1 *data = point->data;
641
20.7k
            SCJbSetUint(js, "online", data->online);
642
20.7k
            SCJbSetUint(js, "restart", data->restart);
643
20.7k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
644
20.7k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
645
20.7k
            SCJbSetUint(js, "local_forced", data->local_forced);
646
20.7k
            SCJbSetUint(js, "over_range", data->over_range);
647
20.7k
            SCJbSetUint(js, "reference_err", data->reference_err);
648
20.7k
            SCJbSetUint(js, "reserved0", data->reserved0);
649
20.7k
            SCJbSetUint(js, "value", data->value);
650
20.7k
            break;
651
0
        }
652
4.02k
        case DNP3_OBJECT_CODE(30, 2): {
653
4.02k
            DNP3ObjectG30V2 *data = point->data;
654
4.02k
            SCJbSetUint(js, "online", data->online);
655
4.02k
            SCJbSetUint(js, "restart", data->restart);
656
4.02k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
657
4.02k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
658
4.02k
            SCJbSetUint(js, "local_forced", data->local_forced);
659
4.02k
            SCJbSetUint(js, "over_range", data->over_range);
660
4.02k
            SCJbSetUint(js, "reference_err", data->reference_err);
661
4.02k
            SCJbSetUint(js, "reserved0", data->reserved0);
662
4.02k
            SCJbSetUint(js, "value", data->value);
663
4.02k
            break;
664
0
        }
665
147
        case DNP3_OBJECT_CODE(30, 3): {
666
147
            DNP3ObjectG30V3 *data = point->data;
667
147
            SCJbSetUint(js, "value", data->value);
668
147
            break;
669
0
        }
670
292
        case DNP3_OBJECT_CODE(30, 4): {
671
292
            DNP3ObjectG30V4 *data = point->data;
672
292
            SCJbSetUint(js, "value", data->value);
673
292
            break;
674
0
        }
675
11.9k
        case DNP3_OBJECT_CODE(30, 5): {
676
11.9k
            DNP3ObjectG30V5 *data = point->data;
677
11.9k
            SCJbSetUint(js, "online", data->online);
678
11.9k
            SCJbSetUint(js, "restart", data->restart);
679
11.9k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
680
11.9k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
681
11.9k
            SCJbSetUint(js, "local_forced", data->local_forced);
682
11.9k
            SCJbSetUint(js, "over_range", data->over_range);
683
11.9k
            SCJbSetUint(js, "reference_err", data->reference_err);
684
11.9k
            SCJbSetUint(js, "reserved0", data->reserved0);
685
11.9k
            SCJbSetFloat(js, "value", data->value);
686
11.9k
            break;
687
0
        }
688
78
        case DNP3_OBJECT_CODE(30, 6): {
689
78
            DNP3ObjectG30V6 *data = point->data;
690
78
            SCJbSetUint(js, "online", data->online);
691
78
            SCJbSetUint(js, "restart", data->restart);
692
78
            SCJbSetUint(js, "comm_lost", data->comm_lost);
693
78
            SCJbSetUint(js, "remote_forced", data->remote_forced);
694
78
            SCJbSetUint(js, "local_forced", data->local_forced);
695
78
            SCJbSetUint(js, "over_range", data->over_range);
696
78
            SCJbSetUint(js, "reference_err", data->reference_err);
697
78
            SCJbSetUint(js, "reserved0", data->reserved0);
698
78
            SCJbSetFloat(js, "value", data->value);
699
78
            break;
700
0
        }
701
313
        case DNP3_OBJECT_CODE(31, 1): {
702
313
            DNP3ObjectG31V1 *data = point->data;
703
313
            SCJbSetUint(js, "online", data->online);
704
313
            SCJbSetUint(js, "restart", data->restart);
705
313
            SCJbSetUint(js, "comm_lost", data->comm_lost);
706
313
            SCJbSetUint(js, "remote_forced", data->remote_forced);
707
313
            SCJbSetUint(js, "local_forced", data->local_forced);
708
313
            SCJbSetUint(js, "over_range", data->over_range);
709
313
            SCJbSetUint(js, "reference_err", data->reference_err);
710
313
            SCJbSetUint(js, "reserved0", data->reserved0);
711
313
            SCJbSetUint(js, "value", data->value);
712
313
            break;
713
0
        }
714
320
        case DNP3_OBJECT_CODE(31, 2): {
715
320
            DNP3ObjectG31V2 *data = point->data;
716
320
            SCJbSetUint(js, "online", data->online);
717
320
            SCJbSetUint(js, "restart", data->restart);
718
320
            SCJbSetUint(js, "comm_lost", data->comm_lost);
719
320
            SCJbSetUint(js, "remote_forced", data->remote_forced);
720
320
            SCJbSetUint(js, "local_forced", data->local_forced);
721
320
            SCJbSetUint(js, "over_range", data->over_range);
722
320
            SCJbSetUint(js, "reference_err", data->reference_err);
723
320
            SCJbSetUint(js, "reserved0", data->reserved0);
724
320
            SCJbSetUint(js, "value", data->value);
725
320
            break;
726
0
        }
727
81
        case DNP3_OBJECT_CODE(31, 3): {
728
81
            DNP3ObjectG31V3 *data = point->data;
729
81
            SCJbSetUint(js, "online", data->online);
730
81
            SCJbSetUint(js, "restart", data->restart);
731
81
            SCJbSetUint(js, "comm_lost", data->comm_lost);
732
81
            SCJbSetUint(js, "remote_forced", data->remote_forced);
733
81
            SCJbSetUint(js, "local_forced", data->local_forced);
734
81
            SCJbSetUint(js, "over_range", data->over_range);
735
81
            SCJbSetUint(js, "reference_err", data->reference_err);
736
81
            SCJbSetUint(js, "reserved0", data->reserved0);
737
81
            SCJbSetUint(js, "value", data->value);
738
81
            SCJbSetUint(js, "timestamp", data->timestamp);
739
81
            break;
740
0
        }
741
103
        case DNP3_OBJECT_CODE(31, 4): {
742
103
            DNP3ObjectG31V4 *data = point->data;
743
103
            SCJbSetUint(js, "online", data->online);
744
103
            SCJbSetUint(js, "restart", data->restart);
745
103
            SCJbSetUint(js, "comm_lost", data->comm_lost);
746
103
            SCJbSetUint(js, "remote_forced", data->remote_forced);
747
103
            SCJbSetUint(js, "local_forced", data->local_forced);
748
103
            SCJbSetUint(js, "over_range", data->over_range);
749
103
            SCJbSetUint(js, "reference_err", data->reference_err);
750
103
            SCJbSetUint(js, "reserved0", data->reserved0);
751
103
            SCJbSetUint(js, "value", data->value);
752
103
            SCJbSetUint(js, "timestamp", data->timestamp);
753
103
            break;
754
0
        }
755
216
        case DNP3_OBJECT_CODE(31, 5): {
756
216
            DNP3ObjectG31V5 *data = point->data;
757
216
            SCJbSetUint(js, "value", data->value);
758
216
            break;
759
0
        }
760
284
        case DNP3_OBJECT_CODE(31, 6): {
761
284
            DNP3ObjectG31V6 *data = point->data;
762
284
            SCJbSetUint(js, "value", data->value);
763
284
            break;
764
0
        }
765
158
        case DNP3_OBJECT_CODE(31, 7): {
766
158
            DNP3ObjectG31V7 *data = point->data;
767
158
            SCJbSetUint(js, "online", data->online);
768
158
            SCJbSetUint(js, "restart", data->restart);
769
158
            SCJbSetUint(js, "comm_lost", data->comm_lost);
770
158
            SCJbSetUint(js, "remote_forced", data->remote_forced);
771
158
            SCJbSetUint(js, "local_forced", data->local_forced);
772
158
            SCJbSetUint(js, "over_range", data->over_range);
773
158
            SCJbSetUint(js, "reference_err", data->reference_err);
774
158
            SCJbSetUint(js, "reserved0", data->reserved0);
775
158
            SCJbSetFloat(js, "value", data->value);
776
158
            break;
777
0
        }
778
111
        case DNP3_OBJECT_CODE(31, 8): {
779
111
            DNP3ObjectG31V8 *data = point->data;
780
111
            SCJbSetUint(js, "online", data->online);
781
111
            SCJbSetUint(js, "restart", data->restart);
782
111
            SCJbSetUint(js, "comm_lost", data->comm_lost);
783
111
            SCJbSetUint(js, "remote_forced", data->remote_forced);
784
111
            SCJbSetUint(js, "local_forced", data->local_forced);
785
111
            SCJbSetUint(js, "over_range", data->over_range);
786
111
            SCJbSetUint(js, "reference_err", data->reference_err);
787
111
            SCJbSetUint(js, "reserved0", data->reserved0);
788
111
            SCJbSetFloat(js, "value", data->value);
789
111
            break;
790
0
        }
791
177
        case DNP3_OBJECT_CODE(32, 1): {
792
177
            DNP3ObjectG32V1 *data = point->data;
793
177
            SCJbSetUint(js, "online", data->online);
794
177
            SCJbSetUint(js, "restart", data->restart);
795
177
            SCJbSetUint(js, "comm_lost", data->comm_lost);
796
177
            SCJbSetUint(js, "remote_forced", data->remote_forced);
797
177
            SCJbSetUint(js, "local_forced", data->local_forced);
798
177
            SCJbSetUint(js, "over_range", data->over_range);
799
177
            SCJbSetUint(js, "reference_err", data->reference_err);
800
177
            SCJbSetUint(js, "reserved0", data->reserved0);
801
177
            SCJbSetUint(js, "value", data->value);
802
177
            break;
803
0
        }
804
222
        case DNP3_OBJECT_CODE(32, 2): {
805
222
            DNP3ObjectG32V2 *data = point->data;
806
222
            SCJbSetUint(js, "online", data->online);
807
222
            SCJbSetUint(js, "restart", data->restart);
808
222
            SCJbSetUint(js, "comm_lost", data->comm_lost);
809
222
            SCJbSetUint(js, "remote_forced", data->remote_forced);
810
222
            SCJbSetUint(js, "local_forced", data->local_forced);
811
222
            SCJbSetUint(js, "over_range", data->over_range);
812
222
            SCJbSetUint(js, "reference_err", data->reference_err);
813
222
            SCJbSetUint(js, "reserved0", data->reserved0);
814
222
            SCJbSetUint(js, "value", data->value);
815
222
            break;
816
0
        }
817
71
        case DNP3_OBJECT_CODE(32, 3): {
818
71
            DNP3ObjectG32V3 *data = point->data;
819
71
            SCJbSetUint(js, "online", data->online);
820
71
            SCJbSetUint(js, "restart", data->restart);
821
71
            SCJbSetUint(js, "comm_lost", data->comm_lost);
822
71
            SCJbSetUint(js, "remote_forced", data->remote_forced);
823
71
            SCJbSetUint(js, "local_forced", data->local_forced);
824
71
            SCJbSetUint(js, "over_range", data->over_range);
825
71
            SCJbSetUint(js, "reference_err", data->reference_err);
826
71
            SCJbSetUint(js, "reserved0", data->reserved0);
827
71
            SCJbSetUint(js, "value", data->value);
828
71
            SCJbSetUint(js, "timestamp", data->timestamp);
829
71
            break;
830
0
        }
831
94
        case DNP3_OBJECT_CODE(32, 4): {
832
94
            DNP3ObjectG32V4 *data = point->data;
833
94
            SCJbSetUint(js, "online", data->online);
834
94
            SCJbSetUint(js, "restart", data->restart);
835
94
            SCJbSetUint(js, "comm_lost", data->comm_lost);
836
94
            SCJbSetUint(js, "remote_forced", data->remote_forced);
837
94
            SCJbSetUint(js, "local_forced", data->local_forced);
838
94
            SCJbSetUint(js, "over_range", data->over_range);
839
94
            SCJbSetUint(js, "reference_err", data->reference_err);
840
94
            SCJbSetUint(js, "reserved0", data->reserved0);
841
94
            SCJbSetUint(js, "value", data->value);
842
94
            SCJbSetUint(js, "timestamp", data->timestamp);
843
94
            break;
844
0
        }
845
413
        case DNP3_OBJECT_CODE(32, 5): {
846
413
            DNP3ObjectG32V5 *data = point->data;
847
413
            SCJbSetUint(js, "online", data->online);
848
413
            SCJbSetUint(js, "restart", data->restart);
849
413
            SCJbSetUint(js, "comm_lost", data->comm_lost);
850
413
            SCJbSetUint(js, "remote_forced", data->remote_forced);
851
413
            SCJbSetUint(js, "local_forced", data->local_forced);
852
413
            SCJbSetUint(js, "over_range", data->over_range);
853
413
            SCJbSetUint(js, "reference_err", data->reference_err);
854
413
            SCJbSetUint(js, "reserved0", data->reserved0);
855
413
            SCJbSetFloat(js, "value", data->value);
856
413
            break;
857
0
        }
858
95
        case DNP3_OBJECT_CODE(32, 6): {
859
95
            DNP3ObjectG32V6 *data = point->data;
860
95
            SCJbSetUint(js, "online", data->online);
861
95
            SCJbSetUint(js, "restart", data->restart);
862
95
            SCJbSetUint(js, "comm_lost", data->comm_lost);
863
95
            SCJbSetUint(js, "remote_forced", data->remote_forced);
864
95
            SCJbSetUint(js, "local_forced", data->local_forced);
865
95
            SCJbSetUint(js, "over_range", data->over_range);
866
95
            SCJbSetUint(js, "reference_err", data->reference_err);
867
95
            SCJbSetUint(js, "reserved0", data->reserved0);
868
95
            SCJbSetFloat(js, "value", data->value);
869
95
            break;
870
0
        }
871
276
        case DNP3_OBJECT_CODE(32, 7): {
872
276
            DNP3ObjectG32V7 *data = point->data;
873
276
            SCJbSetUint(js, "online", data->online);
874
276
            SCJbSetUint(js, "restart", data->restart);
875
276
            SCJbSetUint(js, "comm_lost", data->comm_lost);
876
276
            SCJbSetUint(js, "remote_forced", data->remote_forced);
877
276
            SCJbSetUint(js, "local_forced", data->local_forced);
878
276
            SCJbSetUint(js, "over_range", data->over_range);
879
276
            SCJbSetUint(js, "reference_err", data->reference_err);
880
276
            SCJbSetUint(js, "reserved0", data->reserved0);
881
276
            SCJbSetFloat(js, "value", data->value);
882
276
            SCJbSetUint(js, "timestamp", data->timestamp);
883
276
            break;
884
0
        }
885
158
        case DNP3_OBJECT_CODE(32, 8): {
886
158
            DNP3ObjectG32V8 *data = point->data;
887
158
            SCJbSetUint(js, "online", data->online);
888
158
            SCJbSetUint(js, "restart", data->restart);
889
158
            SCJbSetUint(js, "comm_lost", data->comm_lost);
890
158
            SCJbSetUint(js, "remote_forced", data->remote_forced);
891
158
            SCJbSetUint(js, "local_forced", data->local_forced);
892
158
            SCJbSetUint(js, "over_range", data->over_range);
893
158
            SCJbSetUint(js, "reference_err", data->reference_err);
894
158
            SCJbSetUint(js, "reserved0", data->reserved0);
895
158
            SCJbSetFloat(js, "value", data->value);
896
158
            SCJbSetUint(js, "timestamp", data->timestamp);
897
158
            break;
898
0
        }
899
207
        case DNP3_OBJECT_CODE(33, 1): {
900
207
            DNP3ObjectG33V1 *data = point->data;
901
207
            SCJbSetUint(js, "online", data->online);
902
207
            SCJbSetUint(js, "restart", data->restart);
903
207
            SCJbSetUint(js, "comm_lost", data->comm_lost);
904
207
            SCJbSetUint(js, "remote_forced", data->remote_forced);
905
207
            SCJbSetUint(js, "local_forced", data->local_forced);
906
207
            SCJbSetUint(js, "over_range", data->over_range);
907
207
            SCJbSetUint(js, "reference_err", data->reference_err);
908
207
            SCJbSetUint(js, "reserved0", data->reserved0);
909
207
            SCJbSetUint(js, "value", data->value);
910
207
            break;
911
0
        }
912
300
        case DNP3_OBJECT_CODE(33, 2): {
913
300
            DNP3ObjectG33V2 *data = point->data;
914
300
            SCJbSetUint(js, "online", data->online);
915
300
            SCJbSetUint(js, "restart", data->restart);
916
300
            SCJbSetUint(js, "comm_lost", data->comm_lost);
917
300
            SCJbSetUint(js, "remote_forced", data->remote_forced);
918
300
            SCJbSetUint(js, "local_forced", data->local_forced);
919
300
            SCJbSetUint(js, "over_range", data->over_range);
920
300
            SCJbSetUint(js, "reference_err", data->reference_err);
921
300
            SCJbSetUint(js, "reserved0", data->reserved0);
922
300
            SCJbSetUint(js, "value", data->value);
923
300
            break;
924
0
        }
925
71
        case DNP3_OBJECT_CODE(33, 3): {
926
71
            DNP3ObjectG33V3 *data = point->data;
927
71
            SCJbSetUint(js, "online", data->online);
928
71
            SCJbSetUint(js, "restart", data->restart);
929
71
            SCJbSetUint(js, "comm_lost", data->comm_lost);
930
71
            SCJbSetUint(js, "remote_forced", data->remote_forced);
931
71
            SCJbSetUint(js, "local_forced", data->local_forced);
932
71
            SCJbSetUint(js, "over_range", data->over_range);
933
71
            SCJbSetUint(js, "reference_err", data->reference_err);
934
71
            SCJbSetUint(js, "reserved0", data->reserved0);
935
71
            SCJbSetUint(js, "value", data->value);
936
71
            SCJbSetUint(js, "timestamp", data->timestamp);
937
71
            break;
938
0
        }
939
56
        case DNP3_OBJECT_CODE(33, 4): {
940
56
            DNP3ObjectG33V4 *data = point->data;
941
56
            SCJbSetUint(js, "online", data->online);
942
56
            SCJbSetUint(js, "restart", data->restart);
943
56
            SCJbSetUint(js, "comm_lost", data->comm_lost);
944
56
            SCJbSetUint(js, "remote_forced", data->remote_forced);
945
56
            SCJbSetUint(js, "local_forced", data->local_forced);
946
56
            SCJbSetUint(js, "over_range", data->over_range);
947
56
            SCJbSetUint(js, "reference_err", data->reference_err);
948
56
            SCJbSetUint(js, "reserved0", data->reserved0);
949
56
            SCJbSetUint(js, "value", data->value);
950
56
            SCJbSetUint(js, "timestamp", data->timestamp);
951
56
            break;
952
0
        }
953
122
        case DNP3_OBJECT_CODE(33, 5): {
954
122
            DNP3ObjectG33V5 *data = point->data;
955
122
            SCJbSetUint(js, "online", data->online);
956
122
            SCJbSetUint(js, "restart", data->restart);
957
122
            SCJbSetUint(js, "comm_lost", data->comm_lost);
958
122
            SCJbSetUint(js, "remote_forced", data->remote_forced);
959
122
            SCJbSetUint(js, "local_forced", data->local_forced);
960
122
            SCJbSetUint(js, "over_range", data->over_range);
961
122
            SCJbSetUint(js, "reference_err", data->reference_err);
962
122
            SCJbSetUint(js, "reserved0", data->reserved0);
963
122
            SCJbSetFloat(js, "value", data->value);
964
122
            break;
965
0
        }
966
47
        case DNP3_OBJECT_CODE(33, 6): {
967
47
            DNP3ObjectG33V6 *data = point->data;
968
47
            SCJbSetUint(js, "online", data->online);
969
47
            SCJbSetUint(js, "restart", data->restart);
970
47
            SCJbSetUint(js, "comm_lost", data->comm_lost);
971
47
            SCJbSetUint(js, "remote_forced", data->remote_forced);
972
47
            SCJbSetUint(js, "local_forced", data->local_forced);
973
47
            SCJbSetUint(js, "over_range", data->over_range);
974
47
            SCJbSetUint(js, "reference_err", data->reference_err);
975
47
            SCJbSetUint(js, "reserved0", data->reserved0);
976
47
            SCJbSetFloat(js, "value", data->value);
977
47
            break;
978
0
        }
979
65
        case DNP3_OBJECT_CODE(33, 7): {
980
65
            DNP3ObjectG33V7 *data = point->data;
981
65
            SCJbSetUint(js, "online", data->online);
982
65
            SCJbSetUint(js, "restart", data->restart);
983
65
            SCJbSetUint(js, "comm_lost", data->comm_lost);
984
65
            SCJbSetUint(js, "remote_forced", data->remote_forced);
985
65
            SCJbSetUint(js, "local_forced", data->local_forced);
986
65
            SCJbSetUint(js, "over_range", data->over_range);
987
65
            SCJbSetUint(js, "reference_err", data->reference_err);
988
65
            SCJbSetUint(js, "reserved0", data->reserved0);
989
65
            SCJbSetFloat(js, "value", data->value);
990
65
            SCJbSetUint(js, "timestamp", data->timestamp);
991
65
            break;
992
0
        }
993
47
        case DNP3_OBJECT_CODE(33, 8): {
994
47
            DNP3ObjectG33V8 *data = point->data;
995
47
            SCJbSetUint(js, "online", data->online);
996
47
            SCJbSetUint(js, "restart", data->restart);
997
47
            SCJbSetUint(js, "comm_lost", data->comm_lost);
998
47
            SCJbSetUint(js, "remote_forced", data->remote_forced);
999
47
            SCJbSetUint(js, "local_forced", data->local_forced);
1000
47
            SCJbSetUint(js, "over_range", data->over_range);
1001
47
            SCJbSetUint(js, "reference_err", data->reference_err);
1002
47
            SCJbSetUint(js, "reserved0", data->reserved0);
1003
47
            SCJbSetFloat(js, "value", data->value);
1004
47
            SCJbSetUint(js, "timestamp", data->timestamp);
1005
47
            break;
1006
0
        }
1007
216
        case DNP3_OBJECT_CODE(34, 1): {
1008
216
            DNP3ObjectG34V1 *data = point->data;
1009
216
            SCJbSetUint(js, "deadband_value", data->deadband_value);
1010
216
            break;
1011
0
        }
1012
218
        case DNP3_OBJECT_CODE(34, 2): {
1013
218
            DNP3ObjectG34V2 *data = point->data;
1014
218
            SCJbSetUint(js, "deadband_value", data->deadband_value);
1015
218
            break;
1016
0
        }
1017
116
        case DNP3_OBJECT_CODE(34, 3): {
1018
116
            DNP3ObjectG34V3 *data = point->data;
1019
116
            SCJbSetFloat(js, "deadband_value", data->deadband_value);
1020
116
            break;
1021
0
        }
1022
10.2k
        case DNP3_OBJECT_CODE(40, 1): {
1023
10.2k
            DNP3ObjectG40V1 *data = point->data;
1024
10.2k
            SCJbSetUint(js, "online", data->online);
1025
10.2k
            SCJbSetUint(js, "restart", data->restart);
1026
10.2k
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1027
10.2k
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1028
10.2k
            SCJbSetUint(js, "local_forced", data->local_forced);
1029
10.2k
            SCJbSetUint(js, "over_range", data->over_range);
1030
10.2k
            SCJbSetUint(js, "reference_err", data->reference_err);
1031
10.2k
            SCJbSetUint(js, "reserved0", data->reserved0);
1032
10.2k
            SCJbSetUint(js, "value", data->value);
1033
10.2k
            break;
1034
0
        }
1035
336
        case DNP3_OBJECT_CODE(40, 2): {
1036
336
            DNP3ObjectG40V2 *data = point->data;
1037
336
            SCJbSetUint(js, "online", data->online);
1038
336
            SCJbSetUint(js, "restart", data->restart);
1039
336
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1040
336
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1041
336
            SCJbSetUint(js, "local_forced", data->local_forced);
1042
336
            SCJbSetUint(js, "over_range", data->over_range);
1043
336
            SCJbSetUint(js, "reference_err", data->reference_err);
1044
336
            SCJbSetUint(js, "reserved0", data->reserved0);
1045
336
            SCJbSetUint(js, "value", data->value);
1046
336
            break;
1047
0
        }
1048
134
        case DNP3_OBJECT_CODE(40, 3): {
1049
134
            DNP3ObjectG40V3 *data = point->data;
1050
134
            SCJbSetUint(js, "online", data->online);
1051
134
            SCJbSetUint(js, "restart", data->restart);
1052
134
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1053
134
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1054
134
            SCJbSetUint(js, "local_forced", data->local_forced);
1055
134
            SCJbSetUint(js, "over_range", data->over_range);
1056
134
            SCJbSetUint(js, "reference_err", data->reference_err);
1057
134
            SCJbSetUint(js, "reserved0", data->reserved0);
1058
134
            SCJbSetFloat(js, "value", data->value);
1059
134
            break;
1060
0
        }
1061
60
        case DNP3_OBJECT_CODE(40, 4): {
1062
60
            DNP3ObjectG40V4 *data = point->data;
1063
60
            SCJbSetUint(js, "online", data->online);
1064
60
            SCJbSetUint(js, "restart", data->restart);
1065
60
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1066
60
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1067
60
            SCJbSetUint(js, "local_forced", data->local_forced);
1068
60
            SCJbSetUint(js, "over_range", data->over_range);
1069
60
            SCJbSetUint(js, "reference_err", data->reference_err);
1070
60
            SCJbSetUint(js, "reserved0", data->reserved0);
1071
60
            SCJbSetFloat(js, "value", data->value);
1072
60
            break;
1073
0
        }
1074
206
        case DNP3_OBJECT_CODE(41, 1): {
1075
206
            DNP3ObjectG41V1 *data = point->data;
1076
206
            SCJbSetUint(js, "value", data->value);
1077
206
            SCJbSetUint(js, "control_status", data->control_status);
1078
206
            break;
1079
0
        }
1080
533
        case DNP3_OBJECT_CODE(41, 2): {
1081
533
            DNP3ObjectG41V2 *data = point->data;
1082
533
            SCJbSetUint(js, "value", data->value);
1083
533
            SCJbSetUint(js, "control_status", data->control_status);
1084
533
            break;
1085
0
        }
1086
495
        case DNP3_OBJECT_CODE(41, 3): {
1087
495
            DNP3ObjectG41V3 *data = point->data;
1088
495
            SCJbSetFloat(js, "value", data->value);
1089
495
            SCJbSetUint(js, "control_status", data->control_status);
1090
495
            break;
1091
0
        }
1092
76
        case DNP3_OBJECT_CODE(41, 4): {
1093
76
            DNP3ObjectG41V4 *data = point->data;
1094
76
            SCJbSetFloat(js, "value", data->value);
1095
76
            SCJbSetUint(js, "control_status", data->control_status);
1096
76
            break;
1097
0
        }
1098
460
        case DNP3_OBJECT_CODE(42, 1): {
1099
460
            DNP3ObjectG42V1 *data = point->data;
1100
460
            SCJbSetUint(js, "online", data->online);
1101
460
            SCJbSetUint(js, "restart", data->restart);
1102
460
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1103
460
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1104
460
            SCJbSetUint(js, "local_forced", data->local_forced);
1105
460
            SCJbSetUint(js, "over_range", data->over_range);
1106
460
            SCJbSetUint(js, "reference_err", data->reference_err);
1107
460
            SCJbSetUint(js, "reserved0", data->reserved0);
1108
460
            SCJbSetUint(js, "value", data->value);
1109
460
            break;
1110
0
        }
1111
343
        case DNP3_OBJECT_CODE(42, 2): {
1112
343
            DNP3ObjectG42V2 *data = point->data;
1113
343
            SCJbSetUint(js, "online", data->online);
1114
343
            SCJbSetUint(js, "restart", data->restart);
1115
343
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1116
343
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1117
343
            SCJbSetUint(js, "local_forced", data->local_forced);
1118
343
            SCJbSetUint(js, "over_range", data->over_range);
1119
343
            SCJbSetUint(js, "reference_err", data->reference_err);
1120
343
            SCJbSetUint(js, "reserved0", data->reserved0);
1121
343
            SCJbSetUint(js, "value", data->value);
1122
343
            break;
1123
0
        }
1124
144
        case DNP3_OBJECT_CODE(42, 3): {
1125
144
            DNP3ObjectG42V3 *data = point->data;
1126
144
            SCJbSetUint(js, "online", data->online);
1127
144
            SCJbSetUint(js, "restart", data->restart);
1128
144
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1129
144
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1130
144
            SCJbSetUint(js, "local_forced", data->local_forced);
1131
144
            SCJbSetUint(js, "over_range", data->over_range);
1132
144
            SCJbSetUint(js, "reference_err", data->reference_err);
1133
144
            SCJbSetUint(js, "reserved0", data->reserved0);
1134
144
            SCJbSetUint(js, "value", data->value);
1135
144
            SCJbSetUint(js, "timestamp", data->timestamp);
1136
144
            break;
1137
0
        }
1138
121
        case DNP3_OBJECT_CODE(42, 4): {
1139
121
            DNP3ObjectG42V4 *data = point->data;
1140
121
            SCJbSetUint(js, "online", data->online);
1141
121
            SCJbSetUint(js, "restart", data->restart);
1142
121
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1143
121
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1144
121
            SCJbSetUint(js, "local_forced", data->local_forced);
1145
121
            SCJbSetUint(js, "over_range", data->over_range);
1146
121
            SCJbSetUint(js, "reference_err", data->reference_err);
1147
121
            SCJbSetUint(js, "reserved0", data->reserved0);
1148
121
            SCJbSetUint(js, "value", data->value);
1149
121
            SCJbSetUint(js, "timestamp", data->timestamp);
1150
121
            break;
1151
0
        }
1152
160
        case DNP3_OBJECT_CODE(42, 5): {
1153
160
            DNP3ObjectG42V5 *data = point->data;
1154
160
            SCJbSetUint(js, "online", data->online);
1155
160
            SCJbSetUint(js, "restart", data->restart);
1156
160
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1157
160
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1158
160
            SCJbSetUint(js, "local_forced", data->local_forced);
1159
160
            SCJbSetUint(js, "over_range", data->over_range);
1160
160
            SCJbSetUint(js, "reference_err", data->reference_err);
1161
160
            SCJbSetUint(js, "reserved0", data->reserved0);
1162
160
            SCJbSetFloat(js, "value", data->value);
1163
160
            break;
1164
0
        }
1165
94
        case DNP3_OBJECT_CODE(42, 6): {
1166
94
            DNP3ObjectG42V6 *data = point->data;
1167
94
            SCJbSetUint(js, "online", data->online);
1168
94
            SCJbSetUint(js, "restart", data->restart);
1169
94
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1170
94
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1171
94
            SCJbSetUint(js, "local_forced", data->local_forced);
1172
94
            SCJbSetUint(js, "over_range", data->over_range);
1173
94
            SCJbSetUint(js, "reference_err", data->reference_err);
1174
94
            SCJbSetUint(js, "reserved0", data->reserved0);
1175
94
            SCJbSetFloat(js, "value", data->value);
1176
94
            break;
1177
0
        }
1178
105
        case DNP3_OBJECT_CODE(42, 7): {
1179
105
            DNP3ObjectG42V7 *data = point->data;
1180
105
            SCJbSetUint(js, "online", data->online);
1181
105
            SCJbSetUint(js, "restart", data->restart);
1182
105
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1183
105
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1184
105
            SCJbSetUint(js, "local_forced", data->local_forced);
1185
105
            SCJbSetUint(js, "over_range", data->over_range);
1186
105
            SCJbSetUint(js, "reference_err", data->reference_err);
1187
105
            SCJbSetUint(js, "reserved0", data->reserved0);
1188
105
            SCJbSetFloat(js, "value", data->value);
1189
105
            SCJbSetUint(js, "timestamp", data->timestamp);
1190
105
            break;
1191
0
        }
1192
83
        case DNP3_OBJECT_CODE(42, 8): {
1193
83
            DNP3ObjectG42V8 *data = point->data;
1194
83
            SCJbSetUint(js, "online", data->online);
1195
83
            SCJbSetUint(js, "restart", data->restart);
1196
83
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1197
83
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1198
83
            SCJbSetUint(js, "local_forced", data->local_forced);
1199
83
            SCJbSetUint(js, "over_range", data->over_range);
1200
83
            SCJbSetUint(js, "reference_err", data->reference_err);
1201
83
            SCJbSetUint(js, "reserved0", data->reserved0);
1202
83
            SCJbSetFloat(js, "value", data->value);
1203
83
            SCJbSetUint(js, "timestamp", data->timestamp);
1204
83
            break;
1205
0
        }
1206
115
        case DNP3_OBJECT_CODE(43, 1): {
1207
115
            DNP3ObjectG43V1 *data = point->data;
1208
115
            SCJbSetUint(js, "status_code", data->status_code);
1209
115
            SCJbSetUint(js, "reserved0", data->reserved0);
1210
115
            SCJbSetUint(js, "commanded_value", data->commanded_value);
1211
115
            break;
1212
0
        }
1213
344
        case DNP3_OBJECT_CODE(43, 2): {
1214
344
            DNP3ObjectG43V2 *data = point->data;
1215
344
            SCJbSetUint(js, "status_code", data->status_code);
1216
344
            SCJbSetUint(js, "reserved0", data->reserved0);
1217
344
            SCJbSetUint(js, "commanded_value", data->commanded_value);
1218
344
            break;
1219
0
        }
1220
60
        case DNP3_OBJECT_CODE(43, 3): {
1221
60
            DNP3ObjectG43V3 *data = point->data;
1222
60
            SCJbSetUint(js, "status_code", data->status_code);
1223
60
            SCJbSetUint(js, "reserved0", data->reserved0);
1224
60
            SCJbSetUint(js, "commanded_value", data->commanded_value);
1225
60
            SCJbSetUint(js, "timestamp", data->timestamp);
1226
60
            break;
1227
0
        }
1228
102
        case DNP3_OBJECT_CODE(43, 4): {
1229
102
            DNP3ObjectG43V4 *data = point->data;
1230
102
            SCJbSetUint(js, "status_code", data->status_code);
1231
102
            SCJbSetUint(js, "reserved0", data->reserved0);
1232
102
            SCJbSetUint(js, "commanded_value", data->commanded_value);
1233
102
            SCJbSetUint(js, "timestamp", data->timestamp);
1234
102
            break;
1235
0
        }
1236
202
        case DNP3_OBJECT_CODE(43, 5): {
1237
202
            DNP3ObjectG43V5 *data = point->data;
1238
202
            SCJbSetUint(js, "status_code", data->status_code);
1239
202
            SCJbSetUint(js, "reserved0", data->reserved0);
1240
202
            SCJbSetFloat(js, "commanded_value", data->commanded_value);
1241
202
            break;
1242
0
        }
1243
91
        case DNP3_OBJECT_CODE(43, 6): {
1244
91
            DNP3ObjectG43V6 *data = point->data;
1245
91
            SCJbSetUint(js, "status_code", data->status_code);
1246
91
            SCJbSetUint(js, "reserved0", data->reserved0);
1247
91
            SCJbSetFloat(js, "commanded_value", data->commanded_value);
1248
91
            break;
1249
0
        }
1250
84
        case DNP3_OBJECT_CODE(43, 7): {
1251
84
            DNP3ObjectG43V7 *data = point->data;
1252
84
            SCJbSetUint(js, "status_code", data->status_code);
1253
84
            SCJbSetUint(js, "reserved0", data->reserved0);
1254
84
            SCJbSetFloat(js, "commanded_value", data->commanded_value);
1255
84
            SCJbSetUint(js, "timestamp", data->timestamp);
1256
84
            break;
1257
0
        }
1258
48
        case DNP3_OBJECT_CODE(43, 8): {
1259
48
            DNP3ObjectG43V8 *data = point->data;
1260
48
            SCJbSetUint(js, "status_code", data->status_code);
1261
48
            SCJbSetUint(js, "reserved0", data->reserved0);
1262
48
            SCJbSetFloat(js, "commanded_value", data->commanded_value);
1263
48
            SCJbSetUint(js, "timestamp", data->timestamp);
1264
48
            break;
1265
0
        }
1266
400
        case DNP3_OBJECT_CODE(50, 1): {
1267
400
            DNP3ObjectG50V1 *data = point->data;
1268
400
            SCJbSetUint(js, "timestamp", data->timestamp);
1269
400
            break;
1270
0
        }
1271
156
        case DNP3_OBJECT_CODE(50, 2): {
1272
156
            DNP3ObjectG50V2 *data = point->data;
1273
156
            SCJbSetUint(js, "timestamp", data->timestamp);
1274
156
            SCJbSetUint(js, "interval", data->interval);
1275
156
            break;
1276
0
        }
1277
163
        case DNP3_OBJECT_CODE(50, 3): {
1278
163
            DNP3ObjectG50V3 *data = point->data;
1279
163
            SCJbSetUint(js, "timestamp", data->timestamp);
1280
163
            break;
1281
0
        }
1282
60
        case DNP3_OBJECT_CODE(50, 4): {
1283
60
            DNP3ObjectG50V4 *data = point->data;
1284
60
            SCJbSetUint(js, "timestamp", data->timestamp);
1285
60
            SCJbSetUint(js, "interval_count", data->interval_count);
1286
60
            SCJbSetUint(js, "interval_units", data->interval_units);
1287
60
            break;
1288
0
        }
1289
271
        case DNP3_OBJECT_CODE(51, 1): {
1290
271
            DNP3ObjectG51V1 *data = point->data;
1291
271
            SCJbSetUint(js, "timestamp", data->timestamp);
1292
271
            break;
1293
0
        }
1294
363
        case DNP3_OBJECT_CODE(51, 2): {
1295
363
            DNP3ObjectG51V2 *data = point->data;
1296
363
            SCJbSetUint(js, "timestamp", data->timestamp);
1297
363
            break;
1298
0
        }
1299
704
        case DNP3_OBJECT_CODE(52, 1): {
1300
704
            DNP3ObjectG52V1 *data = point->data;
1301
704
            SCJbSetUint(js, "delay_secs", data->delay_secs);
1302
704
            break;
1303
0
        }
1304
544
        case DNP3_OBJECT_CODE(52, 2): {
1305
544
            DNP3ObjectG52V2 *data = point->data;
1306
544
            SCJbSetUint(js, "delay_ms", data->delay_ms);
1307
544
            break;
1308
0
        }
1309
13
        case DNP3_OBJECT_CODE(70, 1): {
1310
13
            DNP3ObjectG70V1 *data = point->data;
1311
13
            SCJbSetUint(js, "filename_size", data->filename_size);
1312
13
            SCJbSetUint(js, "filetype_code", data->filetype_code);
1313
13
            SCJbSetUint(js, "attribute_code", data->attribute_code);
1314
13
            SCJbSetUint(js, "start_record", data->start_record);
1315
13
            SCJbSetUint(js, "end_record", data->end_record);
1316
13
            SCJbSetUint(js, "file_size", data->file_size);
1317
13
            SCJbSetUint(js, "created_timestamp", data->created_timestamp);
1318
13
            SCJbSetUint(js, "permission", data->permission);
1319
13
            SCJbSetUint(js, "file_id", data->file_id);
1320
13
            SCJbSetUint(js, "owner_id", data->owner_id);
1321
13
            SCJbSetUint(js, "group_id", data->group_id);
1322
13
            SCJbSetUint(js, "file_function_code", data->file_function_code);
1323
13
            SCJbSetUint(js, "status_code", data->status_code);
1324
13
            if (data->filename_size > 0) {
1325
5
                SCJbSetStringFromBytes(
1326
5
                        js, "filename", (const uint8_t *)data->filename, data->filename_size);
1327
8
            } else {
1328
8
                SCJbSetString(js, "filename", "");
1329
8
            }
1330
13
            SCJbSetUint(js, "data_size", data->data_size);
1331
13
            if (data->data_size > 0) {
1332
4
                SCJbSetStringFromBytes(
1333
4
                        js, "data", (const uint8_t *)data->data, data->data_size);
1334
9
            } else {
1335
9
                SCJbSetString(js, "data", "");
1336
9
            }
1337
13
            break;
1338
0
        }
1339
24
        case DNP3_OBJECT_CODE(70, 2): {
1340
24
            DNP3ObjectG70V2 *data = point->data;
1341
24
            SCJbSetUint(js, "username_offset", data->username_offset);
1342
24
            SCJbSetUint(js, "username_size", data->username_size);
1343
24
            SCJbSetUint(js, "password_offset", data->password_offset);
1344
24
            SCJbSetUint(js, "password_size", data->password_size);
1345
24
            SCJbSetUint(js, "authentication_key", data->authentication_key);
1346
24
            if (data->username_size > 0) {
1347
5
                SCJbSetStringFromBytes(
1348
5
                        js, "username", (const uint8_t *)data->username, data->username_size);
1349
19
            } else {
1350
19
                SCJbSetString(js, "username", "");
1351
19
            }
1352
24
            if (data->password_size > 0) {
1353
3
                SCJbSetStringFromBytes(
1354
3
                        js, "password", (const uint8_t *)data->password, data->password_size);
1355
21
            } else {
1356
21
                SCJbSetString(js, "password", "");
1357
21
            }
1358
24
            break;
1359
0
        }
1360
216
        case DNP3_OBJECT_CODE(70, 3): {
1361
216
            DNP3ObjectG70V3 *data = point->data;
1362
216
            SCJbSetUint(js, "filename_offset", data->filename_offset);
1363
216
            SCJbSetUint(js, "filename_size", data->filename_size);
1364
216
            SCJbSetUint(js, "created", data->created);
1365
216
            SCJbSetUint(js, "permissions", data->permissions);
1366
216
            SCJbSetUint(js, "authentication_key", data->authentication_key);
1367
216
            SCJbSetUint(js, "file_size", data->file_size);
1368
216
            SCJbSetUint(js, "operational_mode", data->operational_mode);
1369
216
            SCJbSetUint(js, "maximum_block_size", data->maximum_block_size);
1370
216
            SCJbSetUint(js, "request_id", data->request_id);
1371
216
            if (data->filename_size > 0) {
1372
195
                SCJbSetStringFromBytes(
1373
195
                        js, "filename", (const uint8_t *)data->filename, data->filename_size);
1374
195
            } else {
1375
21
                SCJbSetString(js, "filename", "");
1376
21
            }
1377
216
            break;
1378
0
        }
1379
2.59k
        case DNP3_OBJECT_CODE(70, 4): {
1380
2.59k
            DNP3ObjectG70V4 *data = point->data;
1381
2.59k
            SCJbSetUint(js, "file_handle", data->file_handle);
1382
2.59k
            SCJbSetUint(js, "file_size", data->file_size);
1383
2.59k
            SCJbSetUint(js, "maximum_block_size", data->maximum_block_size);
1384
2.59k
            SCJbSetUint(js, "request_id", data->request_id);
1385
2.59k
            SCJbSetUint(js, "status_code", data->status_code);
1386
2.59k
            if (data->optional_text_len > 0) {
1387
10
                SCJbSetStringFromBytes(
1388
10
                        js, "optional_text", (const uint8_t *)data->optional_text, data->optional_text_len);
1389
2.58k
            } else {
1390
2.58k
                SCJbSetString(js, "optional_text", "");
1391
2.58k
            }
1392
2.59k
            break;
1393
0
        }
1394
679
        case DNP3_OBJECT_CODE(70, 5): {
1395
679
            DNP3ObjectG70V5 *data = point->data;
1396
679
            SCJbSetUint(js, "file_handle", data->file_handle);
1397
679
            SCJbSetUint(js, "block_number", data->block_number);
1398
679
            if (data->file_data_len > 0) {
1399
16
                SCJbSetStringFromBytes(
1400
16
                        js, "file_data", (const uint8_t *)data->file_data, data->file_data_len);
1401
663
            } else {
1402
663
                SCJbSetString(js, "file_data", "");
1403
663
            }
1404
679
            break;
1405
0
        }
1406
13
        case DNP3_OBJECT_CODE(70, 6): {
1407
13
            DNP3ObjectG70V6 *data = point->data;
1408
13
            SCJbSetUint(js, "file_handle", data->file_handle);
1409
13
            SCJbSetUint(js, "block_number", data->block_number);
1410
13
            SCJbSetUint(js, "status_code", data->status_code);
1411
13
            if (data->optional_text_len > 0) {
1412
10
                SCJbSetStringFromBytes(
1413
10
                        js, "optional_text", (const uint8_t *)data->optional_text, data->optional_text_len);
1414
10
            } else {
1415
3
                SCJbSetString(js, "optional_text", "");
1416
3
            }
1417
13
            break;
1418
0
        }
1419
21
        case DNP3_OBJECT_CODE(70, 7): {
1420
21
            DNP3ObjectG70V7 *data = point->data;
1421
21
            SCJbSetUint(js, "filename_offset", data->filename_offset);
1422
21
            SCJbSetUint(js, "filename_size", data->filename_size);
1423
21
            SCJbSetUint(js, "file_type", data->file_type);
1424
21
            SCJbSetUint(js, "file_size", data->file_size);
1425
21
            SCJbSetUint(js, "created_timestamp", data->created_timestamp);
1426
21
            SCJbSetUint(js, "permissions", data->permissions);
1427
21
            SCJbSetUint(js, "request_id", data->request_id);
1428
21
            if (data->filename_size > 0) {
1429
11
                SCJbSetStringFromBytes(
1430
11
                        js, "filename", (const uint8_t *)data->filename, data->filename_size);
1431
11
            } else {
1432
10
                SCJbSetString(js, "filename", "");
1433
10
            }
1434
21
            break;
1435
0
        }
1436
9
        case DNP3_OBJECT_CODE(70, 8): {
1437
9
            DNP3ObjectG70V8 *data = point->data;
1438
9
            if (data->file_specification_len > 0) {
1439
9
                SCJbSetStringFromBytes(
1440
9
                        js, "file_specification", (const uint8_t *)data->file_specification, data->file_specification_len);
1441
9
            } else {
1442
0
                SCJbSetString(js, "file_specification", "");
1443
0
            }
1444
9
            break;
1445
0
        }
1446
6.97k
        case DNP3_OBJECT_CODE(80, 1): {
1447
6.97k
            DNP3ObjectG80V1 *data = point->data;
1448
6.97k
            SCJbSetUint(js, "state", data->state);
1449
6.97k
            break;
1450
0
        }
1451
129
        case DNP3_OBJECT_CODE(81, 1): {
1452
129
            DNP3ObjectG81V1 *data = point->data;
1453
129
            SCJbSetUint(js, "fill_percentage", data->fill_percentage);
1454
129
            SCJbSetUint(js, "overflow_state", data->overflow_state);
1455
129
            SCJbSetUint(js, "group", data->group);
1456
129
            SCJbSetUint(js, "variation", data->variation);
1457
129
            break;
1458
0
        }
1459
37
        case DNP3_OBJECT_CODE(83, 1): {
1460
37
            DNP3ObjectG83V1 *data = point->data;
1461
37
            SCJbSetString(js, "data->vendor_code", data->vendor_code);
1462
37
            SCJbSetUint(js, "object_id", data->object_id);
1463
37
            SCJbSetUint(js, "length", data->length);
1464
37
            SCJbSetBase64(js, "data->data_objects", data->data_objects, data->length);
1465
37
            break;
1466
0
        }
1467
273
        case DNP3_OBJECT_CODE(86, 2): {
1468
273
            DNP3ObjectG86V2 *data = point->data;
1469
273
            SCJbSetUint(js, "rd", data->rd);
1470
273
            SCJbSetUint(js, "wr", data->wr);
1471
273
            SCJbSetUint(js, "st", data->st);
1472
273
            SCJbSetUint(js, "ev", data->ev);
1473
273
            SCJbSetUint(js, "df", data->df);
1474
273
            SCJbSetUint(js, "padding0", data->padding0);
1475
273
            SCJbSetUint(js, "padding1", data->padding1);
1476
273
            SCJbSetUint(js, "padding2", data->padding2);
1477
273
            break;
1478
0
        }
1479
544
        case DNP3_OBJECT_CODE(102, 1): {
1480
544
            DNP3ObjectG102V1 *data = point->data;
1481
544
            SCJbSetUint(js, "value", data->value);
1482
544
            break;
1483
0
        }
1484
3
        case DNP3_OBJECT_CODE(120, 1): {
1485
3
            DNP3ObjectG120V1 *data = point->data;
1486
3
            SCJbSetUint(js, "csq", data->csq);
1487
3
            SCJbSetUint(js, "usr", data->usr);
1488
3
            SCJbSetUint(js, "mal", data->mal);
1489
3
            SCJbSetUint(js, "reason", data->reason);
1490
3
            SCJbSetBase64(js, "data->challenge_data", data->challenge_data, data->challenge_data_len);
1491
3
            break;
1492
0
        }
1493
4
        case DNP3_OBJECT_CODE(120, 2): {
1494
4
            DNP3ObjectG120V2 *data = point->data;
1495
4
            SCJbSetUint(js, "csq", data->csq);
1496
4
            SCJbSetUint(js, "usr", data->usr);
1497
4
            SCJbSetBase64(js, "data->mac_value", data->mac_value, data->mac_value_len);
1498
4
            break;
1499
0
        }
1500
18
        case DNP3_OBJECT_CODE(120, 3): {
1501
18
            DNP3ObjectG120V3 *data = point->data;
1502
18
            SCJbSetUint(js, "csq", data->csq);
1503
18
            SCJbSetUint(js, "user_number", data->user_number);
1504
18
            break;
1505
0
        }
1506
124
        case DNP3_OBJECT_CODE(120, 4): {
1507
124
            DNP3ObjectG120V4 *data = point->data;
1508
124
            SCJbSetUint(js, "user_number", data->user_number);
1509
124
            break;
1510
0
        }
1511
0
        case DNP3_OBJECT_CODE(120, 5): {
1512
0
            DNP3ObjectG120V5 *data = point->data;
1513
0
            SCJbSetUint(js, "ksq", data->ksq);
1514
0
            SCJbSetUint(js, "user_number", data->user_number);
1515
0
            SCJbSetUint(js, "key_wrap_alg", data->key_wrap_alg);
1516
0
            SCJbSetUint(js, "key_status", data->key_status);
1517
0
            SCJbSetUint(js, "mal", data->mal);
1518
0
            SCJbSetUint(js, "challenge_data_len", data->challenge_data_len);
1519
0
            SCJbSetBase64(js, "data->challenge_data", data->challenge_data, data->challenge_data_len);
1520
0
            SCJbSetBase64(js, "data->mac_value", data->mac_value, data->mac_value_len);
1521
0
            break;
1522
0
        }
1523
13
        case DNP3_OBJECT_CODE(120, 6): {
1524
13
            DNP3ObjectG120V6 *data = point->data;
1525
13
            SCJbSetUint(js, "ksq", data->ksq);
1526
13
            SCJbSetUint(js, "usr", data->usr);
1527
13
            SCJbSetBase64(js, "data->wrapped_key_data", data->wrapped_key_data, data->wrapped_key_data_len);
1528
13
            break;
1529
0
        }
1530
10
        case DNP3_OBJECT_CODE(120, 7): {
1531
10
            DNP3ObjectG120V7 *data = point->data;
1532
10
            SCJbSetUint(js, "sequence_number", data->sequence_number);
1533
10
            SCJbSetUint(js, "usr", data->usr);
1534
10
            SCJbSetUint(js, "association_id", data->association_id);
1535
10
            SCJbSetUint(js, "error_code", data->error_code);
1536
10
            SCJbSetUint(js, "time_of_error", data->time_of_error);
1537
10
            if (data->error_text_len > 0) {
1538
10
                SCJbSetStringFromBytes(
1539
10
                        js, "error_text", (const uint8_t *)data->error_text, data->error_text_len);
1540
10
            } else {
1541
0
                SCJbSetString(js, "error_text", "");
1542
0
            }
1543
10
            break;
1544
0
        }
1545
9
        case DNP3_OBJECT_CODE(120, 8): {
1546
9
            DNP3ObjectG120V8 *data = point->data;
1547
9
            SCJbSetUint(js, "key_change_method", data->key_change_method);
1548
9
            SCJbSetUint(js, "certificate_type", data->certificate_type);
1549
9
            SCJbSetBase64(js, "data->certificate", data->certificate, data->certificate_len);
1550
9
            break;
1551
0
        }
1552
63
        case DNP3_OBJECT_CODE(120, 9): {
1553
63
            DNP3ObjectG120V9 *data = point->data;
1554
63
            SCJbSetBase64(js, "data->mac_value", data->mac_value, data->mac_value_len);
1555
63
            break;
1556
0
        }
1557
7
        case DNP3_OBJECT_CODE(120, 10): {
1558
7
            DNP3ObjectG120V10 *data = point->data;
1559
7
            SCJbSetUint(js, "key_change_method", data->key_change_method);
1560
7
            SCJbSetUint(js, "operation", data->operation);
1561
7
            SCJbSetUint(js, "scs", data->scs);
1562
7
            SCJbSetUint(js, "user_role", data->user_role);
1563
7
            SCJbSetUint(js, "user_role_expiry_interval", data->user_role_expiry_interval);
1564
7
            SCJbSetUint(js, "username_len", data->username_len);
1565
7
            SCJbSetUint(js, "user_public_key_len", data->user_public_key_len);
1566
7
            SCJbSetUint(js, "certification_data_len", data->certification_data_len);
1567
7
            if (data->username_len > 0) {
1568
0
                SCJbSetStringFromBytes(
1569
0
                        js, "username", (const uint8_t *)data->username, data->username_len);
1570
7
            } else {
1571
7
                SCJbSetString(js, "username", "");
1572
7
            }
1573
7
            SCJbSetBase64(js, "data->user_public_key", data->user_public_key, data->user_public_key_len);
1574
7
            SCJbSetBase64(js, "data->certification_data", data->certification_data, data->certification_data_len);
1575
7
            break;
1576
0
        }
1577
73
        case DNP3_OBJECT_CODE(120, 11): {
1578
73
            DNP3ObjectG120V11 *data = point->data;
1579
73
            SCJbSetUint(js, "key_change_method", data->key_change_method);
1580
73
            SCJbSetUint(js, "username_len", data->username_len);
1581
73
            SCJbSetUint(js, "master_challenge_data_len", data->master_challenge_data_len);
1582
73
            if (data->username_len > 0) {
1583
12
                SCJbSetStringFromBytes(
1584
12
                        js, "username", (const uint8_t *)data->username, data->username_len);
1585
61
            } else {
1586
61
                SCJbSetString(js, "username", "");
1587
61
            }
1588
73
            SCJbSetBase64(js, "data->master_challenge_data", data->master_challenge_data, data->master_challenge_data_len);
1589
73
            break;
1590
0
        }
1591
156
        case DNP3_OBJECT_CODE(120, 12): {
1592
156
            DNP3ObjectG120V12 *data = point->data;
1593
156
            SCJbSetUint(js, "ksq", data->ksq);
1594
156
            SCJbSetUint(js, "user_number", data->user_number);
1595
156
            SCJbSetUint(js, "challenge_data_len", data->challenge_data_len);
1596
156
            SCJbSetBase64(js, "data->challenge_data", data->challenge_data, data->challenge_data_len);
1597
156
            break;
1598
0
        }
1599
2
        case DNP3_OBJECT_CODE(120, 13): {
1600
2
            DNP3ObjectG120V13 *data = point->data;
1601
2
            SCJbSetUint(js, "ksq", data->ksq);
1602
2
            SCJbSetUint(js, "user_number", data->user_number);
1603
2
            SCJbSetUint(js, "encrypted_update_key_len", data->encrypted_update_key_len);
1604
2
            SCJbSetBase64(js, "data->encrypted_update_key_data", data->encrypted_update_key_data, data->encrypted_update_key_len);
1605
2
            break;
1606
0
        }
1607
48
        case DNP3_OBJECT_CODE(120, 14): {
1608
48
            DNP3ObjectG120V14 *data = point->data;
1609
48
            SCJbSetBase64(js, "data->digital_signature", data->digital_signature, data->digital_signature_len);
1610
48
            break;
1611
0
        }
1612
66
        case DNP3_OBJECT_CODE(120, 15): {
1613
66
            DNP3ObjectG120V15 *data = point->data;
1614
66
            SCJbSetBase64(js, "data->mac", data->mac, data->mac_len);
1615
66
            break;
1616
0
        }
1617
51
        case DNP3_OBJECT_CODE(121, 1): {
1618
51
            DNP3ObjectG121V1 *data = point->data;
1619
51
            SCJbSetUint(js, "online", data->online);
1620
51
            SCJbSetUint(js, "restart", data->restart);
1621
51
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1622
51
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1623
51
            SCJbSetUint(js, "local_forced", data->local_forced);
1624
51
            SCJbSetUint(js, "reserved0", data->reserved0);
1625
51
            SCJbSetUint(js, "discontinuity", data->discontinuity);
1626
51
            SCJbSetUint(js, "reserved1", data->reserved1);
1627
51
            SCJbSetUint(js, "association_id", data->association_id);
1628
51
            SCJbSetUint(js, "count_value", data->count_value);
1629
51
            break;
1630
0
        }
1631
124
        case DNP3_OBJECT_CODE(122, 1): {
1632
124
            DNP3ObjectG122V1 *data = point->data;
1633
124
            SCJbSetUint(js, "online", data->online);
1634
124
            SCJbSetUint(js, "restart", data->restart);
1635
124
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1636
124
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1637
124
            SCJbSetUint(js, "local_forced", data->local_forced);
1638
124
            SCJbSetUint(js, "reserved0", data->reserved0);
1639
124
            SCJbSetUint(js, "discontinuity", data->discontinuity);
1640
124
            SCJbSetUint(js, "reserved1", data->reserved1);
1641
124
            SCJbSetUint(js, "association_id", data->association_id);
1642
124
            SCJbSetUint(js, "count_value", data->count_value);
1643
124
            break;
1644
0
        }
1645
72
        case DNP3_OBJECT_CODE(122, 2): {
1646
72
            DNP3ObjectG122V2 *data = point->data;
1647
72
            SCJbSetUint(js, "online", data->online);
1648
72
            SCJbSetUint(js, "restart", data->restart);
1649
72
            SCJbSetUint(js, "comm_lost", data->comm_lost);
1650
72
            SCJbSetUint(js, "remote_forced", data->remote_forced);
1651
72
            SCJbSetUint(js, "local_forced", data->local_forced);
1652
72
            SCJbSetUint(js, "reserved0", data->reserved0);
1653
72
            SCJbSetUint(js, "discontinuity", data->discontinuity);
1654
72
            SCJbSetUint(js, "reserved1", data->reserved1);
1655
72
            SCJbSetUint(js, "association_id", data->association_id);
1656
72
            SCJbSetUint(js, "count_value", data->count_value);
1657
72
            SCJbSetUint(js, "timestamp", data->timestamp);
1658
72
            break;
1659
0
        }
1660
0
        default:
1661
0
            SCLogDebug("Unknown object: %d:%d", object->group,
1662
0
                object->variation);
1663
0
            break;
1664
301k
    }
1665
1666
301k
}
1667
// clang-format on