mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1,021 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1,021 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* XXX getter, setter, getsetlist and wrapperbase need 'Py'-prefixed names */
 | 
						|
 | 
						|
typedef PyObject *(*getter)(PyObject *, void *);
 | 
						|
typedef int (*setter)(PyObject *, PyObject *, void *);
 | 
						|
 | 
						|
struct getsetlist {
 | 
						|
	char *name;
 | 
						|
	getter get;
 | 
						|
	setter set;
 | 
						|
	void *closure;
 | 
						|
};
 | 
						|
 | 
						|
typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args,
 | 
						|
				 void *wrapped);
 | 
						|
 | 
						|
struct wrapperbase {
 | 
						|
	char *name;
 | 
						|
	wrapperfunc wrapper;
 | 
						|
	char *doc;
 | 
						|
};
 | 
						|
 | 
						|
extern DL_IMPORT(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
 | 
						|
extern DL_IMPORT(PyObject *) PyDescr_NewMember(PyTypeObject *,
 | 
						|
					       struct memberlist *);
 | 
						|
extern DL_IMPORT(PyObject *) PyDescr_NewGetSet(PyTypeObject *,
 | 
						|
					       struct getsetlist *);
 | 
						|
extern DL_IMPORT(PyObject *) PyDescr_NewWrapper(PyTypeObject *,
 | 
						|
						struct wrapperbase *, void *);
 | 
						|
extern DL_IMPORT(int) PyDescr_IsData(PyObject *);
 | 
						|
 | 
						|
extern DL_IMPORT(PyObject *) PyDictProxy_New(PyObject *);
 | 
						|
extern DL_IMPORT(PyObject *) PyWrapper_New(PyObject *, PyObject *);
 | 
						|
 | 
						|
 | 
						|
extern DL_IMPORT(PyTypeObject) PyGetSet_Type;
 |