suricata
app-layer-dnp3-objects.h
Go to the documentation of this file.
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 * \file
20 *
21 * \author Jason Ish <jason.ish@oisf.net>
22 *
23 * This file contains the types (definitions) of the DNP3 objects.
24 */
25
26#ifndef SURICATA_APP_LAYER_DNP3_OBJECTS_H
27#define SURICATA_APP_LAYER_DNP3_OBJECTS_H
28
29#define DNP3_OBJECT_CODE(group, variation) (group << 8 | variation)
30
31/* START GENERATED CODE */
32
33/* Code generated by:
34 * ./scripts/dnp3-gen/dnp3-gen.py
35 */
36
37typedef struct DNP3ObjectG1V1_ {
38 uint8_t state;
40
41typedef struct DNP3ObjectG1V2_ {
42 uint8_t online:1;
43 uint8_t restart:1;
44 uint8_t comm_lost:1;
45 uint8_t remote_forced:1;
46 uint8_t local_forced:1;
47 uint8_t chatter_filter:1;
48 uint8_t reserved:1;
49 uint8_t state:1;
51
52typedef struct DNP3ObjectG2V1_ {
53 uint8_t state;
55
56typedef struct DNP3ObjectG2V2_ {
57 uint8_t online:1;
58 uint8_t restart:1;
59 uint8_t comm_lost:1;
60 uint8_t remote_forced:1;
61 uint8_t local_forced:1;
62 uint8_t chatter_filter:1;
63 uint8_t reserved:1;
64 uint8_t state:1;
65 uint64_t timestamp;
67
68typedef struct DNP3ObjectG2V3_ {
69 uint8_t online:1;
70 uint8_t restart:1;
71 uint8_t comm_lost:1;
72 uint8_t remote_forced:1;
73 uint8_t local_forced:1;
74 uint8_t chatter_filter:1;
75 uint8_t reserved:1;
76 uint8_t state:1;
77 uint16_t timestamp;
79
80typedef struct DNP3ObjectG3V1_ {
81 uint8_t state;
83
84typedef struct DNP3ObjectG3V2_ {
85 uint8_t online:1;
86 uint8_t restart:1;
87 uint8_t comm_lost:1;
88 uint8_t remote_forced:1;
89 uint8_t local_forced:1;
90 uint8_t chatter_filter:1;
91 uint8_t state:2;
93
94typedef struct DNP3ObjectG4V1_ {
95 uint8_t online:1;
96 uint8_t restart:1;
97 uint8_t comm_lost:1;
98 uint8_t remote_forced:1;
99 uint8_t local_forced:1;
100 uint8_t chatter_filter:1;
101 uint8_t state:2;
103
104typedef struct DNP3ObjectG4V2_ {
105 uint8_t online:1;
106 uint8_t restart:1;
107 uint8_t comm_lost:1;
108 uint8_t remote_forced:1;
109 uint8_t local_forced:1;
110 uint8_t chatter_filter:1;
111 uint8_t state:2;
112 uint64_t timestamp;
114
115typedef struct DNP3ObjectG4V3_ {
116 uint8_t online:1;
117 uint8_t restart:1;
118 uint8_t comm_lost:1;
119 uint8_t remote_forced:1;
120 uint8_t local_forced:1;
121 uint8_t chatter_filter:1;
122 uint8_t state:2;
125
129
130typedef struct DNP3ObjectG10V2_ {
131 uint8_t online:1;
132 uint8_t restart:1;
133 uint8_t comm_lost:1;
134 uint8_t remote_forced:1;
135 uint8_t local_forced:1;
136 uint8_t reserved0:1;
137 uint8_t reserved1:1;
138 uint8_t state:1;
140
141typedef struct DNP3ObjectG11V1_ {
142 uint8_t online:1;
143 uint8_t restart:1;
144 uint8_t comm_lost:1;
145 uint8_t remote_forced:1;
146 uint8_t local_forced:1;
147 uint8_t reserved0:1;
148 uint8_t reserved1:1;
149 uint8_t state:1;
151
152typedef struct DNP3ObjectG11V2_ {
153 uint8_t online:1;
154 uint8_t restart:1;
155 uint8_t comm_lost:1;
156 uint8_t remote_forced:1;
157 uint8_t local_forced:1;
158 uint8_t reserved0:1;
159 uint8_t reserved1:1;
160 uint8_t state:1;
161 uint64_t timestamp;
163
164typedef struct DNP3ObjectG12V1_ {
165 uint8_t op_type:4;
166 uint8_t qu:1;
167 uint8_t cr:1;
168 uint8_t tcc:2;
169 uint8_t count;
170 uint32_t ontime;
171 uint32_t offtime;
172 uint8_t status_code:7;
173 uint8_t reserved:1;
175
176typedef struct DNP3ObjectG12V2_ {
177 uint8_t op_type:4;
178 uint8_t qu:1;
179 uint8_t cr:1;
180 uint8_t tcc:2;
181 uint8_t count;
182 uint32_t ontime;
183 uint32_t offtime;
184 uint8_t status_code:7;
185 uint8_t reserved:1;
187
191
196
202
203typedef struct DNP3ObjectG20V1_ {
204 uint8_t online:1;
205 uint8_t restart:1;
206 uint8_t comm_lost:1;
207 uint8_t remote_forced:1;
208 uint8_t local_forced:1;
209 uint8_t rollover:1;
210 uint8_t discontinuity:1;
211 uint8_t reserved0:1;
212 uint32_t count;
214
215typedef struct DNP3ObjectG20V2_ {
216 uint8_t online:1;
217 uint8_t restart:1;
218 uint8_t comm_lost:1;
219 uint8_t remote_forced:1;
220 uint8_t local_forced:1;
221 uint8_t rollover:1;
222 uint8_t discontinuity:1;
223 uint8_t reserved0:1;
224 uint16_t count;
226
227typedef struct DNP3ObjectG20V3_ {
228 uint8_t online:1;
229 uint8_t restart:1;
230 uint8_t comm_lost:1;
231 uint8_t remote_forced:1;
232 uint8_t local_forced:1;
233 uint8_t rollover:1;
234 uint8_t reserved0:1;
235 uint8_t reserved1:1;
236 uint32_t count;
238
239typedef struct DNP3ObjectG20V4_ {
240 uint8_t online:1;
241 uint8_t restart:1;
242 uint8_t comm_lost:1;
243 uint8_t remote_forced:1;
244 uint8_t local_forced:1;
245 uint8_t rollover:1;
246 uint8_t reserved0:1;
247 uint8_t reserved1:1;
248 uint16_t count;
250
251typedef struct DNP3ObjectG20V5_ {
252 uint32_t count;
254
255typedef struct DNP3ObjectG20V6_ {
256 uint16_t count;
258
259typedef struct DNP3ObjectG20V7_ {
260 uint32_t count;
262
263typedef struct DNP3ObjectG20V8_ {
264 uint16_t count;
266
267typedef struct DNP3ObjectG21V1_ {
268 uint8_t online:1;
269 uint8_t restart:1;
270 uint8_t comm_lost:1;
271 uint8_t remote_forced:1;
272 uint8_t local_forced:1;
273 uint8_t rollover:1;
274 uint8_t discontinuity:1;
275 uint8_t reserved0:1;
276 uint32_t count;
278
279typedef struct DNP3ObjectG21V2_ {
280 uint8_t online:1;
281 uint8_t restart:1;
282 uint8_t comm_lost:1;
283 uint8_t remote_forced:1;
284 uint8_t local_forced:1;
285 uint8_t rollover:1;
286 uint8_t discontinuity:1;
287 uint8_t reserved0:1;
288 uint16_t count;
290
291typedef struct DNP3ObjectG21V3_ {
292 uint8_t online:1;
293 uint8_t restart:1;
294 uint8_t comm_lost:1;
295 uint8_t remote_forced:1;
296 uint8_t local_forced:1;
297 uint8_t rollover:1;
298 uint8_t reserved0:1;
299 uint8_t reserved1:1;
300 uint32_t count;
302
303typedef struct DNP3ObjectG21V4_ {
304 uint8_t online:1;
305 uint8_t restart:1;
306 uint8_t comm_lost:1;
307 uint8_t remote_forced:1;
308 uint8_t local_forced:1;
309 uint8_t rollover:1;
310 uint8_t reserved0:1;
311 uint8_t reserved1:1;
312 uint16_t count;
314
315typedef struct DNP3ObjectG21V5_ {
316 uint8_t online:1;
317 uint8_t restart:1;
318 uint8_t comm_lost:1;
319 uint8_t remote_forced:1;
320 uint8_t local_forced:1;
321 uint8_t rollover:1;
322 uint8_t discontinuity:1;
323 uint8_t reserved1:1;
324 uint32_t count;
325 uint64_t timestamp;
327
328typedef struct DNP3ObjectG21V6_ {
329 uint8_t online:1;
330 uint8_t restart:1;
331 uint8_t comm_lost:1;
332 uint8_t remote_forced:1;
333 uint8_t local_forced:1;
334 uint8_t rollover:1;
335 uint8_t discontinuity:1;
336 uint8_t reserved1:1;
337 uint16_t count;
338 uint64_t timestamp;
340
341typedef struct DNP3ObjectG21V7_ {
342 uint8_t online:1;
343 uint8_t restart:1;
344 uint8_t comm_lost:1;
345 uint8_t remote_forced:1;
346 uint8_t local_forced:1;
347 uint8_t rollover:1;
348 uint8_t reserved0:1;
349 uint8_t reserved1:1;
350 uint32_t count;
351 uint64_t timestamp;
353
354typedef struct DNP3ObjectG21V8_ {
355 uint8_t online:1;
356 uint8_t restart:1;
357 uint8_t comm_lost:1;
358 uint8_t remote_forced:1;
359 uint8_t local_forced:1;
360 uint8_t rollover:1;
361 uint8_t reserved0:1;
362 uint8_t reserved1:1;
363 uint16_t count;
364 uint64_t timestamp;
366
367typedef struct DNP3ObjectG21V9_ {
368 uint32_t count;
370
374
378
382
383typedef struct DNP3ObjectG22V1_ {
384 uint8_t online:1;
385 uint8_t restart:1;
386 uint8_t comm_lost:1;
387 uint8_t remote_forced:1;
388 uint8_t local_forced:1;
389 uint8_t rollover:1;
390 uint8_t discontinuity:1;
391 uint8_t reserved0:1;
392 uint32_t count;
394
395typedef struct DNP3ObjectG22V2_ {
396 uint8_t online:1;
397 uint8_t restart:1;
398 uint8_t comm_lost:1;
399 uint8_t remote_forced:1;
400 uint8_t local_forced:1;
401 uint8_t rollover:1;
402 uint8_t discontinuity:1;
403 uint8_t reserved0:1;
404 uint16_t count;
406
407typedef struct DNP3ObjectG22V3_ {
408 uint8_t online:1;
409 uint8_t restart:1;
410 uint8_t comm_lost:1;
411 uint8_t remote_forced:1;
412 uint8_t local_forced:1;
413 uint8_t rollover:1;
414 uint8_t reserved0:1;
415 uint8_t reserved1:1;
416 uint32_t count;
418
419typedef struct DNP3ObjectG22V4_ {
420 uint8_t online:1;
421 uint8_t restart:1;
422 uint8_t comm_lost:1;
423 uint8_t remote_forced:1;
424 uint8_t local_forced:1;
425 uint8_t rollover:1;
426 uint8_t reserved0:1;
427 uint8_t reserved1:1;
428 uint16_t count;
430
431typedef struct DNP3ObjectG22V5_ {
432 uint8_t online:1;
433 uint8_t restart:1;
434 uint8_t comm_lost:1;
435 uint8_t remote_forced:1;
436 uint8_t local_forced:1;
437 uint8_t rollover:1;
438 uint8_t reserved0:1;
439 uint8_t reserved1:1;
440 uint32_t count;
441 uint64_t timestamp;
443
444typedef struct DNP3ObjectG22V6_ {
445 uint8_t online:1;
446 uint8_t restart:1;
447 uint8_t comm_lost:1;
448 uint8_t remote_forced:1;
449 uint8_t local_forced:1;
450 uint8_t rollover:1;
451 uint8_t discontinuity:1;
452 uint8_t reserved0:1;
453 uint16_t count;
454 uint64_t timestamp;
456
457typedef struct DNP3ObjectG22V7_ {
458 uint8_t online:1;
459 uint8_t restart:1;
460 uint8_t comm_lost:1;
461 uint8_t remote_forced:1;
462 uint8_t local_forced:1;
463 uint8_t rollover:1;
464 uint8_t reserved0:1;
465 uint8_t reserved1:1;
466 uint32_t count;
467 uint64_t timestamp;
469
470typedef struct DNP3ObjectG22V8_ {
471 uint8_t online:1;
472 uint8_t restart:1;
473 uint8_t comm_lost:1;
474 uint8_t remote_forced:1;
475 uint8_t local_forced:1;
476 uint8_t rollover:1;
477 uint8_t reserved0:1;
478 uint8_t reserved1:1;
479 uint16_t count;
480 uint64_t timestamp;
482
483typedef struct DNP3ObjectG23V1_ {
484 uint8_t online:1;
485 uint8_t restart:1;
486 uint8_t comm_lost:1;
487 uint8_t remote_forced:1;
488 uint8_t local_forced:1;
489 uint8_t rollover:1;
490 uint8_t discontinuity:1;
491 uint8_t reserved0:1;
492 uint32_t count;
494
495typedef struct DNP3ObjectG23V2_ {
496 uint8_t online:1;
497 uint8_t restart:1;
498 uint8_t comm_lost:1;
499 uint8_t remote_forced:1;
500 uint8_t local_forced:1;
501 uint8_t rollover:1;
502 uint8_t reserved0:1;
503 uint8_t reserved1:1;
504 uint16_t count;
506
507typedef struct DNP3ObjectG23V3_ {
508 uint8_t online:1;
509 uint8_t restart:1;
510 uint8_t comm_lost:1;
511 uint8_t remote_forced:1;
512 uint8_t local_forced:1;
513 uint8_t rollover:1;
514 uint8_t reserved0:1;
515 uint8_t reserved1:1;
516 uint32_t count;
518
519typedef struct DNP3ObjectG23V4_ {
520 uint8_t online:1;
521 uint8_t restart:1;
522 uint8_t comm_lost:1;
523 uint8_t remote_forced:1;
524 uint8_t local_forced:1;
525 uint8_t rollover:1;
526 uint8_t reserved0:1;
527 uint8_t reserved1:1;
528 uint16_t count;
530
531typedef struct DNP3ObjectG23V5_ {
532 uint8_t online:1;
533 uint8_t restart:1;
534 uint8_t comm_lost:1;
535 uint8_t remote_forced:1;
536 uint8_t local_forced:1;
537 uint8_t rollover:1;
538 uint8_t discontinuity:1;
539 uint8_t reserved0:1;
540 uint32_t count;
541 uint64_t timestamp;
543
544typedef struct DNP3ObjectG23V6_ {
545 uint8_t online:1;
546 uint8_t restart:1;
547 uint8_t comm_lost:1;
548 uint8_t remote_forced:1;
549 uint8_t local_forced:1;
550 uint8_t rollover:1;
551 uint8_t discontinuity:1;
552 uint8_t reserved0:1;
553 uint16_t count;
554 uint64_t timestamp;
556
557typedef struct DNP3ObjectG23V7_ {
558 uint8_t online:1;
559 uint8_t restart:1;
560 uint8_t comm_lost:1;
561 uint8_t remote_forced:1;
562 uint8_t local_forced:1;
563 uint8_t rollover:1;
564 uint8_t reserved0:1;
565 uint8_t reserved1:1;
566 uint32_t count;
567 uint64_t timestamp;
569
570typedef struct DNP3ObjectG23V8_ {
571 uint8_t online:1;
572 uint8_t restart:1;
573 uint8_t comm_lost:1;
574 uint8_t remote_forced:1;
575 uint8_t local_forced:1;
576 uint8_t rollover:1;
577 uint8_t reserved0:1;
578 uint8_t reserved1:1;
579 uint16_t count;
580 uint64_t timestamp;
582
583typedef struct DNP3ObjectG30V1_ {
584 uint8_t online:1;
585 uint8_t restart:1;
586 uint8_t comm_lost:1;
587 uint8_t remote_forced:1;
588 uint8_t local_forced:1;
589 uint8_t over_range:1;
590 uint8_t reference_err:1;
591 uint8_t reserved0:1;
592 int32_t value;
594
595typedef struct DNP3ObjectG30V2_ {
596 uint8_t online:1;
597 uint8_t restart:1;
598 uint8_t comm_lost:1;
599 uint8_t remote_forced:1;
600 uint8_t local_forced:1;
601 uint8_t over_range:1;
602 uint8_t reference_err:1;
603 uint8_t reserved0:1;
604 int16_t value;
606
610
614
615typedef struct DNP3ObjectG30V5_ {
616 uint8_t online:1;
617 uint8_t restart:1;
618 uint8_t comm_lost:1;
619 uint8_t remote_forced:1;
620 uint8_t local_forced:1;
621 uint8_t over_range:1;
622 uint8_t reference_err:1;
623 uint8_t reserved0:1;
624 float value;
626
627typedef struct DNP3ObjectG30V6_ {
628 uint8_t online:1;
629 uint8_t restart:1;
630 uint8_t comm_lost:1;
631 uint8_t remote_forced:1;
632 uint8_t local_forced:1;
633 uint8_t over_range:1;
634 uint8_t reference_err:1;
635 uint8_t reserved0:1;
636 double value;
638
639typedef struct DNP3ObjectG31V1_ {
640 uint8_t online:1;
641 uint8_t restart:1;
642 uint8_t comm_lost:1;
643 uint8_t remote_forced:1;
644 uint8_t local_forced:1;
645 uint8_t over_range:1;
646 uint8_t reference_err:1;
647 uint8_t reserved0:1;
648 int32_t value;
650
651typedef struct DNP3ObjectG31V2_ {
652 uint8_t online:1;
653 uint8_t restart:1;
654 uint8_t comm_lost:1;
655 uint8_t remote_forced:1;
656 uint8_t local_forced:1;
657 uint8_t over_range:1;
658 uint8_t reference_err:1;
659 uint8_t reserved0:1;
660 int16_t value;
662
663typedef struct DNP3ObjectG31V3_ {
664 uint8_t online:1;
665 uint8_t restart:1;
666 uint8_t comm_lost:1;
667 uint8_t remote_forced:1;
668 uint8_t local_forced:1;
669 uint8_t over_range:1;
670 uint8_t reference_err:1;
671 uint8_t reserved0:1;
672 int32_t value;
673 uint64_t timestamp;
675
676typedef struct DNP3ObjectG31V4_ {
677 uint8_t online:1;
678 uint8_t restart:1;
679 uint8_t comm_lost:1;
680 uint8_t remote_forced:1;
681 uint8_t local_forced:1;
682 uint8_t over_range:1;
683 uint8_t reference_err:1;
684 uint8_t reserved0:1;
685 int16_t value;
686 uint64_t timestamp;
688
692
696
697typedef struct DNP3ObjectG31V7_ {
698 uint8_t online:1;
699 uint8_t restart:1;
700 uint8_t comm_lost:1;
701 uint8_t remote_forced:1;
702 uint8_t local_forced:1;
703 uint8_t over_range:1;
704 uint8_t reference_err:1;
705 uint8_t reserved0:1;
706 float value;
708
709typedef struct DNP3ObjectG31V8_ {
710 uint8_t online:1;
711 uint8_t restart:1;
712 uint8_t comm_lost:1;
713 uint8_t remote_forced:1;
714 uint8_t local_forced:1;
715 uint8_t over_range:1;
716 uint8_t reference_err:1;
717 uint8_t reserved0:1;
718 double value;
720
721typedef struct DNP3ObjectG32V1_ {
722 uint8_t online:1;
723 uint8_t restart:1;
724 uint8_t comm_lost:1;
725 uint8_t remote_forced:1;
726 uint8_t local_forced:1;
727 uint8_t over_range:1;
728 uint8_t reference_err:1;
729 uint8_t reserved0:1;
730 int32_t value;
732
733typedef struct DNP3ObjectG32V2_ {
734 uint8_t online:1;
735 uint8_t restart:1;
736 uint8_t comm_lost:1;
737 uint8_t remote_forced:1;
738 uint8_t local_forced:1;
739 uint8_t over_range:1;
740 uint8_t reference_err:1;
741 uint8_t reserved0:1;
742 int16_t value;
744
745typedef struct DNP3ObjectG32V3_ {
746 uint8_t online:1;
747 uint8_t restart:1;
748 uint8_t comm_lost:1;
749 uint8_t remote_forced:1;
750 uint8_t local_forced:1;
751 uint8_t over_range:1;
752 uint8_t reference_err:1;
753 uint8_t reserved0:1;
754 int32_t value;
755 uint64_t timestamp;
757
758typedef struct DNP3ObjectG32V4_ {
759 uint8_t online:1;
760 uint8_t restart:1;
761 uint8_t comm_lost:1;
762 uint8_t remote_forced:1;
763 uint8_t local_forced:1;
764 uint8_t over_range:1;
765 uint8_t reference_err:1;
766 uint8_t reserved0:1;
767 int16_t value;
768 uint64_t timestamp;
770
771typedef struct DNP3ObjectG32V5_ {
772 uint8_t online:1;
773 uint8_t restart:1;
774 uint8_t comm_lost:1;
775 uint8_t remote_forced:1;
776 uint8_t local_forced:1;
777 uint8_t over_range:1;
778 uint8_t reference_err:1;
779 uint8_t reserved0:1;
780 float value;
782
783typedef struct DNP3ObjectG32V6_ {
784 uint8_t online:1;
785 uint8_t restart:1;
786 uint8_t comm_lost:1;
787 uint8_t remote_forced:1;
788 uint8_t local_forced:1;
789 uint8_t over_range:1;
790 uint8_t reference_err:1;
791 uint8_t reserved0:1;
792 double value;
794
795typedef struct DNP3ObjectG32V7_ {
796 uint8_t online:1;
797 uint8_t restart:1;
798 uint8_t comm_lost:1;
799 uint8_t remote_forced:1;
800 uint8_t local_forced:1;
801 uint8_t over_range:1;
802 uint8_t reference_err:1;
803 uint8_t reserved0:1;
804 float value;
805 uint64_t timestamp;
807
808typedef struct DNP3ObjectG32V8_ {
809 uint8_t online:1;
810 uint8_t restart:1;
811 uint8_t comm_lost:1;
812 uint8_t remote_forced:1;
813 uint8_t local_forced:1;
814 uint8_t over_range:1;
815 uint8_t reference_err:1;
816 uint8_t reserved0:1;
817 double value;
818 uint64_t timestamp;
820
821typedef struct DNP3ObjectG33V1_ {
822 uint8_t online:1;
823 uint8_t restart:1;
824 uint8_t comm_lost:1;
825 uint8_t remote_forced:1;
826 uint8_t local_forced:1;
827 uint8_t over_range:1;
828 uint8_t reference_err:1;
829 uint8_t reserved0:1;
830 int32_t value;
832
833typedef struct DNP3ObjectG33V2_ {
834 uint8_t online:1;
835 uint8_t restart:1;
836 uint8_t comm_lost:1;
837 uint8_t remote_forced:1;
838 uint8_t local_forced:1;
839 uint8_t over_range:1;
840 uint8_t reference_err:1;
841 uint8_t reserved0:1;
842 int16_t value;
844
845typedef struct DNP3ObjectG33V3_ {
846 uint8_t online:1;
847 uint8_t restart:1;
848 uint8_t comm_lost:1;
849 uint8_t remote_forced:1;
850 uint8_t local_forced:1;
851 uint8_t over_range:1;
852 uint8_t reference_err:1;
853 uint8_t reserved0:1;
854 int32_t value;
855 uint64_t timestamp;
857
858typedef struct DNP3ObjectG33V4_ {
859 uint8_t online:1;
860 uint8_t restart:1;
861 uint8_t comm_lost:1;
862 uint8_t remote_forced:1;
863 uint8_t local_forced:1;
864 uint8_t over_range:1;
865 uint8_t reference_err:1;
866 uint8_t reserved0:1;
867 int16_t value;
868 uint64_t timestamp;
870
871typedef struct DNP3ObjectG33V5_ {
872 uint8_t online:1;
873 uint8_t restart:1;
874 uint8_t comm_lost:1;
875 uint8_t remote_forced:1;
876 uint8_t local_forced:1;
877 uint8_t over_range:1;
878 uint8_t reference_err:1;
879 uint8_t reserved0:1;
880 float value;
882
883typedef struct DNP3ObjectG33V6_ {
884 uint8_t online:1;
885 uint8_t restart:1;
886 uint8_t comm_lost:1;
887 uint8_t remote_forced:1;
888 uint8_t local_forced:1;
889 uint8_t over_range:1;
890 uint8_t reference_err:1;
891 uint8_t reserved0:1;
892 double value;
894
895typedef struct DNP3ObjectG33V7_ {
896 uint8_t online:1;
897 uint8_t restart:1;
898 uint8_t comm_lost:1;
899 uint8_t remote_forced:1;
900 uint8_t local_forced:1;
901 uint8_t over_range:1;
902 uint8_t reference_err:1;
903 uint8_t reserved0:1;
904 float value;
905 uint64_t timestamp;
907
908typedef struct DNP3ObjectG33V8_ {
909 uint8_t online:1;
910 uint8_t restart:1;
911 uint8_t comm_lost:1;
912 uint8_t remote_forced:1;
913 uint8_t local_forced:1;
914 uint8_t over_range:1;
915 uint8_t reference_err:1;
916 uint8_t reserved0:1;
917 double value;
918 uint64_t timestamp;
920
924
928
932
933typedef struct DNP3ObjectG40V1_ {
934 uint8_t online:1;
935 uint8_t restart:1;
936 uint8_t comm_lost:1;
937 uint8_t remote_forced:1;
938 uint8_t local_forced:1;
939 uint8_t over_range:1;
940 uint8_t reference_err:1;
941 uint8_t reserved0:1;
942 int32_t value;
944
945typedef struct DNP3ObjectG40V2_ {
946 uint8_t online:1;
947 uint8_t restart:1;
948 uint8_t comm_lost:1;
949 uint8_t remote_forced:1;
950 uint8_t local_forced:1;
951 uint8_t over_range:1;
952 uint8_t reference_err:1;
953 uint8_t reserved0:1;
954 int16_t value;
956
957typedef struct DNP3ObjectG40V3_ {
958 uint8_t online:1;
959 uint8_t restart:1;
960 uint8_t comm_lost:1;
961 uint8_t remote_forced:1;
962 uint8_t local_forced:1;
963 uint8_t over_range:1;
964 uint8_t reference_err:1;
965 uint8_t reserved0:1;
966 float value;
968
969typedef struct DNP3ObjectG40V4_ {
970 uint8_t online:1;
971 uint8_t restart:1;
972 uint8_t comm_lost:1;
973 uint8_t remote_forced:1;
974 uint8_t local_forced:1;
975 uint8_t over_range:1;
976 uint8_t reference_err:1;
977 uint8_t reserved0:1;
978 double value;
980
985
990
995
1000
1001typedef struct DNP3ObjectG42V1_ {
1002 uint8_t online:1;
1003 uint8_t restart:1;
1004 uint8_t comm_lost:1;
1005 uint8_t remote_forced:1;
1006 uint8_t local_forced:1;
1007 uint8_t over_range:1;
1008 uint8_t reference_err:1;
1009 uint8_t reserved0:1;
1010 int32_t value;
1012
1013typedef struct DNP3ObjectG42V2_ {
1014 uint8_t online:1;
1015 uint8_t restart:1;
1016 uint8_t comm_lost:1;
1017 uint8_t remote_forced:1;
1018 uint8_t local_forced:1;
1019 uint8_t over_range:1;
1020 uint8_t reference_err:1;
1021 uint8_t reserved0:1;
1022 int16_t value;
1024
1025typedef struct DNP3ObjectG42V3_ {
1026 uint8_t online:1;
1027 uint8_t restart:1;
1028 uint8_t comm_lost:1;
1029 uint8_t remote_forced:1;
1030 uint8_t local_forced:1;
1031 uint8_t over_range:1;
1032 uint8_t reference_err:1;
1033 uint8_t reserved0:1;
1034 int32_t value;
1035 uint64_t timestamp;
1037
1038typedef struct DNP3ObjectG42V4_ {
1039 uint8_t online:1;
1040 uint8_t restart:1;
1041 uint8_t comm_lost:1;
1042 uint8_t remote_forced:1;
1043 uint8_t local_forced:1;
1044 uint8_t over_range:1;
1045 uint8_t reference_err:1;
1046 uint8_t reserved0:1;
1047 int16_t value;
1048 uint64_t timestamp;
1050
1051typedef struct DNP3ObjectG42V5_ {
1052 uint8_t online:1;
1053 uint8_t restart:1;
1054 uint8_t comm_lost:1;
1055 uint8_t remote_forced:1;
1056 uint8_t local_forced:1;
1057 uint8_t over_range:1;
1058 uint8_t reference_err:1;
1059 uint8_t reserved0:1;
1060 float value;
1062
1063typedef struct DNP3ObjectG42V6_ {
1064 uint8_t online:1;
1065 uint8_t restart:1;
1066 uint8_t comm_lost:1;
1067 uint8_t remote_forced:1;
1068 uint8_t local_forced:1;
1069 uint8_t over_range:1;
1070 uint8_t reference_err:1;
1071 uint8_t reserved0:1;
1072 double value;
1074
1075typedef struct DNP3ObjectG42V7_ {
1076 uint8_t online:1;
1077 uint8_t restart:1;
1078 uint8_t comm_lost:1;
1079 uint8_t remote_forced:1;
1080 uint8_t local_forced:1;
1081 uint8_t over_range:1;
1082 uint8_t reference_err:1;
1083 uint8_t reserved0:1;
1084 float value;
1085 uint64_t timestamp;
1087
1088typedef struct DNP3ObjectG42V8_ {
1089 uint8_t online:1;
1090 uint8_t restart:1;
1091 uint8_t comm_lost:1;
1092 uint8_t remote_forced:1;
1093 uint8_t local_forced:1;
1094 uint8_t over_range:1;
1095 uint8_t reference_err:1;
1096 uint8_t reserved0:1;
1097 double value;
1098 uint64_t timestamp;
1100
1106
1112
1119
1126
1132
1138
1145
1152
1156
1161
1165
1171
1175
1179
1183
1187
1188typedef struct DNP3ObjectG70V1_ {
1193 uint16_t end_record;
1194 uint32_t file_size;
1196 uint16_t permission;
1197 uint32_t file_id;
1198 uint32_t owner_id;
1199 uint32_t group_id;
1202 char filename[65535];
1203 uint16_t data_size;
1204 char data[65535];
1206
1216
1229
1239
1246
1254
1265
1270
1274
1281
1288
1289typedef struct DNP3ObjectG86V2_ {
1290 uint8_t rd:1;
1291 uint8_t wr:1;
1292 uint8_t st:1;
1293 uint8_t ev:1;
1294 uint8_t df:1;
1295 uint8_t padding0:1;
1296 uint8_t padding1:1;
1297 uint8_t padding2:1;
1299
1303
1304typedef struct DNP3ObjectG120V1_ {
1305 uint32_t csq;
1306 uint16_t usr;
1307 uint8_t mal;
1308 uint8_t reason;
1312
1313typedef struct DNP3ObjectG120V2_ {
1314 uint32_t csq;
1315 uint16_t usr;
1316 uint8_t *mac_value;
1319
1324
1328
1340
1347
1357
1364
1369
1383
1391
1398
1405
1410
1415
1416typedef struct DNP3ObjectG121V1_ {
1417 uint8_t online:1;
1418 uint8_t restart:1;
1419 uint8_t comm_lost:1;
1420 uint8_t remote_forced:1;
1421 uint8_t local_forced:1;
1422 uint8_t reserved0:1;
1423 uint8_t discontinuity:1;
1424 uint8_t reserved1:1;
1426 uint32_t count_value;
1428
1429typedef struct DNP3ObjectG122V1_ {
1430 uint8_t online:1;
1431 uint8_t restart:1;
1432 uint8_t comm_lost:1;
1433 uint8_t remote_forced:1;
1434 uint8_t local_forced:1;
1435 uint8_t reserved0:1;
1436 uint8_t discontinuity:1;
1437 uint8_t reserved1:1;
1439 uint32_t count_value;
1441
1442typedef struct DNP3ObjectG122V2_ {
1443 uint8_t online:1;
1444 uint8_t restart:1;
1445 uint8_t comm_lost:1;
1446 uint8_t remote_forced:1;
1447 uint8_t local_forced:1;
1448 uint8_t reserved0:1;
1449 uint8_t discontinuity:1;
1450 uint8_t reserved1:1;
1452 uint32_t count_value;
1453 uint64_t timestamp;
1455
1456/* END GENERATED CODE */
1457
1458int DNP3DecodeObject(int group, int variation, const uint8_t **buf,
1459 uint32_t *len, uint8_t prefix_code, uint32_t start, uint32_t count,
1460 DNP3PointList *);
1461DNP3PointList *DNP3PointListAlloc(void);
1462void DNP3FreeObjectPointList(int group, int variation, DNP3PointList *);
1463
1464#endif /* SURICATA_APP_LAYER_DNP3_OBJECTS_H */
struct DNP3ObjectG41V1_ DNP3ObjectG41V1
struct DNP3ObjectG43V6_ DNP3ObjectG43V6
struct DNP3ObjectG120V9_ DNP3ObjectG120V9
struct DNP3ObjectG30V1_ DNP3ObjectG30V1
struct DNP3ObjectG120V1_ DNP3ObjectG120V1
struct DNP3ObjectG33V5_ DNP3ObjectG33V5
struct DNP3ObjectG33V1_ DNP3ObjectG33V1
struct DNP3ObjectG32V5_ DNP3ObjectG32V5
struct DNP3ObjectG3V1_ DNP3ObjectG3V1
struct DNP3ObjectG122V2_ DNP3ObjectG122V2
struct DNP3ObjectG30V4_ DNP3ObjectG30V4
struct DNP3ObjectG43V5_ DNP3ObjectG43V5
struct DNP3ObjectG121V1_ DNP3ObjectG121V1
struct DNP3ObjectG34V1_ DNP3ObjectG34V1
struct DNP3ObjectG23V8_ DNP3ObjectG23V8
struct DNP3ObjectG50V1_ DNP3ObjectG50V1
struct DNP3ObjectG22V2_ DNP3ObjectG22V2
struct DNP3ObjectG33V3_ DNP3ObjectG33V3
struct DNP3ObjectG4V1_ DNP3ObjectG4V1
struct DNP3ObjectG23V3_ DNP3ObjectG23V3
struct DNP3ObjectG33V4_ DNP3ObjectG33V4
struct DNP3ObjectG50V3_ DNP3ObjectG50V3
struct DNP3ObjectG13V1_ DNP3ObjectG13V1
struct DNP3ObjectG33V6_ DNP3ObjectG33V6
struct DNP3ObjectG31V5_ DNP3ObjectG31V5
DNP3PointList * DNP3PointListAlloc(void)
Allocate a list for DNP3 points.
struct DNP3ObjectG120V4_ DNP3ObjectG120V4
struct DNP3ObjectG32V6_ DNP3ObjectG32V6
struct DNP3ObjectG43V2_ DNP3ObjectG43V2
struct DNP3ObjectG31V6_ DNP3ObjectG31V6
struct DNP3ObjectG34V3_ DNP3ObjectG34V3
struct DNP3ObjectG41V2_ DNP3ObjectG41V2
struct DNP3ObjectG30V6_ DNP3ObjectG30V6
struct DNP3ObjectG120V6_ DNP3ObjectG120V6
struct DNP3ObjectG21V5_ DNP3ObjectG21V5
struct DNP3ObjectG20V8_ DNP3ObjectG20V8
struct DNP3ObjectG21V7_ DNP3ObjectG21V7
struct DNP3ObjectG40V2_ DNP3ObjectG40V2
struct DNP3ObjectG120V7_ DNP3ObjectG120V7
struct DNP3ObjectG4V2_ DNP3ObjectG4V2
struct DNP3ObjectG22V4_ DNP3ObjectG22V4
struct DNP3ObjectG102V1_ DNP3ObjectG102V1
struct DNP3ObjectG4V3_ DNP3ObjectG4V3
struct DNP3ObjectG31V7_ DNP3ObjectG31V7
struct DNP3ObjectG43V3_ DNP3ObjectG43V3
struct DNP3ObjectG30V5_ DNP3ObjectG30V5
struct DNP3ObjectG42V4_ DNP3ObjectG42V4
struct DNP3ObjectG43V8_ DNP3ObjectG43V8
struct DNP3ObjectG40V3_ DNP3ObjectG40V3
struct DNP3ObjectG50V4_ DNP3ObjectG50V4
struct DNP3ObjectG2V3_ DNP3ObjectG2V3
struct DNP3ObjectG20V2_ DNP3ObjectG20V2
struct DNP3ObjectG86V2_ DNP3ObjectG86V2
struct DNP3ObjectG50V2_ DNP3ObjectG50V2
struct DNP3ObjectG32V2_ DNP3ObjectG32V2
struct DNP3ObjectG20V3_ DNP3ObjectG20V3
struct DNP3ObjectG120V3_ DNP3ObjectG120V3
struct DNP3ObjectG31V3_ DNP3ObjectG31V3
struct DNP3ObjectG33V7_ DNP3ObjectG33V7
struct DNP3ObjectG10V2_ DNP3ObjectG10V2
struct DNP3ObjectG32V1_ DNP3ObjectG32V1
struct DNP3ObjectG42V6_ DNP3ObjectG42V6
struct DNP3ObjectG120V14_ DNP3ObjectG120V14
struct DNP3ObjectG21V9_ DNP3ObjectG21V9
struct DNP3ObjectG31V2_ DNP3ObjectG31V2
struct DNP3ObjectG120V12_ DNP3ObjectG120V12
struct DNP3ObjectG42V8_ DNP3ObjectG42V8
struct DNP3ObjectG23V2_ DNP3ObjectG23V2
struct DNP3ObjectG43V1_ DNP3ObjectG43V1
struct DNP3ObjectG42V1_ DNP3ObjectG42V1
struct DNP3ObjectG21V2_ DNP3ObjectG21V2
struct DNP3ObjectG40V1_ DNP3ObjectG40V1
struct DNP3ObjectG20V5_ DNP3ObjectG20V5
struct DNP3ObjectG42V3_ DNP3ObjectG42V3
struct DNP3ObjectG21V3_ DNP3ObjectG21V3
struct DNP3ObjectG20V6_ DNP3ObjectG20V6
struct DNP3ObjectG23V6_ DNP3ObjectG23V6
struct DNP3ObjectG23V5_ DNP3ObjectG23V5
struct DNP3ObjectG22V6_ DNP3ObjectG22V6
struct DNP3ObjectG12V2_ DNP3ObjectG12V2
struct DNP3ObjectG120V10_ DNP3ObjectG120V10
struct DNP3ObjectG40V4_ DNP3ObjectG40V4
int DNP3DecodeObject(int group, int variation, const uint8_t **buf, uint32_t *len, uint8_t prefix_code, uint32_t start, uint32_t count, DNP3PointList *)
Decode a DNP3 object.
struct DNP3ObjectG2V2_ DNP3ObjectG2V2
struct DNP3ObjectG22V1_ DNP3ObjectG22V1
struct DNP3ObjectG22V8_ DNP3ObjectG22V8
struct DNP3ObjectG10V1_ DNP3ObjectG10V1
struct DNP3ObjectG33V2_ DNP3ObjectG33V2
struct DNP3ObjectG34V2_ DNP3ObjectG34V2
struct DNP3ObjectG120V15_ DNP3ObjectG120V15
struct DNP3ObjectG21V4_ DNP3ObjectG21V4
struct DNP3ObjectG30V2_ DNP3ObjectG30V2
struct DNP3ObjectG43V7_ DNP3ObjectG43V7
struct DNP3ObjectG70V4_ DNP3ObjectG70V4
struct DNP3ObjectG31V1_ DNP3ObjectG31V1
struct DNP3ObjectG42V7_ DNP3ObjectG42V7
struct DNP3ObjectG1V1_ DNP3ObjectG1V1
struct DNP3ObjectG32V4_ DNP3ObjectG32V4
struct DNP3ObjectG21V6_ DNP3ObjectG21V6
struct DNP3ObjectG3V2_ DNP3ObjectG3V2
struct DNP3ObjectG43V4_ DNP3ObjectG43V4
struct DNP3ObjectG21V11_ DNP3ObjectG21V11
struct DNP3ObjectG120V5_ DNP3ObjectG120V5
struct DNP3ObjectG31V8_ DNP3ObjectG31V8
struct DNP3ObjectG31V4_ DNP3ObjectG31V4
struct DNP3ObjectG41V3_ DNP3ObjectG41V3
struct DNP3ObjectG30V3_ DNP3ObjectG30V3
void DNP3FreeObjectPointList(int group, int variation, DNP3PointList *)
Free a DNP3PointList.
struct DNP3ObjectG120V13_ DNP3ObjectG120V13
struct DNP3ObjectG21V1_ DNP3ObjectG21V1
struct DNP3ObjectG22V7_ DNP3ObjectG22V7
struct DNP3ObjectG21V12_ DNP3ObjectG21V12
struct DNP3ObjectG20V4_ DNP3ObjectG20V4
struct DNP3ObjectG42V2_ DNP3ObjectG42V2
struct DNP3ObjectG12V3_ DNP3ObjectG12V3
struct DNP3ObjectG32V7_ DNP3ObjectG32V7
struct DNP3ObjectG22V5_ DNP3ObjectG22V5
struct DNP3ObjectG32V8_ DNP3ObjectG32V8
struct DNP3ObjectG80V1_ DNP3ObjectG80V1
struct DNP3ObjectG20V7_ DNP3ObjectG20V7
struct DNP3ObjectG70V8_ DNP3ObjectG70V8
struct DNP3ObjectG23V7_ DNP3ObjectG23V7
struct DNP3ObjectG70V6_ DNP3ObjectG70V6
struct DNP3ObjectG70V2_ DNP3ObjectG70V2
struct DNP3ObjectG70V7_ DNP3ObjectG70V7
struct DNP3ObjectG20V1_ DNP3ObjectG20V1
struct DNP3ObjectG51V1_ DNP3ObjectG51V1
struct DNP3ObjectG81V1_ DNP3ObjectG81V1
struct DNP3ObjectG52V2_ DNP3ObjectG52V2
struct DNP3ObjectG13V2_ DNP3ObjectG13V2
struct DNP3ObjectG11V2_ DNP3ObjectG11V2
struct DNP3ObjectG23V1_ DNP3ObjectG23V1
struct DNP3ObjectG51V2_ DNP3ObjectG51V2
struct DNP3ObjectG42V5_ DNP3ObjectG42V5
struct DNP3ObjectG120V11_ DNP3ObjectG120V11
struct DNP3ObjectG120V8_ DNP3ObjectG120V8
struct DNP3ObjectG32V3_ DNP3ObjectG32V3
struct DNP3ObjectG21V8_ DNP3ObjectG21V8
struct DNP3ObjectG122V1_ DNP3ObjectG122V1
struct DNP3ObjectG22V3_ DNP3ObjectG22V3
struct DNP3ObjectG41V4_ DNP3ObjectG41V4
struct DNP3ObjectG2V1_ DNP3ObjectG2V1
struct DNP3ObjectG23V4_ DNP3ObjectG23V4
struct DNP3ObjectG33V8_ DNP3ObjectG33V8
struct DNP3ObjectG11V1_ DNP3ObjectG11V1
struct DNP3ObjectG70V5_ DNP3ObjectG70V5
struct DNP3ObjectG12V1_ DNP3ObjectG12V1
struct DNP3ObjectG70V3_ DNP3ObjectG70V3
struct DNP3ObjectG83V1_ DNP3ObjectG83V1
struct DNP3ObjectG52V1_ DNP3ObjectG52V1
struct DNP3ObjectG1V2_ DNP3ObjectG1V2
struct DNP3ObjectG21V10_ DNP3ObjectG21V10
struct DNP3ObjectG120V2_ DNP3ObjectG120V2
struct DNP3ObjectG70V1_ DNP3ObjectG70V1
uint8_t len
uint8_t variation
uint8_t group