| // Copyright 2020 The Go 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 bindingstest; |
| |
| using zx; |
| |
| protocol Test1 { |
| Echo(struct { |
| in string:optional; |
| }) -> (struct { |
| out string:optional; |
| }); |
| NoResponse(); |
| EmptyResponse() -> (); |
| TooManyBytesInResponse() -> (struct { |
| out vector<uint8>:MAX; |
| }); |
| TooManyHandlesInResponse() -> (resource struct { |
| out vector<zx.handle>:MAX; |
| }); |
| -> Surprise(struct { |
| foo string; |
| }); |
| EchoHandleRights(resource struct { |
| h zx.handle:<PORT, zx.rights.READ | zx.rights.TRANSFER | zx.rights.DUPLICATE>; |
| }) -> (struct { |
| rights uint32; |
| }); |
| }; |