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

Side by Side Diff: mojo/public/c/system/message_pipe.h

Issue 1807613002: Add MOJO_{BEGIN,END}_EXTERN_C macros, and use them. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: asdf Created 4 years, 9 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/system/main.h ('k') | mojo/public/c/system/time.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // This file contains types/constants and functions specific to message pipes. 5 // This file contains types/constants and functions specific to message pipes.
6 // 6 //
7 // Note: This header should be compilable as C. 7 // Note: This header should be compilable as C.
8 8
9 #ifndef MOJO_PUBLIC_C_SYSTEM_MESSAGE_PIPE_H_ 9 #ifndef MOJO_PUBLIC_C_SYSTEM_MESSAGE_PIPE_H_
10 #define MOJO_PUBLIC_C_SYSTEM_MESSAGE_PIPE_H_ 10 #define MOJO_PUBLIC_C_SYSTEM_MESSAGE_PIPE_H_
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 // |MOJO_READ_MESSAGE_FLAG_NONE| - No flags; default mode. 47 // |MOJO_READ_MESSAGE_FLAG_NONE| - No flags; default mode.
48 // |MOJO_READ_MESSAGE_FLAG_MAY_DISCARD| - If the message is unable to be read 48 // |MOJO_READ_MESSAGE_FLAG_MAY_DISCARD| - If the message is unable to be read
49 // for whatever reason (e.g., the caller-supplied buffer is too small), 49 // for whatever reason (e.g., the caller-supplied buffer is too small),
50 // discard the message (i.e., simply dequeue it). 50 // discard the message (i.e., simply dequeue it).
51 51
52 typedef uint32_t MojoReadMessageFlags; 52 typedef uint32_t MojoReadMessageFlags;
53 53
54 #define MOJO_READ_MESSAGE_FLAG_NONE ((MojoReadMessageFlags)0) 54 #define MOJO_READ_MESSAGE_FLAG_NONE ((MojoReadMessageFlags)0)
55 #define MOJO_READ_MESSAGE_FLAG_MAY_DISCARD ((MojoReadMessageFlags)1 << 0) 55 #define MOJO_READ_MESSAGE_FLAG_MAY_DISCARD ((MojoReadMessageFlags)1 << 0)
56 56
57 #ifdef __cplusplus 57 MOJO_BEGIN_EXTERN_C
58 extern "C" {
59 #endif
60 58
61 // Creates a message pipe, which is a bidirectional communication channel for 59 // Creates a message pipe, which is a bidirectional communication channel for
62 // framed data (i.e., messages). Messages can contain plain data and/or Mojo 60 // framed data (i.e., messages). Messages can contain plain data and/or Mojo
63 // handles. 61 // handles.
64 // 62 //
65 // |options| may be set to null for a message pipe with the default options. 63 // |options| may be set to null for a message pipe with the default options.
66 // 64 //
67 // On success, |*message_pipe_handle0| and |*message_pipe_handle1| are set to 65 // On success, |*message_pipe_handle0| and |*message_pipe_handle1| are set to
68 // handles for the two endpoints (ports) for the message pipe. 66 // handles for the two endpoints (ports) for the message pipe.
69 // 67 //
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 // 142 //
145 // TODO(vtl): Reconsider the |MOJO_RESULT_RESOURCE_EXHAUSTED| error code; should 143 // TODO(vtl): Reconsider the |MOJO_RESULT_RESOURCE_EXHAUSTED| error code; should
146 // distinguish this from the hitting-system-limits case. 144 // distinguish this from the hitting-system-limits case.
147 MojoResult MojoReadMessage(MojoHandle message_pipe_handle, 145 MojoResult MojoReadMessage(MojoHandle message_pipe_handle,
148 void* bytes, // Optional out. 146 void* bytes, // Optional out.
149 uint32_t* num_bytes, // Optional in/out. 147 uint32_t* num_bytes, // Optional in/out.
150 MojoHandle* handles, // Optional out. 148 MojoHandle* handles, // Optional out.
151 uint32_t* num_handles, // Optional in/out. 149 uint32_t* num_handles, // Optional in/out.
152 MojoReadMessageFlags flags); 150 MojoReadMessageFlags flags);
153 151
154 #ifdef __cplusplus 152 MOJO_END_EXTERN_C
155 } // extern "C"
156 #endif
157 153
158 #endif // MOJO_PUBLIC_C_SYSTEM_MESSAGE_PIPE_H_ 154 #endif // MOJO_PUBLIC_C_SYSTEM_MESSAGE_PIPE_H_
OLDNEW
« no previous file with comments | « mojo/public/c/system/main.h ('k') | mojo/public/c/system/time.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698