blob: c776327a53c3311db82a5b75d223ea8dd6816a2c [file] [log] [blame]
// Copyright 2021 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 fidl.go.types;
type StrictBits = strict bits {
MEMBER_A = 1;
MEMBER_B = 2;
MEMBER_C = 4;
};
type FlexibleBits = flexible bits {
MEMBER_A = 8;
MEMBER_B = 16;
MEMBER_C = 32;
};
type StrictEnum = strict enum {
MEMBER_A = 23;
MEMBER_B = 34;
MEMBER_C = 45;
};
type FlexibleEnum = flexible enum {
MEMBER_A = 23;
MEMBER_B = 34;
MEMBER_C = 45;
@unknown
MEMBER_CUSTOM_UNKNOWN = 89;
};
type EmptyFlexibleEnum = flexible enum : uint32 {};
type SimpleTable = table {
1: x int64;
2: reserved;
3: reserved;
4: reserved;
5: y int64;
};
type ExampleStrictUnion = strict union {
1: foo string;
2: bar int32;
3: baz vector<uint8>;
};
type ExampleFlexibleUnion = flexible union {
1: reserved;
2: reserved;
3: reserved;
4: foo string;
5: bar int32;
6: baz vector<uint8>;
7: a array<int8, 3>;
8: d float32;
};