---
includes:
  - has_description.yaml
  - has_volatile.yaml
  - has_expected_size.yaml
  - has_bit_fields.yaml

required: [name, type]

properties:
  name: &pattern_string
    type: string
    pattern: &pattern "^[a-zA-Z0-9-_.:]+$"

  type: *pattern_string

  array_length:
    type: integer
    minimum: 2

  padding:
    type: boolean
    default: false

  expected_offset:
    type: integer

  alternates:
    type: array
    items:
      $ref: package://ifgen/schemas/StructFieldAlternate.yaml
