OLD | NEW |
| (Empty) |
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 | |
3 # found in the LICENSE file. | |
4 | |
5 # distutils: language = c++ | |
6 | |
7 from cpython.buffer cimport PyBUF_CONTIG | |
8 from cpython.buffer cimport PyBUF_CONTIG_RO | |
9 from cpython.buffer cimport Py_buffer | |
10 from cpython.buffer cimport PyBuffer_FillInfo | |
11 from cpython.buffer cimport PyBuffer_Release | |
12 from cpython.buffer cimport PyObject_GetBuffer | |
13 from cpython.mem cimport PyMem_Malloc, PyMem_Free | |
14 from libc.stdint cimport int32_t, int64_t, uint32_t, uint64_t, uintptr_t | |
15 | |
16 cdef extern from "mojo/result.h" nogil: | |
17 ctypedef int32_t MojoResult | |
18 const MojoResult MOJO_RESULT_OK | |
19 const MojoResult MOJO_RESULT_CANCELLED | |
20 const MojoResult MOJO_RESULT_UNKNOWN | |
21 const MojoResult MOJO_RESULT_INVALID_ARGUMENT | |
22 const MojoResult MOJO_RESULT_DEADLINE_EXCEEDED | |
23 const MojoResult MOJO_RESULT_NOT_FOUND | |
24 const MojoResult MOJO_RESULT_ALREADY_EXISTS | |
25 const MojoResult MOJO_RESULT_PERMISSION_DENIED | |
26 const MojoResult MOJO_RESULT_RESOURCE_EXHAUSTED | |
27 const MojoResult MOJO_RESULT_FAILED_PRECONDITION | |
28 const MojoResult MOJO_RESULT_ABORTED | |
29 const MojoResult MOJO_RESULT_OUT_OF_RANGE | |
30 const MojoResult MOJO_RESULT_UNIMPLEMENTED | |
31 const MojoResult MOJO_RESULT_INTERNAL | |
32 const MojoResult MOJO_RESULT_UNAVAILABLE | |
33 const MojoResult MOJO_RESULT_DATA_LOSS | |
34 const MojoResult MOJO_RESULT_BUSY | |
35 const MojoResult MOJO_RESULT_SHOULD_WAIT | |
36 | |
37 cdef extern from "mojo/system/handle.h" nogil: | |
38 ctypedef uint32_t MojoHandle | |
39 const MojoHandle MOJO_HANDLE_INVALID | |
40 | |
41 ctypedef uint32_t MojoHandleSignals | |
42 const MojoHandleSignals MOJO_HANDLE_SIGNAL_NONE | |
43 const MojoHandleSignals MOJO_HANDLE_SIGNAL_READABLE | |
44 const MojoHandleSignals MOJO_HANDLE_SIGNAL_WRITABLE | |
45 const MojoHandleSignals MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
46 | |
47 cdef struct MojoHandleSignalsState: | |
48 MojoHandleSignals satisfied_signals | |
49 MojoHandleSignals satisfiable_signals | |
50 | |
51 MojoResult MojoClose(MojoHandle handle) | |
52 | |
53 cdef extern from "mojo/system/time.h" nogil: | |
54 ctypedef int64_t MojoTimeTicks | |
55 | |
56 ctypedef uint64_t MojoDeadline | |
57 const MojoDeadline MOJO_DEADLINE_INDEFINITE | |
58 | |
59 MojoTimeTicks MojoGetTimeTicksNow() | |
60 | |
61 cdef extern from "mojo/system/wait.h" nogil: | |
62 MojoResult MojoWait "MojoWait"(MojoHandle handle, | |
63 MojoHandleSignals signals, | |
64 MojoDeadline deadline, | |
65 MojoHandleSignalsState* signals_state) | |
66 MojoResult MojoWaitMany "MojoWaitMany"(const MojoHandle* handles, | |
67 const MojoHandleSignals* signals, | |
68 uint32_t num_handles, | |
69 MojoDeadline deadline, | |
70 uint32_t* result_index, | |
71 MojoHandleSignalsState* signals_states) | |
72 | |
73 cdef extern from "mojo/system/message_pipe.h" nogil: | |
74 ctypedef uint32_t MojoCreateMessagePipeOptionsFlags | |
75 const MojoCreateMessagePipeOptionsFlags MOJO_CREATE_MESSAGE_PIPE_OPTIONS_FLAG_
NONE | |
76 | |
77 ctypedef uint32_t MojoWriteMessageFlags | |
78 const MojoWriteMessageFlags MOJO_WRITE_MESSAGE_FLAG_NONE | |
79 | |
80 ctypedef uint32_t MojoReadMessageFlags | |
81 const MojoReadMessageFlags MOJO_READ_MESSAGE_FLAG_NONE | |
82 const MojoReadMessageFlags MOJO_READ_MESSAGE_FLAG_MAY_DISCARD | |
83 | |
84 cdef struct MojoCreateMessagePipeOptions: | |
85 uint32_t struct_size | |
86 MojoCreateMessagePipeOptionsFlags flags | |
87 | |
88 MojoResult MojoCreateMessagePipe( | |
89 const MojoCreateMessagePipeOptions* options, | |
90 MojoHandle* message_pipe_handle0, | |
91 MojoHandle* message_pipe_handle1) | |
92 | |
93 MojoResult MojoWriteMessage( | |
94 MojoHandle message_pipe_handle, | |
95 const void* bytes, | |
96 uint32_t num_bytes, | |
97 const MojoHandle* handles, | |
98 uint32_t num_handles, | |
99 MojoWriteMessageFlags flags) | |
100 | |
101 MojoResult MojoReadMessage( | |
102 MojoHandle message_pipe_handle, | |
103 void* bytes, | |
104 uint32_t* num_bytes, | |
105 MojoHandle* handles, | |
106 uint32_t* num_handles, | |
107 MojoReadMessageFlags flags) | |
108 | |
109 cdef extern from "mojo/system/data_pipe.h" nogil: | |
110 ctypedef uint32_t MojoCreateDataPipeOptionsFlags | |
111 const MojoCreateDataPipeOptionsFlags MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE | |
112 | |
113 cdef struct MojoCreateDataPipeOptions: | |
114 uint32_t struct_size | |
115 MojoCreateDataPipeOptionsFlags flags | |
116 uint32_t element_num_bytes | |
117 uint32_t capacity_num_bytes | |
118 | |
119 ctypedef uint32_t MojoWriteDataFlags | |
120 | |
121 const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_NONE | |
122 const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_ALL_OR_NONE | |
123 | |
124 ctypedef uint32_t MojoReadDataFlags | |
125 | |
126 const MojoReadDataFlags MOJO_READ_DATA_FLAG_NONE | |
127 const MojoReadDataFlags MOJO_READ_DATA_FLAG_ALL_OR_NONE | |
128 const MojoReadDataFlags MOJO_READ_DATA_FLAG_DISCARD | |
129 const MojoReadDataFlags MOJO_READ_DATA_FLAG_QUERY | |
130 const MojoReadDataFlags MOJO_READ_DATA_FLAG_PEEK | |
131 | |
132 MojoResult MojoCreateDataPipe( | |
133 const MojoCreateDataPipeOptions* options, | |
134 MojoHandle* data_pipe_producer_handle, | |
135 MojoHandle* data_pipe_consumer_handle) | |
136 | |
137 MojoResult MojoWriteData( | |
138 MojoHandle data_pipe_producer_handle, | |
139 const void* elements, | |
140 uint32_t* num_bytes, | |
141 MojoWriteDataFlags flags) | |
142 | |
143 MojoResult MojoBeginWriteData( | |
144 MojoHandle data_pipe_producer_handle, | |
145 void** buffer, | |
146 uint32_t* buffer_num_bytes, | |
147 MojoWriteDataFlags flags) | |
148 | |
149 MojoResult MojoEndWriteData( | |
150 MojoHandle data_pipe_producer_handle, | |
151 uint32_t num_bytes_written) | |
152 | |
153 MojoResult MojoReadData( | |
154 MojoHandle data_pipe_consumer_handle, | |
155 void* elements, | |
156 uint32_t* num_bytes, | |
157 MojoReadDataFlags flags) | |
158 | |
159 MojoResult MojoBeginReadData( | |
160 MojoHandle data_pipe_consumer_handle, | |
161 const void** buffer, | |
162 uint32_t* buffer_num_bytes, | |
163 MojoReadDataFlags flags) | |
164 | |
165 MojoResult MojoEndReadData( | |
166 MojoHandle data_pipe_consumer_handle, | |
167 uint32_t num_bytes_read) | |
168 | |
169 cdef extern from "mojo/system/buffer.h" nogil: | |
170 ctypedef uint32_t MojoCreateSharedBufferOptionsFlags | |
171 const MojoCreateSharedBufferOptionsFlags MOJO_CREATE_SHARED_BUFFER_OPTIONS_FLA
G_NONE | |
172 | |
173 cdef struct MojoCreateSharedBufferOptions: | |
174 uint32_t struct_size | |
175 MojoCreateSharedBufferOptionsFlags flags | |
176 | |
177 ctypedef uint32_t MojoDuplicateBufferHandleOptionsFlags | |
178 const MojoDuplicateBufferHandleOptionsFlags MOJO_DUPLICATE_BUFFER_HANDLE_OPTIO
NS_FLAG_NONE | |
179 | |
180 cdef struct MojoDuplicateBufferHandleOptions: | |
181 uint32_t struct_size | |
182 MojoDuplicateBufferHandleOptionsFlags flags | |
183 | |
184 ctypedef uint32_t MojoMapBufferFlags | |
185 const MojoMapBufferFlags MOJO_MAP_BUFFER_FLAG_NONE | |
186 | |
187 MojoResult MojoCreateSharedBuffer( | |
188 const MojoCreateSharedBufferOptions* options, | |
189 uint64_t num_bytes, | |
190 MojoHandle* shared_buffer_handle) | |
191 | |
192 MojoResult MojoDuplicateBufferHandle( | |
193 MojoHandle buffer_handle, | |
194 const MojoDuplicateBufferHandleOptions* options, | |
195 MojoHandle* new_buffer_handle) | |
196 | |
197 MojoResult MojoMapBuffer(MojoHandle buffer_handle, | |
198 uint64_t offset, | |
199 uint64_t num_bytes, | |
200 void** buffer, | |
201 MojoMapBufferFlags flags) | |
202 | |
203 MojoResult MojoUnmapBuffer(void* buffer) | |
OLD | NEW |