This repository has been archived on 2020-12-30. You can view files and clone it, but cannot push or open issues or pull requests.
NetworkProtocolDictionary/structure-schema.yml

71 lines
1.9 KiB
YAML
Raw Normal View History

type: map
mapping:
"protocol":
type: map
required: yes
mapping:
"name":
type: str
required: yes
2015-01-04 12:04:36 +01:00
"shortname":
type: str
"fields":
type: seq
required: yes
sequence: &fieldsseq
- type: map
mapping:
2015-01-04 12:04:36 +01:00
"field": #field name (best if only one word, for easier referencing)
type: str
required: yes
2015-01-04 12:04:36 +01:00
"desc": #short description
type: str
"length": #length in bytes, except bitfield is set to true!
type: int
"bitfield": #if this is true length is in BITS!
type: bool
"optional":
type: bool
"repeatable":
type: bool
2015-01-04 12:04:36 +01:00
"data": #data placeholder for next layer
type: bool
2015-01-04 12:04:36 +01:00
"reference": #reference another protocol directly (e.g. ethpacket->ethframe)
type: str
"subfields":
type: seq
sequence: *fieldsseq
"osilayer":
type: int
range: { max: 7, min: 1 }
required: yes
"nextlayer":
type: seq
sequence:
- type: map
mapping:
"protocol":
type: str
required: yes
"identifier":
type: int
required: yes
"extensions":
type: seq
sequence:
- type: map
mapping:
"extension":
type: map
mapping:
"name":
type: str
required: yes
"referencedfrom": #referencing field of protocol definition
type: str
required: yes
"fields":
type: seq
sequence: *fieldsseq