// Copyright 2018 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 ddk.driver;

// TODO: Not need this anymore.
[repr = "Hidden"]
struct ZxDevice {
};

// TODO: Not need this anymore.
[repr = "C"]
struct ZxProtocolDevice {
};

[repr = "C"]
struct ZxDeviceProp {
};

[repr = "C"]
struct DeviceAddArgs {
};

[repr = "C"]
struct DeviceComponent {
};
