mirror of https://github.com/OISF/suricata
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2996 lines
62 KiB
YAML
2996 lines
62 KiB
YAML
objects:
|
|
|
|
- group: 1
|
|
variation: 1
|
|
packed: true
|
|
fields:
|
|
- type: uint8
|
|
name: state
|
|
width: 1
|
|
|
|
- group: 1
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: online
|
|
width: 1
|
|
- type: uint8
|
|
name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
type: uint8
|
|
width: 1
|
|
- name: remote_forced
|
|
type: uint8
|
|
width: 1
|
|
- name: local_forced
|
|
type: uint8
|
|
width: 1
|
|
- name: chatter_filter
|
|
type: uint8
|
|
width: 1
|
|
- name: reserved
|
|
type: uint8
|
|
width: 1
|
|
- name: state
|
|
type: uint8
|
|
width: 1
|
|
|
|
- group: 2
|
|
variation: 1
|
|
fields:
|
|
- type: uint8
|
|
name: state
|
|
width: 1
|
|
|
|
- group: 2
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: online
|
|
width: 1
|
|
- type: uint8
|
|
name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
type: uint8
|
|
width: 1
|
|
- name: remote_forced
|
|
type: uint8
|
|
width: 1
|
|
- name: local_forced
|
|
type: uint8
|
|
width: 1
|
|
- name: chatter_filter
|
|
type: uint8
|
|
width: 1
|
|
- name: reserved
|
|
type: uint8
|
|
width: 1
|
|
- name: state
|
|
type: uint8
|
|
width: 1
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 2
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: online
|
|
width: 1
|
|
- type: uint8
|
|
name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
type: uint8
|
|
width: 1
|
|
- name: remote_forced
|
|
type: uint8
|
|
width: 1
|
|
- name: local_forced
|
|
type: uint8
|
|
width: 1
|
|
- name: chatter_filter
|
|
type: uint8
|
|
width: 1
|
|
- name: reserved
|
|
type: uint8
|
|
width: 1
|
|
- name: state
|
|
type: uint8
|
|
width: 1
|
|
- type: uint16
|
|
name: timestamp
|
|
|
|
- group: 3
|
|
variation: 1
|
|
packed: true
|
|
fields:
|
|
- type: uint8
|
|
name: state
|
|
width: 2
|
|
|
|
- group: 3
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: chatter_filter
|
|
width: 1
|
|
- name: state
|
|
width: 2
|
|
|
|
- group: 4
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: chatter_filter
|
|
width: 1
|
|
- name: state
|
|
width: 2
|
|
|
|
- group: 4
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: chatter_filter
|
|
width: 1
|
|
- name: state
|
|
width: 2
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 4
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: chatter_filter
|
|
width: 1
|
|
- name: state
|
|
width: 2
|
|
- type: uint16
|
|
name: relative_time_ms
|
|
|
|
- group: 10
|
|
variation: 1
|
|
packed: true
|
|
fields:
|
|
- type: uint8
|
|
name: state
|
|
width: 1
|
|
|
|
- group: 10
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- name: state
|
|
width: 1
|
|
|
|
- group: 11
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- name: state
|
|
width: 1
|
|
|
|
- group: 11
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- name: state
|
|
width: 1
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 12
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: op_type
|
|
type: uint8
|
|
width: 4
|
|
- name: qu
|
|
type: uint8
|
|
width: 1
|
|
- name: cr
|
|
type: uint8
|
|
width: 1
|
|
- name: tcc
|
|
type: uint8
|
|
width: 2
|
|
- name: count
|
|
type: uint8
|
|
- name: ontime
|
|
type: uint32
|
|
- name: offtime
|
|
type: uint32
|
|
- type: bstr8
|
|
fields:
|
|
- name: status_code
|
|
type: uint8
|
|
width: 7
|
|
- name: reserved
|
|
type: uint32
|
|
width: 1
|
|
|
|
- group: 12
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: op_type
|
|
type: uint8
|
|
width: 4
|
|
- name: qu
|
|
type: uint8
|
|
width: 1
|
|
- name: cr
|
|
type: uint8
|
|
width: 1
|
|
- name: tcc
|
|
type: uint8
|
|
width: 2
|
|
- name: count
|
|
type: uint8
|
|
- name: ontime
|
|
type: uint32
|
|
- name: offtime
|
|
type: uint32
|
|
- type: bstr8
|
|
fields:
|
|
- name: status_code
|
|
type: uint8
|
|
width: 7
|
|
- name: reserved
|
|
type: uint32
|
|
width: 1
|
|
|
|
- group: 12
|
|
variation: 3
|
|
packed: true
|
|
fields:
|
|
- type: uint8
|
|
name: point
|
|
width: 1
|
|
|
|
- group: 13
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
width: 7
|
|
name: status_code
|
|
- type: uint8
|
|
width: 1
|
|
name: commanded_state
|
|
|
|
- group: 13
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
width: 7
|
|
name: status_code
|
|
- type: uint8
|
|
width: 1
|
|
name: commanded_state
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 20
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 20
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 20
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 20
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 20
|
|
variation: 5
|
|
fields:
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 20
|
|
variation: 6
|
|
fields:
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 20
|
|
variation: 7
|
|
fields:
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 20
|
|
variation: 8
|
|
fields:
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 21
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 21
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 21
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 21
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 21
|
|
variation: 5
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 21
|
|
variation: 6
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 21
|
|
variation: 7
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 21
|
|
variation: 8
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 21
|
|
variation: 9
|
|
fields:
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 21
|
|
variation: 10
|
|
fields:
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 21
|
|
variation: 11
|
|
fields:
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 21
|
|
variation: 12
|
|
fields:
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 22
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 22
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 22
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 22
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 22
|
|
variation: 5
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 22
|
|
variation: 6
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 22
|
|
variation: 7
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 22
|
|
variation: 8
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 23
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 23
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 23
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
|
|
- group: 23
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
|
|
- group: 23
|
|
variation: 5
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 23
|
|
variation: 6
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 23
|
|
variation: 7
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint32
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 23
|
|
variation: 8
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: rollover
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: count
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 30
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
|
|
- group: 30
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
|
|
- group: 30
|
|
variation: 3
|
|
fields:
|
|
- type: int32
|
|
name: value
|
|
|
|
- group: 30
|
|
variation: 4
|
|
fields:
|
|
- type: int16
|
|
name: value
|
|
|
|
- group: 30
|
|
variation: 5
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
|
|
- group: 30
|
|
variation: 6
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: value
|
|
|
|
- group: 31
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
|
|
- group: 31
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
|
|
- group: 31
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 31
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 31
|
|
variation: 5
|
|
fields:
|
|
- type: int32
|
|
name: value
|
|
|
|
- group: 31
|
|
variation: 6
|
|
fields:
|
|
- type: int16
|
|
name: value
|
|
|
|
- group: 31
|
|
variation: 7
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
|
|
- group: 31
|
|
variation: 8
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: value
|
|
|
|
- group: 32
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
|
|
- group: 32
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
|
|
- group: 32
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 32
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 32
|
|
variation: 5
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
|
|
- group: 32
|
|
variation: 6
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: value
|
|
|
|
- group: 32
|
|
variation: 7
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 32
|
|
variation: 8
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
# XXX Spec says FLT32, pretty sure its FLT64 and OpenDNP uses a 64 bit
|
|
# float as well.
|
|
- type: flt64
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 33
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
|
|
- group: 33
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
|
|
- group: 33
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 33
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 33
|
|
variation: 5
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
|
|
- group: 33
|
|
variation: 6
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: value
|
|
|
|
- group: 33
|
|
variation: 7
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 33
|
|
variation: 8
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
# XXX Spec says FLT32, I think its FLT64.
|
|
- type: flt64
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 34
|
|
variation: 1
|
|
fields:
|
|
- type: uint16
|
|
name: deadband_value
|
|
|
|
- group: 34
|
|
variation: 2
|
|
fields:
|
|
- type: uint32
|
|
name: deadband_value
|
|
|
|
- group: 34
|
|
variation: 3
|
|
fields:
|
|
- type: flt32
|
|
name: deadband_value
|
|
|
|
- group: 40
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
|
|
- group: 40
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
|
|
- group: 40
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
|
|
- group: 40
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: value
|
|
|
|
- group: 41
|
|
variation: 1
|
|
fields:
|
|
- type: int32
|
|
name: value
|
|
- type: uint8
|
|
name: control_status
|
|
|
|
- group: 41
|
|
variation: 2
|
|
fields:
|
|
- type: int16
|
|
name: value
|
|
- type: uint8
|
|
name: control_status
|
|
|
|
- group: 41
|
|
variation: 3
|
|
fields:
|
|
- type: flt32
|
|
name: value
|
|
- type: uint8
|
|
name: control_status
|
|
|
|
- group: 41
|
|
variation: 4
|
|
fields:
|
|
- type: flt64
|
|
name: value
|
|
- type: uint8
|
|
name: control_status
|
|
|
|
- group: 42
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
|
|
- group: 42
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
|
|
- group: 42
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 42
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 42
|
|
variation: 5
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
|
|
- group: 42
|
|
variation: 6
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: value
|
|
|
|
- group: 42
|
|
variation: 7
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 42
|
|
variation: 8
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: over_range
|
|
width: 1
|
|
- name: reference_err
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 43
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: status_code
|
|
width: 7
|
|
- type: uint8
|
|
name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: commanded_value
|
|
|
|
- group: 43
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: status_code
|
|
width: 7
|
|
- type: uint8
|
|
name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: commanded_value
|
|
|
|
- group: 43
|
|
variation: 3
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: status_code
|
|
width: 7
|
|
- type: uint8
|
|
name: reserved0
|
|
width: 1
|
|
- type: int32
|
|
name: commanded_value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 43
|
|
variation: 4
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: status_code
|
|
width: 7
|
|
- type: uint8
|
|
name: reserved0
|
|
width: 1
|
|
- type: int16
|
|
name: commanded_value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 43
|
|
variation: 5
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: status_code
|
|
width: 7
|
|
- type: uint8
|
|
name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: commanded_value
|
|
|
|
- group: 43
|
|
variation: 6
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: status_code
|
|
width: 7
|
|
- type: uint8
|
|
name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: commanded_value
|
|
|
|
- group: 43
|
|
variation: 7
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: status_code
|
|
width: 7
|
|
- type: uint8
|
|
name: reserved0
|
|
width: 1
|
|
- type: flt32
|
|
name: commanded_value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 43
|
|
variation: 8
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
name: status_code
|
|
width: 7
|
|
- type: uint8
|
|
name: reserved0
|
|
width: 1
|
|
- type: flt64
|
|
name: commanded_value
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 50
|
|
variation: 1
|
|
fields:
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 50
|
|
variation: 2
|
|
fields:
|
|
- type: dnp3time
|
|
name: timestamp
|
|
- type: uint32
|
|
name: interval
|
|
|
|
- group: 50
|
|
variation: 3
|
|
fields:
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 50
|
|
variation: 4
|
|
fields:
|
|
- type: dnp3time
|
|
name: timestamp
|
|
- type: uint32
|
|
name: interval_count
|
|
- type: uint8
|
|
name: interval_units
|
|
|
|
- group: 51
|
|
variation: 1
|
|
fields:
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 51
|
|
variation: 2
|
|
fields:
|
|
- type: dnp3time
|
|
name: timestamp
|
|
|
|
- group: 52
|
|
variation: 1
|
|
fields:
|
|
- type: uint16
|
|
name: delay_secs
|
|
|
|
- group: 52
|
|
variation: 2
|
|
fields:
|
|
- type: uint16
|
|
name: delay_ms
|
|
|
|
# 1815-2012: New DNP3 implementation should avoid using this object.
|
|
- group: 70
|
|
variation: 1
|
|
fields:
|
|
- type: uint16
|
|
name: filename_size
|
|
- type: uint8
|
|
name: filetype_code
|
|
- type: uint8
|
|
name: attribute_code
|
|
- type: uint16
|
|
name: start_record
|
|
- type: uint16
|
|
name: end_record
|
|
- type: uint32
|
|
name: file_size
|
|
- type: dnp3time
|
|
name: created_timestamp
|
|
# XXX Actually bit flags.
|
|
- type: uint16
|
|
name: permission
|
|
- type: uint32
|
|
name: file_id
|
|
- type: uint32
|
|
name: owner_id
|
|
- type: uint32
|
|
name: group_id
|
|
- type: uint8
|
|
name: file_function_code
|
|
- type: uint8
|
|
name: status_code
|
|
- type: chararray
|
|
name: filename
|
|
size: 65535
|
|
len_field: filename_size
|
|
- type: uint16
|
|
name: data_size
|
|
- type: chararray
|
|
name: data
|
|
size: 65535
|
|
len_field: data_size
|
|
|
|
- group: 70
|
|
variation: 2
|
|
fields:
|
|
- type: uint16
|
|
name: username_offset
|
|
- type: uint16
|
|
name: username_size
|
|
- type: uint16
|
|
name: password_offset
|
|
- type: uint16
|
|
name: password_size
|
|
- type: uint32
|
|
name: authentication_key
|
|
- type: chararray
|
|
name: username
|
|
size: 65535
|
|
len_field: username_size
|
|
- type: chararray
|
|
name: password
|
|
size: 65535
|
|
len_field: password_size
|
|
|
|
- group: 70
|
|
variation: 3
|
|
fields:
|
|
- type: uint16
|
|
name: filename_offset
|
|
- type: uint16
|
|
name: filename_size
|
|
- type: dnp3time
|
|
name: created
|
|
# XXX Break out to bit flags.
|
|
- type: uint16
|
|
name: permissions
|
|
- type: uint32
|
|
name: authentication_key
|
|
- type: uint32
|
|
name: file_size
|
|
- type: uint16
|
|
name: operational_mode
|
|
- type: uint16
|
|
name: maximum_block_size
|
|
- type: uint16
|
|
name: request_id
|
|
- type: chararray
|
|
name: filename
|
|
size: 65535
|
|
len_field: filename_size
|
|
|
|
# Checked.
|
|
- group: 70
|
|
variation: 4
|
|
constraints:
|
|
require_size_prefix: true
|
|
extra_fields:
|
|
- type: uint8
|
|
name: optional_text_len
|
|
fields:
|
|
- type: uint32
|
|
name: file_handle
|
|
- type: uint32
|
|
name: file_size
|
|
- type: uint16
|
|
name: maximum_block_size
|
|
- type: uint16
|
|
name: request_id
|
|
- type: uint8
|
|
name: status_code
|
|
- type: chararray
|
|
name: optional_text
|
|
size: 0xff
|
|
len_from_prefix: true
|
|
len_field: optional_text_len
|
|
|
|
# Checked.
|
|
- group: 70
|
|
variation: 5
|
|
constraints:
|
|
require_size_prefix: true
|
|
extra_fields:
|
|
- type: uint8
|
|
name: file_data_len
|
|
fields:
|
|
- type: uint32
|
|
name: file_handle
|
|
- type: uint32
|
|
name: block_number # Includes "last" flag.
|
|
- type: chararray
|
|
name: file_data
|
|
size: 0xff
|
|
len_from_prefix: true
|
|
len_field: file_data_len
|
|
|
|
# Checked.
|
|
- group: 70
|
|
variation: 6
|
|
constraints:
|
|
require_size_prefix: true
|
|
extra_fields:
|
|
- type: uint8
|
|
name: optional_text_len
|
|
fields:
|
|
- type: uint32
|
|
name: file_handle
|
|
- type: uint32
|
|
name: block_number # Includes "last" flag.
|
|
- type: uint8
|
|
name: status_code
|
|
- type: chararray
|
|
name: optional_text
|
|
size: 0xff
|
|
len_from_prefix: true
|
|
len_field: optional_text_len
|
|
|
|
# Checked.
|
|
- group: 70
|
|
variation: 7
|
|
fields:
|
|
- type: uint16
|
|
name: filename_offset
|
|
- type: uint16
|
|
name: filename_size
|
|
- type: uint16
|
|
name: file_type
|
|
- type: uint32
|
|
name: file_size
|
|
- type: dnp3time
|
|
name: created_timestamp
|
|
- type: uint16
|
|
name: permissions
|
|
- type: uint16
|
|
name: request_id
|
|
- type: chararray
|
|
name: filename
|
|
size: 0xffff
|
|
len_field: filename_size
|
|
|
|
# Checked.
|
|
- group: 70
|
|
variation: 8
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint16
|
|
name: file_specification_len
|
|
fields:
|
|
- type: chararray
|
|
name: file_specification
|
|
size: 0xffff
|
|
len_from_prefix: true
|
|
len_field: file_specification_len
|
|
|
|
# Checked.
|
|
- group: 80
|
|
variation: 1
|
|
packed: true
|
|
fields:
|
|
- type: uint8
|
|
name: state
|
|
width: 1
|
|
|
|
# Checked.
|
|
- group: 81
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- type: uint8
|
|
width: 7
|
|
name: fill_percentage
|
|
- type: uint8
|
|
width: 1
|
|
name: overflow_state
|
|
- type: uint8
|
|
name: group
|
|
- type: uint8
|
|
name: variation
|
|
|
|
- group: 82
|
|
variation: 1
|
|
unimplemented: object header types not yet supported
|
|
|
|
- group: 83
|
|
variation: 1
|
|
fields:
|
|
- type: vstr4
|
|
name: vendor_code
|
|
- type: uint16
|
|
name: object_id
|
|
- type: uint16
|
|
name: length
|
|
- type: bytearray
|
|
name: data_objects
|
|
len_field: length
|
|
|
|
- group: 83
|
|
variation: 2
|
|
unimplemented: set objects not yet supported
|
|
|
|
- group: 85
|
|
variation: 1
|
|
unimplemented: set objects not yet supported
|
|
|
|
- group: 86
|
|
variation: 1
|
|
unimplemented: set objects not yet supported
|
|
|
|
# Checked.
|
|
- group: 86
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: rd
|
|
width: 1
|
|
- name: wr
|
|
width: 1
|
|
- name: st
|
|
width: 1
|
|
- name: ev
|
|
width: 1
|
|
- name: df
|
|
width: 1
|
|
- name: padding0
|
|
width: 1
|
|
- name: padding1
|
|
width: 1
|
|
- name: padding2
|
|
width: 1
|
|
|
|
- group: 86
|
|
variation: 3
|
|
unimplemented: set objects not yet supported
|
|
|
|
- group: 87
|
|
variation: 1
|
|
unimplemented: set objects not yet supported
|
|
|
|
- group: 88
|
|
variation: 1
|
|
unimplemented: set objects not yet supported
|
|
|
|
- group: 90
|
|
variation: 1
|
|
unimplemented: set objects not yet supported
|
|
|
|
- group: 91
|
|
variation: 1
|
|
unimplemented: set objects not yet supported
|
|
|
|
- group: 100
|
|
variation: "*"
|
|
unimplemented: obsolete object type
|
|
|
|
- group: 101
|
|
variation: 1
|
|
unimplemented: bcd types not yet supported
|
|
|
|
- group: 101
|
|
variation: 2
|
|
unimplemented: bcd types not yet supported
|
|
|
|
- group: 101
|
|
variation: 3
|
|
unimplemented: bcd types not yet supported
|
|
|
|
# Checked.
|
|
- group: 102
|
|
variation: 1
|
|
fields:
|
|
- type: uint8
|
|
name: value
|
|
|
|
- group: 110
|
|
variation: "*"
|
|
unimplemented: variation all not yet supported
|
|
|
|
- group: 111
|
|
variation: "*"
|
|
unimplemented: variation all not yet supported
|
|
|
|
- group: 112
|
|
variation: "*"
|
|
unimplemented: variation all not yet supported
|
|
|
|
- group: 113
|
|
variation: "*"
|
|
unimplemented: variation all not yet supported
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 1
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint16
|
|
name: challenge_data_len
|
|
fields:
|
|
- type: uint32
|
|
name: csq
|
|
- type: uint16
|
|
name: usr
|
|
- type: uint8
|
|
name: mal
|
|
- type: uint8
|
|
name: reason
|
|
- type: bytearray
|
|
name: challenge_data
|
|
len_from_prefix: true
|
|
len_field: challenge_data_len
|
|
|
|
- group: 120
|
|
variation: 2
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint16
|
|
name: mac_value_len
|
|
fields:
|
|
- type: uint32
|
|
name: csq
|
|
- type: uint16
|
|
name: usr
|
|
- type: bytearray
|
|
name: mac_value
|
|
len_from_prefix: true
|
|
len_field: mac_value_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 3
|
|
fields:
|
|
- type: uint32
|
|
name: csq
|
|
- type: uint16
|
|
name: user_number
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 4
|
|
fields:
|
|
- type: uint16
|
|
name: user_number
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 5
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint16
|
|
name: mac_value_len
|
|
fields:
|
|
- type: uint32
|
|
name: ksq
|
|
- type: uint16
|
|
name: user_number
|
|
- type: uint8
|
|
name: key_wrap_alg
|
|
- type: uint8
|
|
name: key_status
|
|
- type: uint8
|
|
name: mal
|
|
- type: uint16
|
|
name: challenge_data_len
|
|
- type: bytearray
|
|
name: challenge_data
|
|
len_field: challenge_data_len
|
|
- type: bytearray
|
|
name: mac_value
|
|
len_from_prefix: true
|
|
len_field: mac_value_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 6
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint16
|
|
name: wrapped_key_data_len
|
|
fields:
|
|
- type: uint24
|
|
name: ksq
|
|
- type: uint16
|
|
name: usr
|
|
- type: bytearray
|
|
name: wrapped_key_data
|
|
len_from_prefix: true
|
|
len_field: wrapped_key_data_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 7
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint16
|
|
name: error_text_len
|
|
fields:
|
|
- type: uint32
|
|
name: sequence_number
|
|
- type: uint16
|
|
name: usr
|
|
- type: uint16
|
|
name: association_id
|
|
- type: uint8
|
|
name: error_code
|
|
- type: dnp3time
|
|
name: time_of_error
|
|
- type: chararray
|
|
name: error_text
|
|
size: 65535
|
|
len_from_prefix: true
|
|
len_field: error_text_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 8
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint16
|
|
name: certificate_len
|
|
fields:
|
|
- type: uint8
|
|
name: key_change_method
|
|
- type: uint8
|
|
name: certificate_type
|
|
- type: bytearray
|
|
name: certificate
|
|
len_from_prefix: true
|
|
len_field: certificate_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 9
|
|
extra_fields:
|
|
- type: uint16
|
|
name: mac_value_len
|
|
fields:
|
|
- type: bytearray
|
|
name: mac_value
|
|
len_from_prefix: true
|
|
len_field: mac_value_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 10
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
fields:
|
|
- type: uint8
|
|
name: key_change_method
|
|
- type: uint8
|
|
name: operation
|
|
- type: uint32
|
|
name: scs
|
|
- type: uint16
|
|
name: user_role
|
|
- type: uint16
|
|
name: user_role_expiry_interval
|
|
- type: uint16
|
|
name: username_len
|
|
- type: uint16
|
|
name: user_public_key_len
|
|
- type: uint16
|
|
name: certification_data_len
|
|
- type: chararray
|
|
name: username
|
|
size: 65535
|
|
len_field: username_len
|
|
- type: bytearray
|
|
name: user_public_key
|
|
len_field: user_public_key_len
|
|
- type: bytearray
|
|
name: certification_data
|
|
len_field: certification_data_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 11
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
fields:
|
|
- type: uint8
|
|
name: key_change_method
|
|
- type: uint16
|
|
name: username_len
|
|
- type: uint16
|
|
name: master_challenge_data_len
|
|
- type: chararray
|
|
size: 65535
|
|
name: username
|
|
len_field: username_len
|
|
- type: bytearray
|
|
name: master_challenge_data
|
|
len_field: master_challenge_data_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 12
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
fields:
|
|
- type: uint32
|
|
name: ksq
|
|
- type: uint16
|
|
name: user_number
|
|
- type: uint16
|
|
name: challenge_data_len
|
|
- type: bytearray
|
|
name: challenge_data
|
|
len_field: challenge_data_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 13
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
fields:
|
|
- type: uint32
|
|
name: ksq
|
|
- type: uint16
|
|
name: user_number
|
|
- type: uint16
|
|
name: encrypted_update_key_len
|
|
- type: bytearray
|
|
name: encrypted_update_key_data
|
|
len_field: encrypted_update_key_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 14
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint16
|
|
name: digital_signature_len
|
|
fields:
|
|
- type: bytearray
|
|
name: digital_signature
|
|
len_from_prefix: true
|
|
len_field: digital_signature_len
|
|
|
|
# Checked.
|
|
- group: 120
|
|
variation: 15
|
|
constraints:
|
|
require_prefix_code: 0x5
|
|
extra_fields:
|
|
- type: uint32
|
|
name: mac_len
|
|
fields:
|
|
- type: bytearray
|
|
name: mac
|
|
len_field: mac_len
|
|
len_from_prefix: true
|
|
|
|
# Checked.
|
|
- group: 121
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: association_id
|
|
- type: uint32
|
|
name: count_value
|
|
|
|
# Checked.
|
|
- group: 122
|
|
variation: 1
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: association_id
|
|
- type: uint32
|
|
name: count_value
|
|
|
|
# Checked.
|
|
- group: 122
|
|
variation: 2
|
|
fields:
|
|
- type: bstr8
|
|
fields:
|
|
- name: online
|
|
width: 1
|
|
- name: restart
|
|
width: 1
|
|
- name: comm_lost
|
|
width: 1
|
|
- name: remote_forced
|
|
width: 1
|
|
- name: local_forced
|
|
width: 1
|
|
- name: reserved0
|
|
width: 1
|
|
- name: discontinuity
|
|
width: 1
|
|
- name: reserved1
|
|
width: 1
|
|
- type: uint16
|
|
name: association_id
|
|
- type: uint32
|
|
name: count_value
|
|
- type: dnp3time
|
|
name: timestamp
|