python27_sys/
funcobject.rs

1use 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}