// 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.hw.physiter;

struct SgEntry {
    /// length starting at the scatter gather entry offset, must be non zero
    uint64 length;
    /// offset relative to the buffer's vmo_offset
    uint64 offset;
};
