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

98 lines
3.1 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
"nextlayer": #identifies this field as nextlayer field (see nextlayer definition below)
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": #identifier list for next layer protocols
type: seq
sequence:
- type: map
mapping:
"protocol":
type: str
required: yes
"identifier":
type: int
required: yes
"extension":
type: bool
"extensionreferencefield":
type: str
"extensions":
type: seq
sequence:
- type: map
mapping:
"extension":
type: map
mapping:
"name":
type: str
required: yes
"referencedfrom": #referencing field of protocol definition
type: str
"referenceid": #reference id used in protocol definition or extension itself
type: int
required: yes
"before": # standard is after the normal protocol structure, but could be used for vlan in ethernet for example.
type: str
"after":
type: str
"fields":
type: seq
sequence: *fieldsseq
2015-01-04 17:14:17 +01:00
"documentation":
type: map
mapping:
"summary": # a summary about this protocol (optional)
type: str
"descriptions": # descriptions of the fields
type: seq
sequence:
- type: map
mapping:
"field": # field name as defined in the protocol structure
type: str
required: yes
"desc": # description
type: str
required: yes