// Copyright 2020 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 conformance;

struct Persistent1Message {
    PersistentHeader header;
    Table_PersistentMessage body;
};

struct PersistentHeader {
    array<uint8>:3 flags;
    uint8 magic_number;
};

table Table_PersistentMessage {
    1: uint32 i;
};
