| // 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 ddk.protocol.sysmem; |
| |
| using zx; |
| |
| [Layout = "ddk-protocol"] |
| protocol Sysmem { |
| /// Takes the server end of a FIDL connection that'll serve |
| /// fuchsia.sysmem.Allocator. If the connection fails, the channel will |
| /// close. |
| Connect(handle<channel> allocator_request) -> (zx.status s); |
| |
| /// Takes the client end of a FIDL connection that'll serve |
| /// fuchsia.sysmem.Heap. |
| RegisterHeap(uint64 heap, handle<channel> heap_connection) -> (zx.status s); |
| |
| /// Takes the client end of a FIDL connection that'll serve |
| /// fuchsia.sysmem.SecureMem, which is a protocol that's specific to |
| /// sysmem<->securemem concerns. |
| RegisterSecureMem(handle<channel> secure_mem_connection) -> (zx.status s); |
| |
| /// Informs sysmem that the channel previously passed to RegisterSecureMem() |
| /// will be closing soon, and that this channel closure should not be |
| /// considered an error. |
| UnregisterSecureMem() -> (zx.status s); |
| }; |