blob: 87474869948474d8c3a228ec4e4630050445c2eb [file]
// 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 banjo.examples.protocolprimitive;
@transport("Banjo")
@banjo_layout("ddk-protocol")
protocol SynchronousPrimitive {
Bool(struct {
b bool;
}) -> (struct {
b bool;
b_2 bool;
});
Int8(struct {
i8 int8;
}) -> (struct {
i8 int8;
i8_2 int8;
});
Int16(struct {
i16 int16;
}) -> (struct {
i16 int16;
i16_2 int16;
});
Int32(struct {
i32 int32;
}) -> (struct {
i32 int32;
i32_2 int32;
});
Int64(struct {
i64 int64;
}) -> (struct {
i64 int64;
i64_2 int64;
});
Uint8(struct {
u8 uint8;
}) -> (struct {
u8 uint8;
u8_2 uint8;
});
Uint16(struct {
u16 uint16;
}) -> (struct {
u16 uint16;
u16_2 uint16;
});
Uint32(struct {
u32 uint32;
}) -> (struct {
u32 uint32;
u32_2 uint32;
});
Uint64(struct {
u64 uint64;
}) -> (struct {
u64 uint64;
u64_2 uint64;
});
Float32(struct {
f32 float32;
}) -> (struct {
f32 float32;
f32_2 float32;
});
Float64(struct {
u64 float64;
}) -> (struct {
f64 float64;
f64_2 float64;
});
};
@transport("Banjo")
@banjo_layout("ddk-protocol")
protocol AsyncPrimitive {
@async
Bool(struct {
b bool;
}) -> (struct {
b bool;
b_2 bool;
});
@async
Int8(struct {
i8 int8;
}) -> (struct {
i8 int8;
i8_2 int8;
});
@async
Int16(struct {
i16 int16;
}) -> (struct {
i16 int16;
i16_2 int16;
});
@async
Int32(struct {
i32 int32;
}) -> (struct {
i32 int32;
i32_2 int32;
});
@async
Int64(struct {
i64 int64;
}) -> (struct {
i64 int64;
i64_2 int64;
});
@async
Uint8(struct {
u8 uint8;
}) -> (struct {
u8 uint8;
u8_2 uint8;
});
@async
Uint16(struct {
u16 uint16;
}) -> (struct {
u16 uint16;
u16_2 uint16;
});
@async
Uint32(struct {
u32 uint32;
}) -> (struct {
u32 uint32;
u32_2 uint32;
});
@async
Uint64(struct {
u64 uint64;
}) -> (struct {
u64 uint64;
u64_2 uint64;
});
@async
Float32(struct {
f32 float32;
}) -> (struct {
f32 float32;
f32_2 float32;
});
@async
Float64(struct {
u64 float64;
}) -> (struct {
f64 float64;
f64_2 float64;
});
};