OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MOJO_PUBLIC_C_BINDINGS_STRING_H_ | 5 #ifndef MOJO_PUBLIC_C_INCLUDE_MOJO_BINDINGS_STRING_H_ |
6 #define MOJO_PUBLIC_C_BINDINGS_STRING_H_ | 6 #define MOJO_PUBLIC_C_INCLUDE_MOJO_BINDINGS_STRING_H_ |
7 | 7 |
8 #include "mojo/public/c/bindings/array.h" | 8 #include <mojo/bindings/array.h> |
9 #include "mojo/public/c/bindings/buffer.h" | 9 #include <mojo/bindings/buffer.h> |
10 | 10 |
11 // A mojom string is a mojom array of UTF-8 chars that need not be | 11 // A mojom string is a mojom array of UTF-8 chars that need not be |
12 // null-terminated. | 12 // null-terminated. |
13 struct MojomStringHeader { | 13 struct MojomStringHeader { |
14 struct MojomArrayHeader chars; | 14 struct MojomArrayHeader chars; |
15 }; | 15 }; |
16 MOJO_STATIC_ASSERT(sizeof(struct MojomStringHeader) == | 16 MOJO_STATIC_ASSERT(sizeof(struct MojomStringHeader) == |
17 sizeof(struct MojomArrayHeader), | 17 sizeof(struct MojomArrayHeader), |
18 "MojomStringHeader must be just a MojomArrayHeader."); | 18 "MojomStringHeader must be just a MojomArrayHeader."); |
19 | 19 |
20 union MojomStringHeaderPtr { | 20 union MojomStringHeaderPtr { |
21 struct MojomStringHeader* ptr; | 21 struct MojomStringHeader* ptr; |
22 uint64_t offset; | 22 uint64_t offset; |
23 }; | 23 }; |
24 MOJO_STATIC_ASSERT(sizeof(union MojomStringHeaderPtr) == 8, | 24 MOJO_STATIC_ASSERT(sizeof(union MojomStringHeaderPtr) == 8, |
25 "MojomStringHeaderPtr must be 8 byes."); | 25 "MojomStringHeaderPtr must be 8 byes."); |
26 | 26 |
27 #endif // MOJO_PUBLIC_C_BINDINGS_STRING_H_ | 27 #endif // MOJO_PUBLIC_C_INCLUDE_MOJO_BINDINGS_STRING_H_ |
OLD | NEW |