python27_sys/
funcobject.rs1use libc::c_int;
2
3use crate::object::*;
4
5#[cfg_attr(windows, link(name = "pythonXY"))]
6extern "C" {
7 pub static mut PyFunction_Type: PyTypeObject;
8}
9
10#[inline(always)]
11pub unsafe fn PyFunction_Check(op: *mut PyObject) -> c_int {
12 let u: *mut PyTypeObject = &mut PyFunction_Type;
13 (Py_TYPE(op) == u) as c_int
14}
15
16#[cfg_attr(windows, link(name = "pythonXY"))]
17extern "C" {
18 pub fn PyFunction_New(code: *mut PyObject, globals: *mut PyObject) -> *mut PyObject;
19 pub fn PyFunction_GetCode(f: *mut PyObject) -> *mut PyObject;
20 pub fn PyFunction_GetGlobals(f: *mut PyObject) -> *mut PyObject;
21 pub fn PyFunction_GetModule(f: *mut PyObject) -> *mut PyObject;
22 pub fn PyFunction_GetDefaults(f: *mut PyObject) -> *mut PyObject;
23 pub fn PyFunction_SetDefaults(f: *mut PyObject, defaults: *mut PyObject) -> c_int;
24 pub fn PyFunction_GetClosure(f: *mut PyObject) -> *mut PyObject;
25 pub fn PyFunction_SetClosure(f: *mut PyObject, closure: *mut PyObject) -> c_int;
26
27 pub static mut PyClassMethod_Type: PyTypeObject;
28 pub static mut PyStaticMethod_Type: PyTypeObject;
29
30 pub fn PyClassMethod_New(arg1: *mut PyObject) -> *mut PyObject;
31 pub fn PyStaticMethod_New(arg1: *mut PyObject) -> *mut PyObject;
32}