blob: 14d1994e860caf75db07d29bdaf360907cdbe039 [file] [log] [blame] [edit]
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2023 by
# Alexis Robert <alexissoft@free.fr>
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://brltty.app/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
# File binding C functions
from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t
from cpython.ref cimport PyObject
cdef extern from "sys/types.h":
ctypedef Py_ssize_t size_t
ctypedef Py_ssize_t ssize_t
cdef extern from "Programs/brlapi_protocol.h":
int BRLAPI_MAXPACKETSIZE
cdef extern from "Programs/brlapi.h":
ctypedef struct brlapi_connectionSettings_t:
char *auth
char *host
ctypedef struct brlapi_writeArguments_t:
int displayNumber
unsigned int regionBegin
int regionSize
char *text
int textSize
unsigned char *andMask
unsigned char *orMask
int cursor
char *charset
ctypedef struct brlapi_expandedKeyCode_t:
unsigned int type
unsigned int command
unsigned int argument
unsigned int flags
ctypedef struct brlapi_describedKeyCode_t:
char *type
char *command
unsigned int argument
unsigned int flags
char *flag[32]
brlapi_expandedKeyCode_t values
ctypedef struct brlapi_error_t:
int brlerrno
int libcerrno
int gaierrno
char *errfun
brlapi_error_t brlapi_error
ctypedef struct brlapi_handle_t
ctypedef unsigned long long brlapi_keyCode_t
void brlapi_getLibraryVersion(int *major, int *minor, int *revision) nogil
size_t brlapi_getHandleSize()
void brlapi__closeConnection(brlapi_handle_t *)
int brlapi__openConnection(brlapi_handle_t *, brlapi_connectionSettings_t*, brlapi_connectionSettings_t*) nogil
int brlapi__getDisplaySize(brlapi_handle_t *, unsigned int*x, unsigned int *y) nogil
int brlapi__getDriverName(brlapi_handle_t *, char*, int) nogil
int brlapi__getModelIdentifier(brlapi_handle_t *, char*, int) nogil
int brlapi__enterTtyMode(brlapi_handle_t *, int, char*) nogil
int brlapi__enterTtyModeWithPath(brlapi_handle_t *, int *, int, char*) nogil
int brlapi__leaveTtyMode(brlapi_handle_t *) nogil
int brlapi__setFocus(brlapi_handle_t *, int) nogil
int brlapi__write(brlapi_handle_t *, brlapi_writeArguments_t*) nogil
int brlapi__writeDots(brlapi_handle_t *, unsigned char*) nogil
int brlapi__writeText(brlapi_handle_t *, int, char*) nogil
ctypedef enum brlapi_rangeType_t:
brlapi_rangeType_all
ctypedef struct brlapi_range_t:
brlapi_keyCode_t first
brlapi_keyCode_t last
int brlapi__ignoreKeys(brlapi_handle_t *, brlapi_rangeType_t, brlapi_keyCode_t *, unsigned int) nogil
int brlapi__acceptKeys(brlapi_handle_t *, brlapi_rangeType_t, brlapi_keyCode_t *, unsigned int) nogil
int brlapi__ignoreAllKeys(brlapi_handle_t *) nogil
int brlapi__acceptAllKeys(brlapi_handle_t *) nogil
int brlapi__ignoreKeyRanges(brlapi_handle_t *, brlapi_range_t *, unsigned int) nogil
int brlapi__acceptKeyRanges(brlapi_handle_t *, brlapi_range_t *, unsigned int) nogil
int brlapi__readKey(brlapi_handle_t *, int, brlapi_keyCode_t*) nogil
int brlapi__readKeyWithTimeout(brlapi_handle_t *, int, brlapi_keyCode_t*) nogil
int brlapi_expandKeyCode(brlapi_keyCode_t, brlapi_expandedKeyCode_t *)
int brlapi_describeKeyCode(brlapi_keyCode_t, brlapi_describedKeyCode_t *)
int brlapi__enterRawMode(brlapi_handle_t *, char*) nogil
int brlapi__leaveRawMode(brlapi_handle_t *) nogil
int brlapi__recvRaw(brlapi_handle_t *, void*, int)
int brlapi__sendRaw(brlapi_handle_t *, void*, int)
ctypedef int brlapi_param_t
ctypedef uint64_t brlapi_param_subparam_t
ctypedef uint32_t brlapi_param_flags_t
ctypedef void *brlapi_paramCallbackDescriptor_t
ctypedef int brlapi_param_type_t
ctypedef struct brlapi_param_properties_t:
brlapi_param_type_t type
uint16_t arraySize
uint16_t isArray
uint16_t canRead
uint16_t canWrite
uint16_t canWatch
uint16_t abiPadding1
uint16_t hasSubparam
void *brlapi__getParameterAlloc(brlapi_handle_t *, brlapi_param_t, unsigned long long, brlapi_param_flags_t, size_t *) nogil
int brlapi__setParameter(brlapi_handle_t *, brlapi_param_t, unsigned long long, brlapi_param_flags_t, void*, size_t) nogil
const brlapi_param_properties_t *brlapi_getParameterProperties(brlapi_param_t parameter) nogil
brlapi_paramCallbackDescriptor_t brlapi__watchParameter(brlapi_handle_t *, brlapi_param_t, uint64_t, brlapi_param_flags_t, brlapi_paramCallback_t, void *, void*, size_t)
int brlapi__unwatchParameter(brlapi_handle_t *, brlapi_paramCallbackDescriptor_t)
int brlapi__pause(brlapi_handle_t *handle, int timeout_ms) nogil
int brlapi__sync(brlapi_handle_t *handle) nogil
brlapi_error_t* brlapi_error_location()
size_t brlapi_strerror_r(brlapi_error_t*, char *buf, size_t buflen)
brlapi_keyCode_t BRLAPI_KEY_MAX
brlapi_keyCode_t BRLAPI_KEY_FLAGS_MASK
brlapi_keyCode_t BRLAPI_KEY_TYPE_MASK
brlapi_keyCode_t BRLAPI_KEY_CODE_MASK
brlapi_keyCode_t BRLAPI_KEY_CMD_BLK_MASK
brlapi_keyCode_t BRLAPI_KEY_CMD_ARG_MASK
cdef extern from "bindings.h":
brlapi_writeArguments_t brlapi_writeArguments_initialized
char *brlapi_protocolException()
void brlapi_protocolExceptionInit(brlapi_handle_t *)
ctypedef struct brlapi_python_paramCallbackDescriptor_t:
brlapi_paramCallbackDescriptor_t brlapi_descr
PyObject *callback
ctypedef struct brlapi_python_callbackData_t:
brlapi_param_t parameter
brlapi_param_subparam_t subparam
brlapi_param_flags_t flags
const void *data
size_t len
brlapi_python_paramCallbackDescriptor_t *brlapi_python_watchParameter(brlapi_handle_t *, brlapi_param_t, uint64_t, int, object) except NULL
int brlapi_python_unwatchParameter(brlapi_handle_t *, brlapi_python_paramCallbackDescriptor_t *)
cdef extern from "stdlib.h":
void *malloc(size_t)
void free(void*)
char *strdup(char *)
cdef extern from "string.h":
void *memcpy(void *, void *, size_t)