| // Copyright 2018 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module mojo_base.mojom; |
| |
| // Wraps a shared memory handle with additional type information to convey that |
| // the handle is only mappable to read-only memory. |
| [Stable] |
| struct ReadOnlySharedMemoryRegion { |
| handle<shared_buffer> buffer; |
| }; |
| |
| // Wraps a shared memory handle with additional type information to convey that |
| // the handle is mappable to writable memory but can also be converted to |
| // a ReadOnlySharedMemoryRegion for sharing with other clients. |
| struct WritableSharedMemoryRegion { |
| handle<shared_buffer> buffer; |
| }; |
| |
| // Wraps a shared memory handle with additional type information to convey that |
| // the handle is always mappable to writable memory by any client which obtains |
| // a handle duplicated from this one. |
| [Stable] |
| struct UnsafeSharedMemoryRegion { |
| handle<shared_buffer> buffer; |
| }; |