| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 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_PLATFORM_NACL_MOJO_IRT_H_ | |
| 6 #define MOJO_PUBLIC_PLATFORM_NACL_MOJO_IRT_H_ | |
| 7 | |
| 8 #include <mojo/result.h> | |
| 9 #include <mojo/system/buffer.h> | |
| 10 #include <mojo/system/data_pipe.h> | |
| 11 #include <mojo/system/handle.h> | |
| 12 #include <mojo/system/message_pipe.h> | |
| 13 #include <mojo/system/time.h> | |
| 14 #include <mojo/system/wait_set.h> | |
| 15 | |
| 16 #define NACL_IRT_MOJO_v0_1 "nacl-irt-mojo-0.1" | |
| 17 | |
| 18 struct nacl_irt_mojo { | |
| 19 MojoResult (*_MojoGetInitialHandle)(MojoHandle* handle); | |
| 20 MojoTimeTicks (*MojoGetTimeTicksNow)(); | |
| 21 MojoResult (*MojoClose)(MojoHandle handle); | |
| 22 MojoResult (*MojoGetRights)(MojoHandle handle, MojoHandleRights* rights); | |
| 23 MojoResult (*MojoReplaceHandleWithReducedRights)( | |
| 24 MojoHandle handle, | |
| 25 MojoHandleRights rights_to_remove, | |
| 26 MojoHandle* replacement_handle); | |
| 27 MojoResult (*MojoDuplicateHandleWithReducedRights)( | |
| 28 MojoHandle handle, | |
| 29 MojoHandleRights rights_to_remove, | |
| 30 MojoHandle* new_handle); | |
| 31 MojoResult (*MojoDuplicateHandle)(MojoHandle handle, MojoHandle* new_handle); | |
| 32 MojoResult (*MojoWait)(MojoHandle handle, | |
| 33 MojoHandleSignals signals, | |
| 34 MojoDeadline deadline, | |
| 35 struct MojoHandleSignalsState* signals_state); | |
| 36 MojoResult (*MojoWaitMany)(const MojoHandle* handles, | |
| 37 const MojoHandleSignals* signals, | |
| 38 uint32_t num_handles, | |
| 39 MojoDeadline deadline, | |
| 40 uint32_t* result_index, | |
| 41 struct MojoHandleSignalsState* signals_states); | |
| 42 MojoResult (*MojoCreateMessagePipe)( | |
| 43 const struct MojoCreateMessagePipeOptions* options, | |
| 44 MojoHandle* message_pipe_handle0, | |
| 45 MojoHandle* message_pipe_handle1); | |
| 46 MojoResult (*MojoWriteMessage)(MojoHandle message_pipe_handle, | |
| 47 const void* bytes, | |
| 48 uint32_t num_bytes, | |
| 49 const MojoHandle* handles, | |
| 50 uint32_t num_handles, | |
| 51 MojoWriteMessageFlags flags); | |
| 52 MojoResult (*MojoReadMessage)(MojoHandle message_pipe_handle, | |
| 53 void* bytes, | |
| 54 uint32_t* num_bytes, | |
| 55 MojoHandle* handles, | |
| 56 uint32_t* num_handles, | |
| 57 MojoReadMessageFlags flags); | |
| 58 MojoResult (*MojoCreateDataPipe)( | |
| 59 const struct MojoCreateDataPipeOptions* options, | |
| 60 MojoHandle* data_pipe_producer_handle, | |
| 61 MojoHandle* data_pipe_consumer_handle); | |
| 62 MojoResult (*MojoSetDataPipeProducerOptions)( | |
| 63 MojoHandle data_pipe_producer_handle, | |
| 64 const struct MojoDataPipeProducerOptions* options); | |
| 65 MojoResult (*MojoGetDataPipeProducerOptions)( | |
| 66 MojoHandle data_pipe_producer_handle, | |
| 67 struct MojoDataPipeProducerOptions* options, | |
| 68 uint32_t options_num_bytes); | |
| 69 MojoResult (*MojoWriteData)(MojoHandle data_pipe_producer_handle, | |
| 70 const void* elements, | |
| 71 uint32_t* num_bytes, | |
| 72 MojoWriteDataFlags flags); | |
| 73 MojoResult (*MojoBeginWriteData)(MojoHandle data_pipe_producer_handle, | |
| 74 void** buffer, | |
| 75 uint32_t* buffer_num_bytes, | |
| 76 MojoWriteDataFlags flags); | |
| 77 MojoResult (*MojoEndWriteData)(MojoHandle data_pipe_producer_handle, | |
| 78 uint32_t num_bytes_written); | |
| 79 MojoResult (*MojoSetDataPipeConsumerOptions)( | |
| 80 MojoHandle data_pipe_consumer_handle, | |
| 81 const struct MojoDataPipeConsumerOptions* options); | |
| 82 MojoResult (*MojoGetDataPipeConsumerOptions)( | |
| 83 MojoHandle data_pipe_consumer_handle, | |
| 84 struct MojoDataPipeConsumerOptions* options, | |
| 85 uint32_t options_num_bytes); | |
| 86 MojoResult (*MojoReadData)(MojoHandle data_pipe_consumer_handle, | |
| 87 void* elements, | |
| 88 uint32_t* num_bytes, | |
| 89 MojoReadDataFlags flags); | |
| 90 MojoResult (*MojoBeginReadData)(MojoHandle data_pipe_consumer_handle, | |
| 91 const void** buffer, | |
| 92 uint32_t* buffer_num_bytes, | |
| 93 MojoReadDataFlags flags); | |
| 94 MojoResult (*MojoEndReadData)(MojoHandle data_pipe_consumer_handle, | |
| 95 uint32_t num_bytes_read); | |
| 96 MojoResult (*MojoCreateSharedBuffer)( | |
| 97 const struct MojoCreateSharedBufferOptions* options, | |
| 98 uint64_t num_bytes, | |
| 99 MojoHandle* shared_buffer_handle); | |
| 100 MojoResult (*MojoDuplicateBufferHandle)( | |
| 101 MojoHandle buffer_handle, | |
| 102 const struct MojoDuplicateBufferHandleOptions* options, | |
| 103 MojoHandle* new_buffer_handle); | |
| 104 MojoResult (*MojoGetBufferInformation)(MojoHandle buffer_handle, | |
| 105 struct MojoBufferInformation* info, | |
| 106 uint32_t info_num_bytes); | |
| 107 MojoResult (*MojoMapBuffer)(MojoHandle buffer_handle, | |
| 108 uint64_t offset, | |
| 109 uint64_t num_bytes, | |
| 110 void** buffer, | |
| 111 MojoMapBufferFlags flags); | |
| 112 MojoResult (*MojoUnmapBuffer)(void* buffer); | |
| 113 MojoResult (*MojoCreateWaitSet)( | |
| 114 const struct MojoCreateWaitSetOptions* options, | |
| 115 MojoHandle* handle); | |
| 116 MojoResult (*MojoWaitSetAdd)(MojoHandle wait_set_handle, | |
| 117 MojoHandle handle, | |
| 118 MojoHandleSignals signals, | |
| 119 uint64_t cookie, | |
| 120 const struct MojoWaitSetAddOptions* options); | |
| 121 MojoResult (*MojoWaitSetRemove)(MojoHandle wait_set_handle, uint64_t cookie); | |
| 122 MojoResult (*MojoWaitSetWait)(MojoHandle wait_set_handle, | |
| 123 MojoDeadline deadline, | |
| 124 uint32_t* num_results, | |
| 125 struct MojoWaitSetResult* results, | |
| 126 uint32_t* max_results); | |
| 127 }; | |
| 128 | |
| 129 #endif // MOJO_PUBLIC_PLATFORM_NACL_MOJO_IRT_H_ | |
| OLD | NEW |