--- #title: protocol-schema type: object properties: protocol: type: object properties: name: type: string longname: type: string fields: type: array items: $ref: "#/definitions/field" osilayer: type: integer minimum: 1 maximum: 7 required: - name - fields - osilayer definitions: field: type: object properties: field: type: string desc: type: string length: type: integer bitfield: type: boolean optional: type: boolean repeatable: type: boolean nextlayer: type: boolean data: type: boolean reference: type: string reflength: type: string subfields: type: array items: $ref: "#/definitions/field" required: - field - length