1// Copyright 2018 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5module mojo_base.mojom; 6 7// Wraps a shared memory handle with additional type information to convey that 8// the handle is only mappable to read-only memory. 9struct ReadOnlySharedMemoryRegion { 10 handle<shared_buffer> buffer; 11}; 12 13// Wraps a shared memory handle with additional type information to convey that 14// the handle is mappable to writable memory but can also be converted to 15// a ReadOnlySharedMemoryRegion for sharing with other clients. 16struct WritableSharedMemoryRegion { 17 handle<shared_buffer> buffer; 18}; 19 20// Wraps a shared memory handle with additional type information to convey that 21// the handle is always mappable to writable memory by any client which obtains 22// a handle duplicated from this one. 23struct UnsafeSharedMemoryRegion { 24 handle<shared_buffer> buffer; 25}; 26