2 /* Function object interface */
4 #ifndef Py_FUNCOBJECT_H
5 #define Py_FUNCOBJECT_H
13 PyObject
*func_globals
;
14 PyObject
*func_defaults
;
19 extern DL_IMPORT(PyTypeObject
) PyFunction_Type
;
21 #define PyFunction_Check(op) ((op)->ob_type == &PyFunction_Type)
23 extern DL_IMPORT(PyObject
*) PyFunction_New(PyObject
*, PyObject
*);
24 extern DL_IMPORT(PyObject
*) PyFunction_GetCode(PyObject
*);
25 extern DL_IMPORT(PyObject
*) PyFunction_GetGlobals(PyObject
*);
26 extern DL_IMPORT(PyObject
*) PyFunction_GetDefaults(PyObject
*);
27 extern DL_IMPORT(int) PyFunction_SetDefaults(PyObject
*, PyObject
*);
29 /* Macros for direct access to these values. Type checks are *not*
30 done, so use with care. */
31 #define PyFunction_GET_CODE(func) \
32 (((PyFunctionObject *)func) -> func_code)
33 #define PyFunction_GET_GLOBALS(func) \
34 (((PyFunctionObject *)func) -> func_globals)
35 #define PyFunction_GET_DEFAULTS(func) \
36 (((PyFunctionObject *)func) -> func_defaults)
41 #endif /* !Py_FUNCOBJECT_H */