mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
201 lines
6.8 KiB
Cython
201 lines
6.8 KiB
Cython
# Copyright 2014 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# distutils: language = c++
|
|
|
|
from cpython.buffer cimport PyBUF_CONTIG
|
|
from cpython.buffer cimport PyBUF_CONTIG_RO
|
|
from cpython.buffer cimport Py_buffer
|
|
from cpython.buffer cimport PyBuffer_FillInfo
|
|
from cpython.buffer cimport PyBuffer_Release
|
|
from cpython.buffer cimport PyObject_GetBuffer
|
|
from cpython.mem cimport PyMem_Malloc, PyMem_Free
|
|
from libc.stdint cimport int32_t, int64_t, uint32_t, uint64_t, uintptr_t
|
|
|
|
cdef extern from "mojo/public/c/system/core.h" nogil:
|
|
# types.h
|
|
ctypedef int64_t MojoTimeTicks
|
|
|
|
ctypedef uint32_t MojoHandle
|
|
const MojoHandle MOJO_HANDLE_INVALID
|
|
|
|
ctypedef int32_t MojoResult
|
|
const MojoResult MOJO_RESULT_OK
|
|
const MojoResult MOJO_RESULT_CANCELLED
|
|
const MojoResult MOJO_RESULT_UNKNOWN
|
|
const MojoResult MOJO_RESULT_INVALID_ARGUMENT
|
|
const MojoResult MOJO_RESULT_DEADLINE_EXCEEDED
|
|
const MojoResult MOJO_RESULT_NOT_FOUND
|
|
const MojoResult MOJO_RESULT_ALREADY_EXISTS
|
|
const MojoResult MOJO_RESULT_PERMISSION_DENIED
|
|
const MojoResult MOJO_RESULT_RESOURCE_EXHAUSTED
|
|
const MojoResult MOJO_RESULT_FAILED_PRECONDITION
|
|
const MojoResult MOJO_RESULT_ABORTED
|
|
const MojoResult MOJO_RESULT_OUT_OF_RANGE
|
|
const MojoResult MOJO_RESULT_UNIMPLEMENTED
|
|
const MojoResult MOJO_RESULT_INTERNAL
|
|
const MojoResult MOJO_RESULT_UNAVAILABLE
|
|
const MojoResult MOJO_RESULT_DATA_LOSS
|
|
const MojoResult MOJO_RESULT_BUSY
|
|
const MojoResult MOJO_RESULT_SHOULD_WAIT
|
|
|
|
ctypedef uint64_t MojoDeadline
|
|
const MojoDeadline MOJO_DEADLINE_INDEFINITE
|
|
|
|
ctypedef uint32_t MojoHandleSignals
|
|
const MojoHandleSignals MOJO_HANDLE_SIGNAL_NONE
|
|
const MojoHandleSignals MOJO_HANDLE_SIGNAL_READABLE
|
|
const MojoHandleSignals MOJO_HANDLE_SIGNAL_WRITABLE
|
|
const MojoHandleSignals MOJO_HANDLE_SIGNAL_PEER_CLOSED
|
|
|
|
cdef struct MojoHandleSignalsState:
|
|
MojoHandleSignals satisfied_signals
|
|
MojoHandleSignals satisfiable_signals
|
|
|
|
# functions.h
|
|
MojoTimeTicks MojoGetTimeTicksNow()
|
|
MojoResult MojoClose(MojoHandle handle)
|
|
MojoResult MojoWait "MojoWait"(MojoHandle handle,
|
|
MojoHandleSignals signals,
|
|
MojoDeadline deadline,
|
|
MojoHandleSignalsState* signals_state)
|
|
MojoResult MojoWaitMany "MojoWaitMany"(const MojoHandle* handles,
|
|
const MojoHandleSignals* signals,
|
|
uint32_t num_handles,
|
|
MojoDeadline deadline,
|
|
uint32_t* result_index,
|
|
MojoHandleSignalsState* signals_states)
|
|
|
|
# message_pipe.h
|
|
ctypedef uint32_t MojoCreateMessagePipeOptionsFlags
|
|
const MojoCreateMessagePipeOptionsFlags MOJO_CREATE_MESSAGE_PIPE_OPTIONS_FLAG_NONE
|
|
|
|
ctypedef uint32_t MojoWriteMessageFlags
|
|
const MojoWriteMessageFlags MOJO_WRITE_MESSAGE_FLAG_NONE
|
|
|
|
ctypedef uint32_t MojoReadMessageFlags
|
|
const MojoReadMessageFlags MOJO_READ_MESSAGE_FLAG_NONE
|
|
const MojoReadMessageFlags MOJO_READ_MESSAGE_FLAG_MAY_DISCARD
|
|
|
|
cdef struct MojoCreateMessagePipeOptions:
|
|
uint32_t struct_size
|
|
MojoCreateMessagePipeOptionsFlags flags
|
|
|
|
MojoResult MojoCreateMessagePipe(
|
|
const MojoCreateMessagePipeOptions* options,
|
|
MojoHandle* message_pipe_handle0,
|
|
MojoHandle* message_pipe_handle1)
|
|
|
|
MojoResult MojoWriteMessage(
|
|
MojoHandle message_pipe_handle,
|
|
const void* bytes,
|
|
uint32_t num_bytes,
|
|
const MojoHandle* handles,
|
|
uint32_t num_handles,
|
|
MojoWriteMessageFlags flags)
|
|
|
|
MojoResult MojoReadMessage(
|
|
MojoHandle message_pipe_handle,
|
|
void* bytes,
|
|
uint32_t* num_bytes,
|
|
MojoHandle* handles,
|
|
uint32_t* num_handles,
|
|
MojoReadMessageFlags flags)
|
|
|
|
# data_pipe.h
|
|
ctypedef uint32_t MojoCreateDataPipeOptionsFlags
|
|
const MojoCreateDataPipeOptionsFlags MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE
|
|
|
|
cdef struct MojoCreateDataPipeOptions:
|
|
uint32_t struct_size
|
|
MojoCreateDataPipeOptionsFlags flags
|
|
uint32_t element_num_bytes
|
|
uint32_t capacity_num_bytes
|
|
|
|
ctypedef uint32_t MojoWriteDataFlags
|
|
|
|
const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_NONE
|
|
const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_ALL_OR_NONE
|
|
|
|
ctypedef uint32_t MojoReadDataFlags
|
|
|
|
const MojoReadDataFlags MOJO_READ_DATA_FLAG_NONE
|
|
const MojoReadDataFlags MOJO_READ_DATA_FLAG_ALL_OR_NONE
|
|
const MojoReadDataFlags MOJO_READ_DATA_FLAG_DISCARD
|
|
const MojoReadDataFlags MOJO_READ_DATA_FLAG_QUERY
|
|
const MojoReadDataFlags MOJO_READ_DATA_FLAG_PEEK
|
|
|
|
MojoResult MojoCreateDataPipe(
|
|
const MojoCreateDataPipeOptions* options,
|
|
MojoHandle* data_pipe_producer_handle,
|
|
MojoHandle* data_pipe_consumer_handle)
|
|
|
|
MojoResult MojoWriteData(
|
|
MojoHandle data_pipe_producer_handle,
|
|
const void* elements,
|
|
uint32_t* num_bytes,
|
|
MojoWriteDataFlags flags)
|
|
|
|
MojoResult MojoBeginWriteData(
|
|
MojoHandle data_pipe_producer_handle,
|
|
void** buffer,
|
|
uint32_t* buffer_num_bytes,
|
|
MojoWriteDataFlags flags)
|
|
|
|
MojoResult MojoEndWriteData(
|
|
MojoHandle data_pipe_producer_handle,
|
|
uint32_t num_bytes_written)
|
|
|
|
MojoResult MojoReadData(
|
|
MojoHandle data_pipe_consumer_handle,
|
|
void* elements,
|
|
uint32_t* num_bytes,
|
|
MojoReadDataFlags flags)
|
|
|
|
MojoResult MojoBeginReadData(
|
|
MojoHandle data_pipe_consumer_handle,
|
|
const void** buffer,
|
|
uint32_t* buffer_num_bytes,
|
|
MojoReadDataFlags flags)
|
|
|
|
MojoResult MojoEndReadData(
|
|
MojoHandle data_pipe_consumer_handle,
|
|
uint32_t num_bytes_read)
|
|
|
|
# buffer.h
|
|
ctypedef uint32_t MojoCreateSharedBufferOptionsFlags
|
|
const MojoCreateSharedBufferOptionsFlags MOJO_CREATE_SHARED_BUFFER_OPTIONS_FLAG_NONE
|
|
|
|
cdef struct MojoCreateSharedBufferOptions:
|
|
uint32_t struct_size
|
|
MojoCreateSharedBufferOptionsFlags flags
|
|
|
|
ctypedef uint32_t MojoDuplicateBufferHandleOptionsFlags
|
|
const MojoDuplicateBufferHandleOptionsFlags MOJO_DUPLICATE_BUFFER_HANDLE_OPTIONS_FLAG_NONE
|
|
|
|
cdef struct MojoDuplicateBufferHandleOptions:
|
|
uint32_t struct_size
|
|
MojoDuplicateBufferHandleOptionsFlags flags
|
|
|
|
ctypedef uint32_t MojoMapBufferFlags
|
|
const MojoMapBufferFlags MOJO_MAP_BUFFER_FLAG_NONE
|
|
|
|
MojoResult MojoCreateSharedBuffer(
|
|
const MojoCreateSharedBufferOptions* options,
|
|
uint64_t num_bytes,
|
|
MojoHandle* shared_buffer_handle)
|
|
|
|
MojoResult MojoDuplicateBufferHandle(
|
|
MojoHandle buffer_handle,
|
|
const MojoDuplicateBufferHandleOptions* options,
|
|
MojoHandle* new_buffer_handle)
|
|
|
|
MojoResult MojoMapBuffer(MojoHandle buffer_handle,
|
|
uint64_t offset,
|
|
uint64_t num_bytes,
|
|
void** buffer,
|
|
MojoMapBufferFlags flags)
|
|
|
|
MojoResult MojoUnmapBuffer(void* buffer)
|