// Copyright 2019 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 zircon.device.sysmem;

[repr = "C"]

struct BufferCollectionInfo {
};

struct BufferCollectionInfo_2 {
};

struct ImageFormat {
};

struct ImageFormat_2 {
};