#define PyMethod_Check(op) ((op)->ob_type == &PyMethod_Type)
extern PyObject *PyClass_New Py_PROTO((PyObject *, PyObject *, PyObject *));
-extern PyObject *PyInstance_New Py_PROTO((PyObject *, PyObject *));
+extern PyObject *PyInstance_New Py_PROTO((PyObject *, PyObject *, PyObject *));
extern PyObject *PyMethod_New Py_PROTO((PyObject *, PyObject *, PyObject *));
extern PyObject *PyMethod_Function Py_PROTO((PyObject *));
#define PyCFunction_Check(op) ((op)->ob_type == &PyCFunction_Type)
typedef PyObject *(*PyCFunction) Py_FPROTO((PyObject *, PyObject *));
+typedef PyObject *(*PyCFunctionWithKeywords)
+ Py_FPROTO((PyObject *, PyObject *, PyObject *));
extern PyCFunction PyCFunction_GetFunction Py_PROTO((PyObject *));
extern PyObject *PyCFunction_GetSelf Py_PROTO((PyObject *));
-extern int PyCFunction_IsVarArgs Py_PROTO((PyObject *));
+extern int PyCFunction_GetFlags Py_PROTO((PyObject *));
struct PyMethodDef {
char *ml_name;
/* Flag passed to newmethodobject */
#define METH_VARARGS 0x0001
+#define METH_KEYWORDS 0x0002
typedef struct PyMethodChain {
PyMethodDef *methods; /* Methods of this type */
#define findmethodinchain Py_FindMethodInChain
#define getmethod PyCFunction_GetFunction
#define getself PyCFunction_GetSelf
-#define getvarargs PyCFunction_IsVarArgs
+#define getflags PyCFunction_GetFlags
#define newmethodobject PyCFunction_New
#define getmoduledict PyModule_GetDict
#define getmodulename PyModule_GetName