// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

library bindlib.codegen.testlib;

using fuchsia.pci;
using bindlibparent.codegen.testlib;

string kinglet;
uint bobolink;
enum Moon {
    Half,
    Full,
};

bool flag {
  ENABLE = true,
  DISABLE = false,
};

extend uint fuchsia.BIND_PCI_VID {
  PIE = 0x314,
};

extend uint bindlibparent.codegen.testlib.Grit {
  FINE = 200,
};
