1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef PyObjC_FFI_SUPPORT_H
#define PyObjC_FFI_SUPPORT_H
#include "ffi.h"
typedef void (*PyObjCFFI_ClosureFunc)(ffi_cif*, void*, void**, void*);
void PyObjCFFI_FreeCIF(ffi_cif* cif);
ffi_cif* PyObjCFFI_CIFForSignature(PyObjCMethodSignature* signature);
IMP PyObjCFFI_MakeClosure(PyObjCMethodSignature* signature,
PyObjCFFI_ClosureFunc func, void* userdata);
void* PyObjCFFI_FreeClosure(IMP closure);
IMP PyObjCFFI_MakeIMPForSignature(char* signature, PyObject* callable);
IMP PyObjCFFI_MakeIMPForPyObjCSelector(PyObjCSelector *aSelector);
PyObject *PyObjCFFI_Caller(PyObject *aMeth, PyObject* self, PyObject *args);
int PyObjCFFI_CountArguments(
PyObjCMethodSignature* methinfo, Py_ssize_t argOffset,
Py_ssize_t* byref_in_count,
Py_ssize_t* byref_out_count,
Py_ssize_t* plain_count,
Py_ssize_t* argbuf_len);
int PyObjCFFI_ParseArguments(
PyObjCMethodSignature* methinfo, Py_ssize_t argOffset,
PyObject* args, Py_ssize_t argbuf_cur, unsigned char* argbuf,
void** byref,
ffi_type** arglist, void** values);
PyObject* PyObjCFFI_BuildResult(
PyObjCMethodSignature* methinfo, Py_ssize_t argOffset,
void* pRetval, void** byref, Py_ssize_t byref_out_count,
PyObject* self, int flags);
#endif /* PyObjC_FFI_SUPPORT_H */
|