Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: mojo/public/c/bindings/buffer.h

Issue 2232833003: Change the canonical way to include the C bindings headers to <mojo/bindings/*.h>. (Closed) Base URL: https://github.com/domokit/mojo.git@work791_mojo_tests
Patch Set: rebased Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/public/c/bindings/array.h ('k') | mojo/public/c/bindings/interface.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 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
5 #ifndef MOJO_PUBLIC_C_BINDINGS_BUFFER_H_
6 #define MOJO_PUBLIC_C_BINDINGS_BUFFER_H_
7
8 #include <mojo/macros.h>
9 #include <mojo/system/handle.h>
10 #include <stdint.h>
11
12 MOJO_BEGIN_EXTERN_C
13
14 // |MojomBuffer| is used to track a buffer state for mojom serialization. The
15 // user must initialize this struct themselves. See the fields for details.
16 struct MojomBuffer {
17 char* buf;
18 // The number of bytes described by |buf|.
19 uint32_t buf_size;
20 // Must be initialized to 0. MojomBuffer_Allocate() will update it as it
21 // consumes |buf|.
22 uint32_t num_bytes_used;
23 };
24
25 // Allocates |num_bytes| (rounded up to 8 bytes) from |buf|. Returns NULL if
26 // there isn't enough space left to allocate.
27 void* MojomBuffer_Allocate(struct MojomBuffer* buf, uint32_t num_bytes);
28
29 // |MojomHandleBuffer| is used to track handle offsets during serialization.
30 // Handles are moved into the |handles| array, and are referred to by index
31 // into the array. The user must initialize this struct themselves. See the
32 // fields for details.
33 struct MojomHandleBuffer {
34 // |handles| must contain enough space to store all the valid MojoHandles
35 // encountered during serialization.
36 MojoHandle* handles;
37 // Size of the |handles| array.
38 uint32_t num_handles;
39 // The number of handles used so far in |handles|. As handles are moved into
40 // |handles|, this counter is incremented. The caller can use it to determine
41 // how many handles were moved into |handles| after serialization. This
42 // counter must be initialized appropriately before the struct can be used.
43 uint32_t num_handles_used;
44 };
45
46 MOJO_END_EXTERN_C
47
48 #endif // MOJO_PUBLIC_C_BINDINGS_BUFFER_H_
OLDNEW
« no previous file with comments | « mojo/public/c/bindings/array.h ('k') | mojo/public/c/bindings/interface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698