mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	
		
			
	
	
		
			33 lines
		
	
	
	
		
			973 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
	
		
			973 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 *); |