11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# distutils: language = c++ 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom cpython.buffer cimport PyBUF_CONTIG 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom cpython.buffer cimport PyBUF_CONTIG_RO 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom cpython.buffer cimport Py_buffer 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom cpython.buffer cimport PyBuffer_FillInfo 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom cpython.buffer cimport PyBuffer_Release 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom cpython.buffer cimport PyObject_GetBuffer 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom cpython.mem cimport PyMem_Malloc, PyMem_Free 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom libc.stdint cimport int32_t, int64_t, uint32_t, uint64_t, uintptr_t 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "third_party/cython/python_export.h": 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci pass 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "mojo/public/platform/native/system_thunks.h" nogil: 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef struct MojoSystemThunks: 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci pass 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern size_t MojoSetSystemThunks(const MojoSystemThunks* system_thunks) 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "mojo/public/c/system/core.h" nogil: 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci # types.h 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef int64_t MojoTimeTicks 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoHandle 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoHandle MOJO_HANDLE_INVALID 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef int32_t MojoResult 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_OK 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_CANCELLED 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_UNKNOWN 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_INVALID_ARGUMENT 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_DEADLINE_EXCEEDED 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_NOT_FOUND 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_ALREADY_EXISTS 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_PERMISSION_DENIED 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_RESOURCE_EXHAUSTED 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_FAILED_PRECONDITION 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_ABORTED 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_OUT_OF_RANGE 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_UNIMPLEMENTED 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_INTERNAL 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_UNAVAILABLE 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_DATA_LOSS 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_BUSY 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoResult MOJO_RESULT_SHOULD_WAIT 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint64_t MojoDeadline 531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoDeadline MOJO_DEADLINE_INDEFINITE 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoHandleSignals 561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoHandleSignals MOJO_HANDLE_SIGNAL_NONE 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoHandleSignals MOJO_HANDLE_SIGNAL_READABLE 581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoHandleSignals MOJO_HANDLE_SIGNAL_WRITABLE 591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci # functions.h 611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoTimeTicks MojoGetTimeTicksNow() 621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoClose(MojoHandle handle) 631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoWait(MojoHandle handle, 641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandleSignals signals, 651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoDeadline deadline) 661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoWaitMany(const MojoHandle* handles, 671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoHandleSignals* signals, 681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t num_handles, 691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoDeadline deadline) 701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci # message_pipe.h 721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoCreateMessagePipeOptionsFlags 731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoCreateMessagePipeOptionsFlags MOJO_CREATE_MESSAGE_PIPE_OPTIONS_FLAG_NONE 741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoWriteMessageFlags 761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoWriteMessageFlags MOJO_WRITE_MESSAGE_FLAG_NONE 771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoReadMessageFlags 791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoReadMessageFlags MOJO_READ_MESSAGE_FLAG_NONE 801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoReadMessageFlags MOJO_READ_MESSAGE_FLAG_MAY_DISCARD 811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef struct MojoCreateMessagePipeOptions: 831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t struct_size 841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoCreateMessagePipeOptionsFlags flags 851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoCreateMessagePipe( 871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoCreateMessagePipeOptions* options, 881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle* message_pipe_handle0, 891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle* message_pipe_handle1) 901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoWriteMessage( 921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle message_pipe_handle, 931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const void* bytes, 941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t num_bytes, 951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoHandle* handles, 961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t num_handles, 971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoWriteMessageFlags flags) 981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoReadMessage( 1001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle message_pipe_handle, 1011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void* bytes, 1021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t* num_bytes, 1031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle* handles, 1041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t* num_handles, 1051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoReadMessageFlags flags) 1061320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1071320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci # data_pipe.h 1081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoCreateDataPipeOptionsFlags 1091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoCreateDataPipeOptionsFlags MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE 1101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoCreateDataPipeOptionsFlags MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_MAY_DISCARD 1111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef struct MojoCreateDataPipeOptions: 1131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t struct_size 1141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoCreateDataPipeOptionsFlags flags 1151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t element_num_bytes 1161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t capacity_num_bytes 1171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoWriteDataFlags 1191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_NONE 1211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_ALL_OR_NONE 1221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoReadDataFlags 1241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoReadDataFlags MOJO_READ_DATA_FLAG_NONE 1261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoReadDataFlags MOJO_READ_DATA_FLAG_ALL_OR_NONE 1271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoReadDataFlags MOJO_READ_DATA_FLAG_DISCARD 1281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoReadDataFlags MOJO_READ_DATA_FLAG_QUERY 1291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoCreateDataPipe( 1311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoCreateDataPipeOptions* options, 1321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle* data_pipe_producer_handle, 1331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle* data_pipe_consumer_handle) 1341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoWriteData( 1361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle data_pipe_producer_handle, 1371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const void* elements, 1381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t* num_bytes, 1391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoWriteDataFlags flags) 1401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoBeginWriteData( 1421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle data_pipe_producer_handle, 1431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void** buffer, 1441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t* buffer_num_bytes, 1451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoWriteDataFlags flags) 1461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoEndWriteData( 1481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle data_pipe_producer_handle, 1491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t num_bytes_written) 1501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoReadData( 1521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle data_pipe_consumer_handle, 1531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void* elements, 1541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t* num_bytes, 1551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoReadDataFlags flags) 1561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoBeginReadData( 1581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle data_pipe_consumer_handle, 1591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const void** buffer, 1601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t* buffer_num_bytes, 1611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoReadDataFlags flags) 1621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoEndReadData( 1641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle data_pipe_consumer_handle, 1651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t num_bytes_read) 1661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci # buffer.h 1681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoCreateSharedBufferOptionsFlags 1691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoCreateSharedBufferOptionsFlags MOJO_CREATE_SHARED_BUFFER_OPTIONS_FLAG_NONE 1701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef struct MojoCreateSharedBufferOptions: 1721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t struct_size 1731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoCreateSharedBufferOptionsFlags flags 1741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoDuplicateBufferHandleOptionsFlags 1761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoDuplicateBufferHandleOptionsFlags MOJO_DUPLICATE_BUFFER_HANDLE_OPTIONS_FLAG_NONE 1771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef struct MojoDuplicateBufferHandleOptions: 1791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint32_t struct_size 1801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoDuplicateBufferHandleOptionsFlags flags 1811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoMapBufferFlags 1831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoMapBufferFlags MOJO_MAP_BUFFER_FLAG_NONE 1841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoCreateSharedBuffer( 1861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoCreateSharedBufferOptions* options, 1871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint64_t num_bytes, 1881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle* shared_buffer_handle) 1891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoDuplicateBufferHandle( 1911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle buffer_handle, 1921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const MojoDuplicateBufferHandleOptions* options, 1931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandle* new_buffer_handle) 1941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoMapBuffer(MojoHandle buffer_handle, 1961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint64_t offset, 1971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci uint64_t num_bytes, 1981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void** buffer, 1991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoMapBufferFlags flags) 2001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 2011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoResult MojoUnmapBuffer(void* buffer) 202