mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	Add DL_IMPORT(returntype) for all officially exported functions.
This commit is contained in:
		
							parent
							
								
									b241b67b89
								
							
						
					
					
						commit
						43466ec7b0
					
				
					 44 changed files with 401 additions and 398 deletions
				
			
		|  | @ -41,6 +41,9 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| #ifndef DL_IMPORT	/* declarations for DLL import/export */ | #ifndef DL_IMPORT	/* declarations for DLL import/export */ | ||||||
| #define DL_IMPORT(RTYPE) RTYPE | #define DL_IMPORT(RTYPE) RTYPE | ||||||
| #endif | #endif | ||||||
|  | #ifndef DL_EXPORT	/* declarations for DLL import/export */ | ||||||
|  | #define DL_EXPORT(RTYPE) RTYPE | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| #ifdef SYMANTEC__CFM68K__ | #ifdef SYMANTEC__CFM68K__ | ||||||
| #define UsingSharedLibs | #define UsingSharedLibs | ||||||
|  |  | ||||||
|  | @ -254,7 +254,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
|        */ |        */ | ||||||
| #define  PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A),NULL) | #define  PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A),NULL) | ||||||
| 
 | 
 | ||||||
|      int PyObject_Cmp Py_PROTO((PyObject *o1, PyObject *o2, int *result)); |      DL_IMPORT(int) PyObject_Cmp Py_PROTO((PyObject *o1, PyObject *o2, int *result)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Compare the values of o1 and o2 using a routine provided by | 	 Compare the values of o1 and o2 using a routine provided by | ||||||
|  | @ -302,7 +302,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PyCallable_Check Py_PROTO((PyObject *o)); |      DL_IMPORT(int) PyCallable_Check Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Determine if the object, o, is callable.  Return 1 if the | 	 Determine if the object, o, is callable.  Return 1 if the | ||||||
|  | @ -314,7 +314,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|       |       | ||||||
|      PyObject *PyObject_CallObject Py_PROTO((PyObject *callable_object, |      DL_IMPORT(PyObject *) PyObject_CallObject Py_PROTO((PyObject *callable_object, | ||||||
| 					     PyObject *args)); | 					     PyObject *args)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|  | @ -327,7 +327,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyObject_CallFunction Py_PROTO((PyObject *callable_object, |      DL_IMPORT(PyObject *) PyObject_CallFunction Py_PROTO((PyObject *callable_object, | ||||||
| 					       char *format, ...)); | 					       char *format, ...)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|  | @ -341,7 +341,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|      PyObject *PyObject_CallMethod Py_PROTO((PyObject *o, char *m, |      DL_IMPORT(PyObject *) PyObject_CallMethod Py_PROTO((PyObject *o, char *m, | ||||||
| 					     char *format, ...)); | 					     char *format, ...)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|  | @ -394,7 +394,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	  | 	  | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyObject_Type Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PyObject_Type Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 On success, returns a type object corresponding to the object | 	 On success, returns a type object corresponding to the object | ||||||
|  | @ -402,7 +402,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 equivalent to the Python expression: type(o). | 	 equivalent to the Python expression: type(o). | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PyObject_Length Py_PROTO((PyObject *o)); |      DL_IMPORT(int) PyObject_Length Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Return the length of object o.  If the object, o, provides |          Return the length of object o.  If the object, o, provides | ||||||
|  | @ -412,7 +412,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyObject_GetItem Py_PROTO((PyObject *o, PyObject *key)); |      DL_IMPORT(PyObject *) PyObject_GetItem Py_PROTO((PyObject *o, PyObject *key)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Return element of o corresponding to the object, key, or NULL | 	 Return element of o corresponding to the object, key, or NULL | ||||||
|  | @ -421,7 +421,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PyObject_SetItem Py_PROTO((PyObject *o, PyObject *key, PyObject *v)); |      DL_IMPORT(int) PyObject_SetItem Py_PROTO((PyObject *o, PyObject *key, PyObject *v)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Map the object, key, to the value, v.  Returns | 	 Map the object, key, to the value, v.  Returns | ||||||
|  | @ -429,7 +429,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 statement: o[key]=v. | 	 statement: o[key]=v. | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PyObject_DelItem Py_PROTO((PyObject *o, PyObject *key)); |      DL_IMPORT(int) PyObject_DelItem Py_PROTO((PyObject *o, PyObject *key)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Delete the mapping for key from *o.  Returns -1 on failure. | 	 Delete the mapping for key from *o.  Returns -1 on failure. | ||||||
|  | @ -439,7 +439,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
| /*  Number Protocol:*/ | /*  Number Protocol:*/ | ||||||
| 
 | 
 | ||||||
|      int PyNumber_Check Py_PROTO((PyObject *o)); |      DL_IMPORT(int) PyNumber_Check Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Returns 1 if the object, o, provides numeric protocols, and |          Returns 1 if the object, o, provides numeric protocols, and | ||||||
|  | @ -449,7 +449,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Add Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Add Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the result of adding o1 and o2, or null on failure. | 	 Returns the result of adding o1 and o2, or null on failure. | ||||||
|  | @ -458,7 +458,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Subtract Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Subtract Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the result of subtracting o2 from o1, or null on | 	 Returns the result of subtracting o2 from o1, or null on | ||||||
|  | @ -467,7 +467,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Multiply Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Multiply Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the result of multiplying o1 and o2, or null on | 	 Returns the result of multiplying o1 and o2, or null on | ||||||
|  | @ -477,7 +477,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Divide Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Divide Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the result of dividing o1 by o2, or null on failure. | 	 Returns the result of dividing o1 by o2, or null on failure. | ||||||
|  | @ -486,7 +486,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Remainder Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Remainder Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the remainder of dividing o1 by o2, or null on | 	 Returns the remainder of dividing o1 by o2, or null on | ||||||
|  | @ -496,7 +496,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Divmod Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Divmod Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 See the built-in function divmod.  Returns NULL on failure. | 	 See the built-in function divmod.  Returns NULL on failure. | ||||||
|  | @ -506,7 +506,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Power Py_PROTO((PyObject *o1, PyObject *o2, PyObject *o3)); |      DL_IMPORT(PyObject *) PyNumber_Power Py_PROTO((PyObject *o1, PyObject *o2, PyObject *o3)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 See the built-in function pow.  Returns NULL on failure. | 	 See the built-in function pow.  Returns NULL on failure. | ||||||
|  | @ -515,7 +515,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Negative Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PyNumber_Negative Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the negation of o on success, or null on failure. | 	 Returns the negation of o on success, or null on failure. | ||||||
|  | @ -523,7 +523,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Positive Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PyNumber_Positive Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Returns the (what?) of o on success, or NULL on failure. |          Returns the (what?) of o on success, or NULL on failure. | ||||||
|  | @ -531,7 +531,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Absolute Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PyNumber_Absolute Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the absolute value of o, or null on failure.  This is | 	 Returns the absolute value of o, or null on failure.  This is | ||||||
|  | @ -539,7 +539,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Invert Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PyNumber_Invert Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the bitwise negation of o on success, or NULL on | 	 Returns the bitwise negation of o on success, or NULL on | ||||||
|  | @ -549,7 +549,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Lshift Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Lshift Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the result of left shifting o1 by o2 on success, or | 	 Returns the result of left shifting o1 by o2 on success, or | ||||||
|  | @ -559,7 +559,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Rshift Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Rshift Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the result of right shifting o1 by o2 on success, or | 	 Returns the result of right shifting o1 by o2 on success, or | ||||||
|  | @ -568,7 +568,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_And Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_And Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the result of bitwise and of o1 and o2 on success, or | 	 Returns the result of bitwise and of o1 and o2 on success, or | ||||||
|  | @ -578,7 +578,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Xor Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Xor Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the bitwise exclusive or of o1 by o2 on success, or | 	 Returns the bitwise exclusive or of o1 by o2 on success, or | ||||||
|  | @ -588,7 +588,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Or Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PyNumber_Or Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the result of bitwise or or o1 and o2 on success, or | 	 Returns the result of bitwise or or o1 and o2 on success, or | ||||||
|  | @ -616,7 +616,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Int Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PyNumber_Int Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the o converted to an integer object on success, or | 	 Returns the o converted to an integer object on success, or | ||||||
|  | @ -625,7 +625,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Long Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PyNumber_Long Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the o converted to a long integer object on success, | 	 Returns the o converted to a long integer object on success, | ||||||
|  | @ -634,7 +634,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PyNumber_Float Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PyNumber_Float Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the o converted to a float object on success, or NULL | 	 Returns the o converted to a float object on success, or NULL | ||||||
|  | @ -645,7 +645,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
| /*  Sequence protocol:*/ | /*  Sequence protocol:*/ | ||||||
| 
 | 
 | ||||||
|      int PySequence_Check Py_PROTO((PyObject *o)); |      DL_IMPORT(int) PySequence_Check Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Return 1 if the object provides sequence protocol, and zero |          Return 1 if the object provides sequence protocol, and zero | ||||||
|  | @ -655,14 +655,14 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PySequence_Length Py_PROTO((PyObject *o)); |      DL_IMPORT(int) PySequence_Length Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Return the length of sequence object o, or -1 on failure. |          Return the length of sequence object o, or -1 on failure. | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PySequence_Concat Py_PROTO((PyObject *o1, PyObject *o2)); |      DL_IMPORT(PyObject *) PySequence_Concat Py_PROTO((PyObject *o1, PyObject *o2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Return the concatination of o1 and o2 on success, and NULL on | 	 Return the concatination of o1 and o2 on success, and NULL on | ||||||
|  | @ -671,7 +671,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PySequence_Repeat Py_PROTO((PyObject *o, int count)); |      DL_IMPORT(PyObject *) PySequence_Repeat Py_PROTO((PyObject *o, int count)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Return the result of repeating sequence object o count times, | 	 Return the result of repeating sequence object o count times, | ||||||
|  | @ -680,7 +680,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PySequence_GetItem Py_PROTO((PyObject *o, int i)); |      DL_IMPORT(PyObject *) PySequence_GetItem Py_PROTO((PyObject *o, int i)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Return the ith element of o, or NULL on failure. This is the | 	 Return the ith element of o, or NULL on failure. This is the | ||||||
|  | @ -688,7 +688,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PySequence_GetSlice Py_PROTO((PyObject *o, int i1, int i2)); |      DL_IMPORT(PyObject *) PySequence_GetSlice Py_PROTO((PyObject *o, int i1, int i2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Return the slice of sequence object o between i1 and i2, or | 	 Return the slice of sequence object o between i1 and i2, or | ||||||
|  | @ -697,7 +697,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PySequence_SetItem Py_PROTO((PyObject *o, int i, PyObject *v)); |      DL_IMPORT(int) PySequence_SetItem Py_PROTO((PyObject *o, int i, PyObject *v)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Assign object v to the ith element of o.  Returns | 	 Assign object v to the ith element of o.  Returns | ||||||
|  | @ -706,7 +706,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PySequence_DelItem Py_PROTO((PyObject *o, int i)); |      DL_IMPORT(int) PySequence_DelItem Py_PROTO((PyObject *o, int i)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Delete the ith element of object v.  Returns | 	 Delete the ith element of object v.  Returns | ||||||
|  | @ -714,7 +714,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 statement: del o[i]. | 	 statement: del o[i]. | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PySequence_SetSlice Py_PROTO((PyObject *o, int i1, int i2, PyObject *v)); |      DL_IMPORT(int) PySequence_SetSlice Py_PROTO((PyObject *o, int i1, int i2, PyObject *v)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Assign the sequence object, v, to the slice in sequence |          Assign the sequence object, v, to the slice in sequence | ||||||
|  | @ -722,7 +722,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 equivalent of the Python statement: o[i1:i2]=v. | 	 equivalent of the Python statement: o[i1:i2]=v. | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PySequence_DelSlice Py_PROTO((PyObject *o, int i1, int i2)); |      DL_IMPORT(int) PySequence_DelSlice Py_PROTO((PyObject *o, int i1, int i2)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Delete the slice in sequence object, o, from i1 to i2. | 	 Delete the slice in sequence object, o, from i1 to i2. | ||||||
|  | @ -730,21 +730,21 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 statement: del o[i1:i2]. | 	 statement: del o[i1:i2]. | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PySequence_Tuple Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PySequence_Tuple Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the sequence, o, as a tuple on success, and NULL on failure. | 	 Returns the sequence, o, as a tuple on success, and NULL on failure. | ||||||
| 	 This is equivalent to the Python expression: tuple(o) | 	 This is equivalent to the Python expression: tuple(o) | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      PyObject *PySequence_List Py_PROTO((PyObject *o)); |      DL_IMPORT(PyObject *) PySequence_List Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Returns the sequence, o, as a list on success, and NULL on failure. | 	 Returns the sequence, o, as a list on success, and NULL on failure. | ||||||
| 	 This is equivalent to the Python expression: list(o) | 	 This is equivalent to the Python expression: list(o) | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PySequence_Count Py_PROTO((PyObject *o, PyObject *value)); |      DL_IMPORT(int) PySequence_Count Py_PROTO((PyObject *o, PyObject *value)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Return the number of occurrences on value on o, that is, |          Return the number of occurrences on value on o, that is, | ||||||
|  | @ -753,7 +753,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 expression: o.count(value). | 	 expression: o.count(value). | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PySequence_Contains Py_PROTO((PyObject *o, PyObject *value)); |      DL_IMPORT(int) PySequence_Contains Py_PROTO((PyObject *o, PyObject *value)); | ||||||
| #define PySequence_In PySequence_Contains | #define PySequence_In PySequence_Contains | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|  | @ -762,7 +762,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 is equivalent to the Python expression: value in o. | 	 is equivalent to the Python expression: value in o. | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PySequence_Index Py_PROTO((PyObject *o, PyObject *value)); |      DL_IMPORT(int) PySequence_Index Py_PROTO((PyObject *o, PyObject *value)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Return the first index for which o[i]=value.  On error, | 	 Return the first index for which o[i]=value.  On error, | ||||||
|  | @ -772,7 +772,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 
 | 
 | ||||||
| /*  Mapping protocol:*/ | /*  Mapping protocol:*/ | ||||||
| 
 | 
 | ||||||
|      int PyMapping_Check Py_PROTO((PyObject *o)); |      DL_IMPORT(int) PyMapping_Check Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Return 1 if the object provides mapping protocol, and zero |          Return 1 if the object provides mapping protocol, and zero | ||||||
|  | @ -781,7 +781,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 This function always succeeds. | 	 This function always succeeds. | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PyMapping_Length Py_PROTO((PyObject *o)); |      DL_IMPORT(int) PyMapping_Length Py_PROTO((PyObject *o)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|          Returns the number of keys in object o on success, and -1 on |          Returns the number of keys in object o on success, and -1 on | ||||||
|  | @ -809,7 +809,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
|        */ |        */ | ||||||
| #define PyMapping_DelItem(O,K) PyDict_DelItem((O),(K)) | #define PyMapping_DelItem(O,K) PyDict_DelItem((O),(K)) | ||||||
| 
 | 
 | ||||||
|      int PyMapping_HasKeyString Py_PROTO((PyObject *o, char *key)); |      DL_IMPORT(int) PyMapping_HasKeyString Py_PROTO((PyObject *o, char *key)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 On success, return 1 if the mapping object has the key, key, | 	 On success, return 1 if the mapping object has the key, key, | ||||||
|  | @ -819,7 +819,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 This function always succeeds. | 	 This function always succeeds. | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PyMapping_HasKey Py_PROTO((PyObject *o, PyObject *key)); |      DL_IMPORT(int) PyMapping_HasKey Py_PROTO((PyObject *o, PyObject *key)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Return 1 if the mapping object has the key, key, | 	 Return 1 if the mapping object has the key, key, | ||||||
|  | @ -862,7 +862,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
|        */ |        */ | ||||||
| #define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL) | #define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL) | ||||||
| 
 | 
 | ||||||
|      PyObject *PyMapping_GetItemString Py_PROTO((PyObject *o, char *key)); |      DL_IMPORT(PyObject *) PyMapping_GetItemString Py_PROTO((PyObject *o, char *key)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
| 	 Return element of o corresponding to the object, key, or NULL | 	 Return element of o corresponding to the object, key, or NULL | ||||||
|  | @ -870,7 +870,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ | ||||||
| 	 o[key]. | 	 o[key]. | ||||||
|        */ |        */ | ||||||
| 
 | 
 | ||||||
|      int PyMapping_SetItemString Py_PROTO((PyObject *o, char *key, |      DL_IMPORT(int) PyMapping_SetItemString Py_PROTO((PyObject *o, char *key, | ||||||
| 					   PyObject *value)); | 					   PyObject *value)); | ||||||
| 
 | 
 | ||||||
|        /*
 |        /*
 | ||||||
|  |  | ||||||
|  | @ -46,13 +46,13 @@ extern DL_IMPORT(PyTypeObject) PyBuffer_Type; | ||||||
| 
 | 
 | ||||||
| #define Py_END_OF_BUFFER	(-1) | #define Py_END_OF_BUFFER	(-1) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyBuffer_FromObject Py_PROTO((PyObject *base, int offset, int size)); | extern DL_IMPORT(PyObject *) PyBuffer_FromObject Py_PROTO((PyObject *base, int offset, int size)); | ||||||
| extern PyObject *PyBuffer_FromReadWriteObject Py_PROTO((PyObject *base, int offset, int size)); | extern DL_IMPORT(PyObject *) PyBuffer_FromReadWriteObject Py_PROTO((PyObject *base, int offset, int size)); | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyBuffer_FromMemory Py_PROTO((void *ptr, int size)); | extern DL_IMPORT(PyObject *) PyBuffer_FromMemory Py_PROTO((void *ptr, int size)); | ||||||
| extern PyObject *PyBuffer_FromReadWriteMemory Py_PROTO((void *ptr, int size)); | extern DL_IMPORT(PyObject *) PyBuffer_FromReadWriteMemory Py_PROTO((void *ptr, int size)); | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyBuffer_New Py_PROTO((int size)); | extern DL_IMPORT(PyObject *) PyBuffer_New Py_PROTO((int size)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -106,7 +106,7 @@ static struct PycStringIO_CAPI { | ||||||
| #define PycStringIO_OutputCheck(O) \ | #define PycStringIO_OutputCheck(O) \ | ||||||
|   ((O)->ob_type==PycStringIO->OutputType) |   ((O)->ob_type==PycStringIO->OutputType) | ||||||
| 
 | 
 | ||||||
| static void * | static DL_IMPORT(void *) | ||||||
| xxxPyCObject_Import(module_name, name) | xxxPyCObject_Import(module_name, name) | ||||||
|   char *module_name; |   char *module_name; | ||||||
|   char *name; |   char *name; | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| /* Interface to random parts in ceval.c */ | /* Interface to random parts in ceval.c */ | ||||||
| 
 | 
 | ||||||
| PyObject *PyEval_CallObjectWithKeywords | DL_IMPORT(PyObject *) PyEval_CallObjectWithKeywords | ||||||
| 	Py_PROTO((PyObject *, PyObject *, PyObject *)); | 	Py_PROTO((PyObject *, PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Inline this */ | /* Inline this */ | ||||||
|  | @ -45,26 +45,26 @@ PyObject *PyEval_CallObjectWithKeywords | ||||||
|         PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL) |         PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL) | ||||||
| 
 | 
 | ||||||
| #ifdef HAVE_STDARG_PROTOTYPES | #ifdef HAVE_STDARG_PROTOTYPES | ||||||
| PyObject *PyEval_CallFunction Py_PROTO((PyObject *obj, char *format, ...)); | DL_IMPORT(PyObject *) PyEval_CallFunction Py_PROTO((PyObject *obj, char *format, ...)); | ||||||
| PyObject *PyEval_CallMethod Py_PROTO((PyObject *obj, | DL_IMPORT(PyObject *) PyEval_CallMethod Py_PROTO((PyObject *obj, | ||||||
| 				      char *methodname, char *format, ...)); | 				      char *methodname, char *format, ...)); | ||||||
| #else | #else | ||||||
| /* Better to have no prototypes at all for varargs functions in this case */ | /* Better to have no prototypes at all for varargs functions in this case */ | ||||||
| PyObject *PyEval_CallFunction(); | DL_IMPORT(PyObject *) PyEval_CallFunction(); | ||||||
| PyObject *PyEval_CallMethod(); | DL_IMPORT(PyObject *) PyEval_CallMethod(); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| PyObject *PyEval_GetBuiltins Py_PROTO((void)); | DL_IMPORT(PyObject *) PyEval_GetBuiltins Py_PROTO((void)); | ||||||
| PyObject *PyEval_GetGlobals Py_PROTO((void)); | DL_IMPORT(PyObject *) PyEval_GetGlobals Py_PROTO((void)); | ||||||
| PyObject *PyEval_GetLocals Py_PROTO((void)); | DL_IMPORT(PyObject *) PyEval_GetLocals Py_PROTO((void)); | ||||||
| PyObject *PyEval_GetOwner Py_PROTO((void)); | DL_IMPORT(PyObject *) PyEval_GetOwner Py_PROTO((void)); | ||||||
| PyObject *PyEval_GetFrame Py_PROTO((void)); | DL_IMPORT(PyObject *) PyEval_GetFrame Py_PROTO((void)); | ||||||
| int PyEval_GetRestricted Py_PROTO((void)); | DL_IMPORT(int) PyEval_GetRestricted Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| int Py_FlushLine Py_PROTO((void)); | DL_IMPORT(int) Py_FlushLine Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| int Py_AddPendingCall Py_PROTO((int (*func) Py_PROTO((ANY *)), ANY *arg)); | DL_IMPORT(int) Py_AddPendingCall Py_PROTO((int (*func) Py_PROTO((ANY *)), ANY *arg)); | ||||||
| int Py_MakePendingCalls Py_PROTO((void)); | DL_IMPORT(int) Py_MakePendingCalls Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /* Interface for threads.
 | /* Interface for threads.
 | ||||||
|  | @ -112,16 +112,16 @@ int Py_MakePendingCalls Py_PROTO((void)); | ||||||
|    mechanism! |    mechanism! | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| extern PyThreadState *PyEval_SaveThread Py_PROTO((void)); | extern DL_IMPORT(PyThreadState *) PyEval_SaveThread Py_PROTO((void)); | ||||||
| extern void PyEval_RestoreThread Py_PROTO((PyThreadState *)); | extern DL_IMPORT(void) PyEval_RestoreThread Py_PROTO((PyThreadState *)); | ||||||
| 
 | 
 | ||||||
| #ifdef WITH_THREAD | #ifdef WITH_THREAD | ||||||
| 
 | 
 | ||||||
| extern void PyEval_InitThreads Py_PROTO((void)); | extern DL_IMPORT(void) PyEval_InitThreads Py_PROTO((void)); | ||||||
| extern void PyEval_AcquireLock Py_PROTO((void)); | extern DL_IMPORT(void) PyEval_AcquireLock Py_PROTO((void)); | ||||||
| extern void PyEval_ReleaseLock Py_PROTO((void)); | extern DL_IMPORT(void) PyEval_ReleaseLock Py_PROTO((void)); | ||||||
| extern void PyEval_AcquireThread Py_PROTO((PyThreadState *tstate)); | extern DL_IMPORT(void) PyEval_AcquireThread Py_PROTO((PyThreadState *tstate)); | ||||||
| extern void PyEval_ReleaseThread Py_PROTO((PyThreadState *tstate)); | extern DL_IMPORT(void) PyEval_ReleaseThread Py_PROTO((PyThreadState *tstate)); | ||||||
| 
 | 
 | ||||||
| #define Py_BEGIN_ALLOW_THREADS { \ | #define Py_BEGIN_ALLOW_THREADS { \ | ||||||
| 			PyThreadState *_save; \ | 			PyThreadState *_save; \ | ||||||
|  |  | ||||||
|  | @ -69,13 +69,13 @@ extern DL_IMPORT(PyTypeObject) PyClass_Type, PyInstance_Type, PyMethod_Type; | ||||||
| #define PyInstance_Check(op) ((op)->ob_type == &PyInstance_Type) | #define PyInstance_Check(op) ((op)->ob_type == &PyInstance_Type) | ||||||
| #define PyMethod_Check(op) ((op)->ob_type == &PyMethod_Type) | #define PyMethod_Check(op) ((op)->ob_type == &PyMethod_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyClass_New Py_PROTO((PyObject *, PyObject *, PyObject *)); | extern DL_IMPORT(PyObject *) PyClass_New Py_PROTO((PyObject *, PyObject *, PyObject *)); | ||||||
| extern PyObject *PyInstance_New Py_PROTO((PyObject *, PyObject *, PyObject *)); | extern DL_IMPORT(PyObject *) PyInstance_New Py_PROTO((PyObject *, PyObject *, PyObject *)); | ||||||
| extern PyObject *PyMethod_New Py_PROTO((PyObject *, PyObject *, PyObject *)); | extern DL_IMPORT(PyObject *) PyMethod_New Py_PROTO((PyObject *, PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyMethod_Function Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyMethod_Function Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyMethod_Self Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyMethod_Self Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyMethod_Class Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyMethod_Class Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Macros for direct access to these values. Type checks are *not*
 | /* Macros for direct access to these values. Type checks are *not*
 | ||||||
|    done, so use with care. */ |    done, so use with care. */ | ||||||
|  | @ -86,9 +86,9 @@ extern PyObject *PyMethod_Class Py_PROTO((PyObject *)); | ||||||
| #define PyMethod_GET_CLASS(meth) \ | #define PyMethod_GET_CLASS(meth) \ | ||||||
| 	(((PyMethodObject *)meth) -> im_class) | 	(((PyMethodObject *)meth) -> im_class) | ||||||
| 
 | 
 | ||||||
| extern int PyClass_IsSubclass Py_PROTO((PyObject *, PyObject *)); | extern DL_IMPORT(int) PyClass_IsSubclass Py_PROTO((PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyInstance_DoBinOp | extern DL_IMPORT(PyObject *) PyInstance_DoBinOp | ||||||
| 	Py_PROTO((PyObject *, PyObject *, | 	Py_PROTO((PyObject *, PyObject *, | ||||||
| 		  char *, char *, | 		  char *, char *, | ||||||
| 		  PyObject * (*) Py_PROTO((PyObject *, PyObject *)) )); | 		  PyObject * (*) Py_PROTO((PyObject *, PyObject *)) )); | ||||||
|  |  | ||||||
|  | @ -54,7 +54,7 @@ extern DL_IMPORT(PyTypeObject) PyCObject_Type; | ||||||
|    destroyed. |    destroyed. | ||||||
| 
 | 
 | ||||||
| */ | */ | ||||||
| extern PyObject * | extern DL_IMPORT(PyObject *) | ||||||
| PyCObject_FromVoidPtr Py_PROTO((void *cobj, void (*destruct)(void*))); | PyCObject_FromVoidPtr Py_PROTO((void *cobj, void (*destruct)(void*))); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -63,20 +63,20 @@ PyCObject_FromVoidPtr Py_PROTO((void *cobj, void (*destruct)(void*))); | ||||||
|    then it will be called with the first and second arguments if and when  |    then it will be called with the first and second arguments if and when  | ||||||
|    the PyCObject is destroyed. |    the PyCObject is destroyed. | ||||||
| */ | */ | ||||||
| extern PyObject * | extern DL_IMPORT(PyObject *) | ||||||
| PyCObject_FromVoidPtrAndDesc Py_PROTO((void *cobj, void *desc, | PyCObject_FromVoidPtrAndDesc Py_PROTO((void *cobj, void *desc, | ||||||
|                                        void (*destruct)(void*,void*))); |                                        void (*destruct)(void*,void*))); | ||||||
| 
 | 
 | ||||||
| /* Retrieve a pointer to a C object from a PyCObject. */ | /* Retrieve a pointer to a C object from a PyCObject. */ | ||||||
| extern void * | extern DL_IMPORT(void *) | ||||||
| PyCObject_AsVoidPtr Py_PROTO((PyObject *)); | PyCObject_AsVoidPtr Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Retrieve a pointer to a description object from a PyCObject. */ | /* Retrieve a pointer to a description object from a PyCObject. */ | ||||||
| extern void * | extern DL_IMPORT(void *) | ||||||
| PyCObject_GetDesc Py_PROTO((PyObject *)); | PyCObject_GetDesc Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Import a pointer to a C object from a module using a PyCObject. */ | /* Import a pointer to a C object from a module using a PyCObject. */ | ||||||
| extern void * | extern DL_IMPORT(void *) | ||||||
| PyCObject_Import Py_PROTO((char *module_name, char *cobject_name)); | PyCObject_Import Py_PROTO((char *module_name, char *cobject_name)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|  |  | ||||||
|  | @ -69,11 +69,11 @@ extern DL_IMPORT(PyTypeObject) PyCode_Type; | ||||||
| 
 | 
 | ||||||
| /* Public interface */ | /* Public interface */ | ||||||
| struct _node; /* Declare the existence of this type */ | struct _node; /* Declare the existence of this type */ | ||||||
| PyCodeObject *PyNode_Compile Py_PROTO((struct _node *, char *)); | DL_IMPORT(PyCodeObject *) PyNode_Compile Py_PROTO((struct _node *, char *)); | ||||||
| PyCodeObject *PyCode_New Py_PROTO(( | DL_IMPORT(PyCodeObject *) PyCode_New Py_PROTO(( | ||||||
| 	int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, | 	int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, | ||||||
| 	PyObject *, PyObject *, int, PyObject *)); /* same as struct above */ | 	PyObject *, PyObject *, int, PyObject *)); /* same as struct above */ | ||||||
| int PyCode_Addr2Line Py_PROTO((PyCodeObject *, int)); | DL_IMPORT(int) PyCode_Addr2Line Py_PROTO((PyCodeObject *, int)); | ||||||
| 
 | 
 | ||||||
| /* for internal use only */ | /* for internal use only */ | ||||||
| #define _PyCode_GETCODEPTR(co, pp) \ | #define _PyCode_GETCODEPTR(co, pp) \ | ||||||
|  |  | ||||||
|  | @ -20,12 +20,12 @@ typedef struct { | ||||||
| #define c_quot _Py_c_quot | #define c_quot _Py_c_quot | ||||||
| #define c_pow _Py_c_pow | #define c_pow _Py_c_pow | ||||||
| 
 | 
 | ||||||
| extern Py_complex c_sum Py_PROTO((Py_complex, Py_complex)); | extern DL_IMPORT(Py_complex) c_sum Py_PROTO((Py_complex, Py_complex)); | ||||||
| extern Py_complex c_diff Py_PROTO((Py_complex, Py_complex)); | extern DL_IMPORT(Py_complex) c_diff Py_PROTO((Py_complex, Py_complex)); | ||||||
| extern Py_complex c_neg Py_PROTO((Py_complex)); | extern DL_IMPORT(Py_complex) c_neg Py_PROTO((Py_complex)); | ||||||
| extern Py_complex c_prod Py_PROTO((Py_complex, Py_complex)); | extern DL_IMPORT(Py_complex) c_prod Py_PROTO((Py_complex, Py_complex)); | ||||||
| extern Py_complex c_quot Py_PROTO((Py_complex, Py_complex)); | extern DL_IMPORT(Py_complex) c_quot Py_PROTO((Py_complex, Py_complex)); | ||||||
| extern Py_complex c_pow Py_PROTO((Py_complex, Py_complex)); | extern DL_IMPORT(Py_complex) c_pow Py_PROTO((Py_complex, Py_complex)); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /* Complex object interface */ | /* Complex object interface */ | ||||||
|  | @ -44,12 +44,12 @@ extern DL_IMPORT(PyTypeObject) PyComplex_Type; | ||||||
| 
 | 
 | ||||||
| #define PyComplex_Check(op) ((op)->ob_type == &PyComplex_Type) | #define PyComplex_Check(op) ((op)->ob_type == &PyComplex_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyComplex_FromCComplex Py_PROTO((Py_complex)); | extern DL_IMPORT(PyObject *) PyComplex_FromCComplex Py_PROTO((Py_complex)); | ||||||
| extern PyObject *PyComplex_FromDoubles Py_PROTO((double real, double imag)); | extern DL_IMPORT(PyObject *) PyComplex_FromDoubles Py_PROTO((double real, double imag)); | ||||||
| 
 | 
 | ||||||
| extern double PyComplex_RealAsDouble Py_PROTO((PyObject *op)); | extern DL_IMPORT(double) PyComplex_RealAsDouble Py_PROTO((PyObject *op)); | ||||||
| extern double PyComplex_ImagAsDouble Py_PROTO((PyObject *op)); | extern DL_IMPORT(double) PyComplex_ImagAsDouble Py_PROTO((PyObject *op)); | ||||||
| extern Py_complex PyComplex_AsCComplex Py_PROTO((PyObject *op)); | extern DL_IMPORT(Py_complex) PyComplex_AsCComplex Py_PROTO((PyObject *op)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -41,21 +41,21 @@ extern DL_IMPORT(PyTypeObject) PyDict_Type; | ||||||
| 
 | 
 | ||||||
| #define PyDict_Check(op) ((op)->ob_type == &PyDict_Type) | #define PyDict_Check(op) ((op)->ob_type == &PyDict_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyDict_New Py_PROTO((void)); | extern DL_IMPORT(PyObject *) PyDict_New Py_PROTO((void)); | ||||||
| extern PyObject *PyDict_GetItem Py_PROTO((PyObject *mp, PyObject *key)); | extern DL_IMPORT(PyObject *) PyDict_GetItem Py_PROTO((PyObject *mp, PyObject *key)); | ||||||
| extern int PyDict_SetItem Py_PROTO((PyObject *mp, PyObject *key, PyObject *item)); | extern DL_IMPORT(int) PyDict_SetItem Py_PROTO((PyObject *mp, PyObject *key, PyObject *item)); | ||||||
| extern int PyDict_DelItem Py_PROTO((PyObject *mp, PyObject *key)); | extern DL_IMPORT(int) PyDict_DelItem Py_PROTO((PyObject *mp, PyObject *key)); | ||||||
| extern void PyDict_Clear Py_PROTO((PyObject *mp)); | extern DL_IMPORT(void) PyDict_Clear Py_PROTO((PyObject *mp)); | ||||||
| extern int PyDict_Next | extern DL_IMPORT(int) PyDict_Next | ||||||
| 	Py_PROTO((PyObject *mp, int *pos, PyObject **key, PyObject **value)); | 	Py_PROTO((PyObject *mp, int *pos, PyObject **key, PyObject **value)); | ||||||
| extern PyObject *PyDict_Keys Py_PROTO((PyObject *mp)); | extern DL_IMPORT(PyObject *) PyDict_Keys Py_PROTO((PyObject *mp)); | ||||||
| extern PyObject *PyDict_Values Py_PROTO((PyObject *mp)); | extern DL_IMPORT(PyObject *) PyDict_Values Py_PROTO((PyObject *mp)); | ||||||
| extern PyObject *PyDict_Items Py_PROTO((PyObject *mp)); | extern DL_IMPORT(PyObject *) PyDict_Items Py_PROTO((PyObject *mp)); | ||||||
| extern int PyDict_Size Py_PROTO((PyObject *mp)); | extern DL_IMPORT(int) PyDict_Size Py_PROTO((PyObject *mp)); | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyDict_GetItemString Py_PROTO((PyObject *dp, char *key)); | extern DL_IMPORT(PyObject *) PyDict_GetItemString Py_PROTO((PyObject *dp, char *key)); | ||||||
| extern int PyDict_SetItemString Py_PROTO((PyObject *dp, char *key, PyObject *item)); | extern DL_IMPORT(int) PyDict_SetItemString Py_PROTO((PyObject *dp, char *key, PyObject *item)); | ||||||
| extern int PyDict_DelItemString Py_PROTO((PyObject *dp, char *key)); | extern DL_IMPORT(int) PyDict_DelItemString Py_PROTO((PyObject *dp, char *key)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| /* Interface to execute compiled code */ | /* Interface to execute compiled code */ | ||||||
| 
 | 
 | ||||||
| PyObject *PyEval_EvalCode Py_PROTO((PyCodeObject *, PyObject *, PyObject *)); | DL_IMPORT(PyObject *) PyEval_EvalCode Py_PROTO((PyCodeObject *, PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -41,16 +41,16 @@ extern DL_IMPORT(PyTypeObject) PyFile_Type; | ||||||
| 
 | 
 | ||||||
| #define PyFile_Check(op) ((op)->ob_type == &PyFile_Type) | #define PyFile_Check(op) ((op)->ob_type == &PyFile_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyFile_FromString Py_PROTO((char *, char *)); | extern DL_IMPORT(PyObject *) PyFile_FromString Py_PROTO((char *, char *)); | ||||||
| extern void PyFile_SetBufSize Py_PROTO((PyObject *, int)); | extern DL_IMPORT(void) PyFile_SetBufSize Py_PROTO((PyObject *, int)); | ||||||
| extern PyObject *PyFile_FromFile | extern DL_IMPORT(PyObject *) PyFile_FromFile | ||||||
| 	Py_PROTO((FILE *, char *, char *, int (*)Py_FPROTO((FILE *)))); | 	Py_PROTO((FILE *, char *, char *, int (*)Py_FPROTO((FILE *)))); | ||||||
| extern FILE *PyFile_AsFile Py_PROTO((PyObject *)); | extern DL_IMPORT(FILE *) PyFile_AsFile Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyFile_Name Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyFile_Name Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyFile_GetLine Py_PROTO((PyObject *, int)); | extern DL_IMPORT(PyObject *) PyFile_GetLine Py_PROTO((PyObject *, int)); | ||||||
| extern int PyFile_WriteObject Py_PROTO((PyObject *, PyObject *, int)); | extern DL_IMPORT(int) PyFile_WriteObject Py_PROTO((PyObject *, PyObject *, int)); | ||||||
| extern int PyFile_SoftSpace Py_PROTO((PyObject *, int)); | extern DL_IMPORT(int) PyFile_SoftSpace Py_PROTO((PyObject *, int)); | ||||||
| extern int PyFile_WriteString Py_PROTO((char *, PyObject *)); | extern DL_IMPORT(int) PyFile_WriteString Py_PROTO((char *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -50,8 +50,8 @@ extern DL_IMPORT(PyTypeObject) PyFloat_Type; | ||||||
| 
 | 
 | ||||||
| #define PyFloat_Check(op) ((op)->ob_type == &PyFloat_Type) | #define PyFloat_Check(op) ((op)->ob_type == &PyFloat_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyFloat_FromDouble Py_PROTO((double)); | extern DL_IMPORT(PyObject *) PyFloat_FromDouble Py_PROTO((double)); | ||||||
| extern double PyFloat_AsDouble Py_PROTO((PyObject *)); | extern DL_IMPORT(double) PyFloat_AsDouble Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Macro, trading safety for speed */ | /* Macro, trading safety for speed */ | ||||||
| #define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval) | #define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval) | ||||||
|  |  | ||||||
|  | @ -72,7 +72,7 @@ extern DL_IMPORT(PyTypeObject) PyFrame_Type; | ||||||
| 
 | 
 | ||||||
| #define PyFrame_Check(op) ((op)->ob_type == &PyFrame_Type) | #define PyFrame_Check(op) ((op)->ob_type == &PyFrame_Type) | ||||||
| 
 | 
 | ||||||
| PyFrameObject * PyFrame_New | DL_IMPORT(PyFrameObject *) PyFrame_New | ||||||
| 	Py_PROTO((PyThreadState *, PyCodeObject *, | 	Py_PROTO((PyThreadState *, PyCodeObject *, | ||||||
| 		  PyObject *, PyObject *)); | 		  PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
|  | @ -101,17 +101,17 @@ PyFrameObject * PyFrame_New | ||||||
| 
 | 
 | ||||||
| /* Block management functions */ | /* Block management functions */ | ||||||
| 
 | 
 | ||||||
| void PyFrame_BlockSetup Py_PROTO((PyFrameObject *, int, int, int)); | DL_IMPORT(void) PyFrame_BlockSetup Py_PROTO((PyFrameObject *, int, int, int)); | ||||||
| PyTryBlock *PyFrame_BlockPop Py_PROTO((PyFrameObject *)); | DL_IMPORT(PyTryBlock *) PyFrame_BlockPop Py_PROTO((PyFrameObject *)); | ||||||
| 
 | 
 | ||||||
| /* Extend the value stack */ | /* Extend the value stack */ | ||||||
| 
 | 
 | ||||||
| PyObject **PyFrame_ExtendStack Py_PROTO((PyFrameObject *, int, int)); | DL_IMPORT(PyObject **) PyFrame_ExtendStack Py_PROTO((PyFrameObject *, int, int)); | ||||||
| 
 | 
 | ||||||
| /* Conversions between "fast locals" and locals in dictionary */ | /* Conversions between "fast locals" and locals in dictionary */ | ||||||
| 
 | 
 | ||||||
| void PyFrame_LocalsToFast Py_PROTO((PyFrameObject *, int)); | DL_IMPORT(void) PyFrame_LocalsToFast Py_PROTO((PyFrameObject *, int)); | ||||||
| void PyFrame_FastToLocals Py_PROTO((PyFrameObject *)); | DL_IMPORT(void) PyFrame_FastToLocals Py_PROTO((PyFrameObject *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -50,11 +50,11 @@ extern DL_IMPORT(PyTypeObject) PyFunction_Type; | ||||||
| 
 | 
 | ||||||
| #define PyFunction_Check(op) ((op)->ob_type == &PyFunction_Type) | #define PyFunction_Check(op) ((op)->ob_type == &PyFunction_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyFunction_New Py_PROTO((PyObject *, PyObject *)); | extern DL_IMPORT(PyObject *) PyFunction_New Py_PROTO((PyObject *, PyObject *)); | ||||||
| extern PyObject *PyFunction_GetCode Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyFunction_GetCode Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyFunction_GetGlobals Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyFunction_GetGlobals Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyFunction_GetDefaults Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyFunction_GetDefaults Py_PROTO((PyObject *)); | ||||||
| extern int PyFunction_SetDefaults Py_PROTO((PyObject *, PyObject *)); | extern DL_IMPORT(int) PyFunction_SetDefaults Py_PROTO((PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Macros for direct access to these values. Type checks are *not*
 | /* Macros for direct access to these values. Type checks are *not*
 | ||||||
|    done, so use with care. */ |    done, so use with care. */ | ||||||
|  |  | ||||||
|  | @ -37,26 +37,26 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| /* Module definition and import interface */ | /* Module definition and import interface */ | ||||||
| 
 | 
 | ||||||
| long PyImport_GetMagicNumber Py_PROTO((void)); | DL_IMPORT(long) PyImport_GetMagicNumber Py_PROTO((void)); | ||||||
| PyObject *PyImport_ExecCodeModule Py_PROTO((char *name, PyObject *co)); | DL_IMPORT(PyObject *) PyImport_ExecCodeModule Py_PROTO((char *name, PyObject *co)); | ||||||
| PyObject *PyImport_ExecCodeModuleEx Py_PROTO(( | DL_IMPORT(PyObject *) PyImport_ExecCodeModuleEx Py_PROTO(( | ||||||
| 	char *name, PyObject *co, char *pathname)); | 	char *name, PyObject *co, char *pathname)); | ||||||
| PyObject *PyImport_GetModuleDict Py_PROTO((void)); | DL_IMPORT(PyObject *) PyImport_GetModuleDict Py_PROTO((void)); | ||||||
| PyObject *PyImport_AddModule Py_PROTO((char *name)); | DL_IMPORT(PyObject *) PyImport_AddModule Py_PROTO((char *name)); | ||||||
| PyObject *PyImport_ImportModule Py_PROTO((char *name)); | DL_IMPORT(PyObject *) PyImport_ImportModule Py_PROTO((char *name)); | ||||||
| PyObject *PyImport_ImportModuleEx Py_PROTO(( | DL_IMPORT(PyObject *) PyImport_ImportModuleEx Py_PROTO(( | ||||||
| 	char *name, PyObject *globals, PyObject *locals, PyObject *fromlist)); | 	char *name, PyObject *globals, PyObject *locals, PyObject *fromlist)); | ||||||
| PyObject *PyImport_Import Py_PROTO((PyObject *name)); | DL_IMPORT(PyObject *) PyImport_Import Py_PROTO((PyObject *name)); | ||||||
| PyObject *PyImport_ReloadModule Py_PROTO((PyObject *m)); | DL_IMPORT(PyObject *) PyImport_ReloadModule Py_PROTO((PyObject *m)); | ||||||
| void PyImport_Cleanup Py_PROTO((void)); | DL_IMPORT(void) PyImport_Cleanup Py_PROTO((void)); | ||||||
| int PyImport_ImportFrozenModule Py_PROTO((char *)); | DL_IMPORT(int) PyImport_ImportFrozenModule Py_PROTO((char *)); | ||||||
| 
 | 
 | ||||||
| extern PyObject *_PyImport_FindExtension Py_PROTO((char *, char *)); | extern DL_IMPORT(PyObject *)_PyImport_FindExtension Py_PROTO((char *, char *)); | ||||||
| extern PyObject *_PyImport_FixupExtension Py_PROTO((char *, char *)); | extern DL_IMPORT(PyObject *)_PyImport_FixupExtension Py_PROTO((char *, char *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __BEOS__ | #ifdef __BEOS__ | ||||||
| #include <kernel/image.h> | #include <kernel/image.h> | ||||||
| extern image_id PyImport_BeImageID( char *name ); | extern DL_IMPORT(image_id) PyImport_BeImageID( char *name ); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| struct _inittab { | struct _inittab { | ||||||
|  | @ -66,8 +66,8 @@ struct _inittab { | ||||||
| 
 | 
 | ||||||
| extern DL_IMPORT(struct _inittab *) PyImport_Inittab; | extern DL_IMPORT(struct _inittab *) PyImport_Inittab; | ||||||
| 
 | 
 | ||||||
| extern int PyImport_AppendInittab Py_PROTO((char *name, void (*initfunc)())); | extern DL_IMPORT(int) PyImport_AppendInittab Py_PROTO((char *name, void (*initfunc)())); | ||||||
| extern int PyImport_ExtendInittab Py_PROTO((struct _inittab *newtab)); | extern DL_IMPORT(int) PyImport_ExtendInittab Py_PROTO((struct _inittab *newtab)); | ||||||
| 
 | 
 | ||||||
| struct _frozen { | struct _frozen { | ||||||
| 	char *name; | 	char *name; | ||||||
|  |  | ||||||
|  | @ -61,9 +61,9 @@ extern DL_IMPORT(PyTypeObject) PyInt_Type; | ||||||
| 
 | 
 | ||||||
| #define PyInt_Check(op) ((op)->ob_type == &PyInt_Type) | #define PyInt_Check(op) ((op)->ob_type == &PyInt_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyInt_FromLong Py_PROTO((long)); | extern DL_IMPORT(PyObject *) PyInt_FromLong Py_PROTO((long)); | ||||||
| extern long PyInt_AsLong Py_PROTO((PyObject *)); | extern DL_IMPORT(long) PyInt_AsLong Py_PROTO((PyObject *)); | ||||||
| extern long PyInt_GetMax Py_PROTO((void)); | extern DL_IMPORT(long) PyInt_GetMax Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  |  | ||||||
|  | @ -35,9 +35,9 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| ******************************************************************/ | ******************************************************************/ | ||||||
| 
 | 
 | ||||||
| extern int PyOS_InterruptOccurred Py_PROTO((void)); | extern DL_IMPORT(int) PyOS_InterruptOccurred Py_PROTO((void)); | ||||||
| extern void PyOS_InitInterrupts Py_PROTO((void)); | extern DL_IMPORT(void) PyOS_InitInterrupts Py_PROTO((void)); | ||||||
| void PyOS_AfterFork Py_PROTO((void)); | DL_IMPORT(void) PyOS_AfterFork Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -60,17 +60,17 @@ extern DL_IMPORT(PyTypeObject) PyList_Type; | ||||||
| 
 | 
 | ||||||
| #define PyList_Check(op) ((op)->ob_type == &PyList_Type) | #define PyList_Check(op) ((op)->ob_type == &PyList_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyList_New Py_PROTO((int size)); | extern DL_IMPORT(PyObject *) PyList_New Py_PROTO((int size)); | ||||||
| extern int PyList_Size Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyList_Size Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyList_GetItem Py_PROTO((PyObject *, int)); | extern DL_IMPORT(PyObject *) PyList_GetItem Py_PROTO((PyObject *, int)); | ||||||
| extern int PyList_SetItem Py_PROTO((PyObject *, int, PyObject *)); | extern DL_IMPORT(int) PyList_SetItem Py_PROTO((PyObject *, int, PyObject *)); | ||||||
| extern int PyList_Insert Py_PROTO((PyObject *, int, PyObject *)); | extern DL_IMPORT(int) PyList_Insert Py_PROTO((PyObject *, int, PyObject *)); | ||||||
| extern int PyList_Append Py_PROTO((PyObject *, PyObject *)); | extern DL_IMPORT(int) PyList_Append Py_PROTO((PyObject *, PyObject *)); | ||||||
| extern PyObject *PyList_GetSlice Py_PROTO((PyObject *, int, int)); | extern DL_IMPORT(PyObject *) PyList_GetSlice Py_PROTO((PyObject *, int, int)); | ||||||
| extern int PyList_SetSlice Py_PROTO((PyObject *, int, int, PyObject *)); | extern DL_IMPORT(int) PyList_SetSlice Py_PROTO((PyObject *, int, int, PyObject *)); | ||||||
| extern int PyList_Sort Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyList_Sort Py_PROTO((PyObject *)); | ||||||
| extern int PyList_Reverse Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyList_Reverse Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyList_AsTuple Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyList_AsTuple Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Macro, trading safety for speed */ | /* Macro, trading safety for speed */ | ||||||
| #define PyList_GET_ITEM(op, i) (((PyListObject *)(op))->ob_item[i]) | #define PyList_GET_ITEM(op, i) (((PyListObject *)(op))->ob_item[i]) | ||||||
|  |  | ||||||
|  | @ -73,7 +73,7 @@ struct _longobject { | ||||||
| 	digit ob_digit[1]; | 	digit ob_digit[1]; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| PyLongObject *_PyLong_New Py_PROTO((int)); | DL_IMPORT(PyLongObject *) _PyLong_New Py_PROTO((int)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -43,26 +43,26 @@ extern DL_IMPORT(PyTypeObject) PyLong_Type; | ||||||
| 
 | 
 | ||||||
| #define PyLong_Check(op) ((op)->ob_type == &PyLong_Type) | #define PyLong_Check(op) ((op)->ob_type == &PyLong_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyLong_FromLong Py_PROTO((long)); | extern DL_IMPORT(PyObject *) PyLong_FromLong Py_PROTO((long)); | ||||||
| extern PyObject *PyLong_FromUnsignedLong Py_PROTO((unsigned long)); | extern DL_IMPORT(PyObject *) PyLong_FromUnsignedLong Py_PROTO((unsigned long)); | ||||||
| extern PyObject *PyLong_FromDouble Py_PROTO((double)); | extern DL_IMPORT(PyObject *) PyLong_FromDouble Py_PROTO((double)); | ||||||
| extern long PyLong_AsLong Py_PROTO((PyObject *)); | extern DL_IMPORT(long) PyLong_AsLong Py_PROTO((PyObject *)); | ||||||
| extern unsigned long PyLong_AsUnsignedLong Py_PROTO((PyObject *)); | extern DL_IMPORT(unsigned long) PyLong_AsUnsignedLong Py_PROTO((PyObject *)); | ||||||
| extern double PyLong_AsDouble Py_PROTO((PyObject *)); | extern DL_IMPORT(double) PyLong_AsDouble Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyLong_FromVoidPtr Py_PROTO((void *)); | extern DL_IMPORT(PyObject *) PyLong_FromVoidPtr Py_PROTO((void *)); | ||||||
| extern void *PyLong_AsVoidPtr Py_PROTO((PyObject *)); | extern DL_IMPORT(void *) PyLong_AsVoidPtr Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| #ifdef HAVE_LONG_LONG | #ifdef HAVE_LONG_LONG | ||||||
| #ifndef LONG_LONG | #ifndef LONG_LONG | ||||||
| #define LONG_LONG long long | #define LONG_LONG long long | ||||||
| #endif | #endif | ||||||
| extern PyObject *PyLong_FromLongLong Py_PROTO((LONG_LONG)); | extern DL_IMPORT(PyObject *) PyLong_FromLongLong Py_PROTO((LONG_LONG)); | ||||||
| extern PyObject *PyLong_FromUnsignedLongLong Py_PROTO((unsigned LONG_LONG)); | extern DL_IMPORT(PyObject *) PyLong_FromUnsignedLongLong Py_PROTO((unsigned LONG_LONG)); | ||||||
| extern LONG_LONG PyLong_AsLongLong Py_PROTO((PyObject *)); | extern DL_IMPORT(LONG_LONG) PyLong_AsLongLong Py_PROTO((PyObject *)); | ||||||
| extern unsigned LONG_LONG PyLong_AsUnsignedLongLong Py_PROTO((PyObject *)); | extern DL_IMPORT(unsigned LONG_LONG) PyLong_AsUnsignedLongLong Py_PROTO((PyObject *)); | ||||||
| #endif /* HAVE_LONG_LONG */ | #endif /* HAVE_LONG_LONG */ | ||||||
| 
 | 
 | ||||||
| PyObject *PyLong_FromString Py_PROTO((char *, char **, int)); | DL_IMPORT(PyObject *) PyLong_FromString Py_PROTO((char *, char **, int)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -37,15 +37,15 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| /* Interface for marshal.c */ | /* Interface for marshal.c */ | ||||||
| 
 | 
 | ||||||
| void PyMarshal_WriteLongToFile Py_PROTO((long, FILE *)); | DL_IMPORT(void) PyMarshal_WriteLongToFile Py_PROTO((long, FILE *)); | ||||||
| void PyMarshal_WriteShortToFile Py_PROTO((int, FILE *)); | DL_IMPORT(void) PyMarshal_WriteShortToFile Py_PROTO((int, FILE *)); | ||||||
| void PyMarshal_WriteObjectToFile Py_PROTO((PyObject *, FILE *)); | DL_IMPORT(void) PyMarshal_WriteObjectToFile Py_PROTO((PyObject *, FILE *)); | ||||||
| PyObject *PyMarshal_WriteObjectToString Py_PROTO((PyObject *)); | DL_IMPORT(PyObject *) PyMarshal_WriteObjectToString Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| long PyMarshal_ReadLongFromFile Py_PROTO((FILE *)); | DL_IMPORT(long) PyMarshal_ReadLongFromFile Py_PROTO((FILE *)); | ||||||
| int PyMarshal_ReadShortFromFile Py_PROTO((FILE *)); | DL_IMPORT(int) PyMarshal_ReadShortFromFile Py_PROTO((FILE *)); | ||||||
| PyObject *PyMarshal_ReadObjectFromFile Py_PROTO((FILE *)); | DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromFile Py_PROTO((FILE *)); | ||||||
| PyObject *PyMarshal_ReadObjectFromString Py_PROTO((char *, int)); | DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromString Py_PROTO((char *, int)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -45,9 +45,9 @@ typedef PyObject *(*PyCFunction) Py_FPROTO((PyObject *, PyObject *)); | ||||||
| typedef PyObject *(*PyCFunctionWithKeywords) | typedef PyObject *(*PyCFunctionWithKeywords) | ||||||
| 	Py_FPROTO((PyObject *, PyObject *, PyObject *)); | 	Py_FPROTO((PyObject *, PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| extern PyCFunction PyCFunction_GetFunction Py_PROTO((PyObject *)); | extern DL_IMPORT(PyCFunction) PyCFunction_GetFunction Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyCFunction_GetSelf Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyCFunction_GetSelf Py_PROTO((PyObject *)); | ||||||
| extern int PyCFunction_GetFlags Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyCFunction_GetFlags Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Macros for direct access to these values. Type checks are *not*
 | /* Macros for direct access to these values. Type checks are *not*
 | ||||||
|    done, so use with care. */ |    done, so use with care. */ | ||||||
|  | @ -66,10 +66,10 @@ struct PyMethodDef { | ||||||
| }; | }; | ||||||
| typedef struct PyMethodDef PyMethodDef; | typedef struct PyMethodDef PyMethodDef; | ||||||
| 
 | 
 | ||||||
| extern PyObject *Py_FindMethod | extern DL_IMPORT(PyObject *) Py_FindMethod | ||||||
| 	Py_PROTO((PyMethodDef[], PyObject *, char *)); | 	Py_PROTO((PyMethodDef[], PyObject *, char *)); | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyCFunction_New | extern DL_IMPORT(PyObject *) PyCFunction_New | ||||||
| 	Py_PROTO((PyMethodDef *, PyObject *)); | 	Py_PROTO((PyMethodDef *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Flag passed to newmethodobject */ | /* Flag passed to newmethodobject */ | ||||||
|  | @ -81,7 +81,7 @@ typedef struct PyMethodChain { | ||||||
| 	struct PyMethodChain *link;	/* NULL or base type */ | 	struct PyMethodChain *link;	/* NULL or base type */ | ||||||
| } PyMethodChain; | } PyMethodChain; | ||||||
| 
 | 
 | ||||||
| extern PyObject *Py_FindMethodInChain | extern DL_IMPORT(PyObject *) Py_FindMethodInChain | ||||||
| 	Py_PROTO((PyMethodChain *, PyObject *, char *)); | 	Py_PROTO((PyMethodChain *, PyObject *, char *)); | ||||||
| 
 | 
 | ||||||
| typedef struct { | typedef struct { | ||||||
|  |  | ||||||
|  | @ -41,25 +41,25 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| #include <stdarg.h> | #include <stdarg.h> | ||||||
| 
 | 
 | ||||||
| extern int PyArg_Parse Py_PROTO((PyObject *, char *, ...)); | extern DL_IMPORT(int) PyArg_Parse Py_PROTO((PyObject *, char *, ...)); | ||||||
| extern int PyArg_ParseTuple Py_PROTO((PyObject *, char *, ...)); | extern DL_IMPORT(int) PyArg_ParseTuple Py_PROTO((PyObject *, char *, ...)); | ||||||
| extern int PyArg_ParseTupleAndKeywords Py_PROTO((PyObject *, PyObject *, | extern DL_IMPORT(int) PyArg_ParseTupleAndKeywords Py_PROTO((PyObject *, PyObject *, | ||||||
| 						 char *, char **, ...)); | 						 char *, char **, ...)); | ||||||
| extern PyObject *Py_BuildValue Py_PROTO((char *, ...)); | extern DL_IMPORT(PyObject *) Py_BuildValue Py_PROTO((char *, ...)); | ||||||
| 
 | 
 | ||||||
| #else | #else | ||||||
| 
 | 
 | ||||||
| #include <varargs.h> | #include <varargs.h> | ||||||
| 
 | 
 | ||||||
| /* Better to have no prototypes at all for varargs functions in this case */ | /* Better to have no prototypes at all for varargs functions in this case */ | ||||||
| extern int PyArg_Parse(); | extern DL_IMPORT(int) PyArg_Parse(); | ||||||
| extern int PyArg_ParseTuple(); | extern DL_IMPORT(int) PyArg_ParseTuple(); | ||||||
| extern PyObject *Py_BuildValue(); | extern DL_IMPORT(PyObject *) Py_BuildValue(); | ||||||
| 
 | 
 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| extern int PyArg_VaParse Py_PROTO((PyObject *, char *, va_list)); | extern DL_IMPORT(int) PyArg_VaParse Py_PROTO((PyObject *, char *, va_list)); | ||||||
| extern PyObject *Py_VaBuildValue Py_PROTO((char *, va_list)); | extern DL_IMPORT(PyObject *) Py_VaBuildValue Py_PROTO((char *, va_list)); | ||||||
| 
 | 
 | ||||||
| #define PYTHON_API_VERSION 1008 | #define PYTHON_API_VERSION 1008 | ||||||
| #define PYTHON_API_STRING "1008" | #define PYTHON_API_STRING "1008" | ||||||
|  | @ -107,7 +107,7 @@ extern PyObject *Py_VaBuildValue Py_PROTO((char *, va_list)); | ||||||
| #define Py_InitModule4 Py_InitModule4TraceRefs | #define Py_InitModule4 Py_InitModule4TraceRefs | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| extern PyObject *Py_InitModule4 Py_PROTO((char *, PyMethodDef *, | extern DL_IMPORT(PyObject *) Py_InitModule4 Py_PROTO((char *, PyMethodDef *, | ||||||
| 					  char *, PyObject *, int)); | 					  char *, PyObject *, int)); | ||||||
| #define Py_InitModule(name, methods) \ | #define Py_InitModule(name, methods) \ | ||||||
| 	Py_InitModule4(name, methods, (char *)NULL, (PyObject *)NULL, \ | 	Py_InitModule4(name, methods, (char *)NULL, (PyObject *)NULL, \ | ||||||
|  | @ -117,7 +117,7 @@ extern PyObject *Py_InitModule4 Py_PROTO((char *, PyMethodDef *, | ||||||
| 	Py_InitModule4(name, methods, doc, (PyObject *)NULL, \ | 	Py_InitModule4(name, methods, doc, (PyObject *)NULL, \ | ||||||
| 		       PYTHON_API_VERSION) | 		       PYTHON_API_VERSION) | ||||||
| 
 | 
 | ||||||
| extern char *_Py_PackageContext; | extern DL_IMPORT(char *) _Py_PackageContext; | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -41,10 +41,10 @@ extern DL_IMPORT(PyTypeObject) PyModule_Type; | ||||||
| 
 | 
 | ||||||
| #define PyModule_Check(op) ((op)->ob_type == &PyModule_Type) | #define PyModule_Check(op) ((op)->ob_type == &PyModule_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyModule_New Py_PROTO((char *)); | extern DL_IMPORT(PyObject *) PyModule_New Py_PROTO((char *)); | ||||||
| extern PyObject *PyModule_GetDict Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyModule_GetDict Py_PROTO((PyObject *)); | ||||||
| extern char *PyModule_GetName Py_PROTO((PyObject *)); | extern DL_IMPORT(char *) PyModule_GetName Py_PROTO((PyObject *)); | ||||||
| extern void _PyModule_Clear Py_PROTO((PyObject *)); | extern DL_IMPORT(void) _PyModule_Clear Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -106,14 +106,14 @@ extern void free Py_PROTO((ANY *)); /* XXX sometimes int on Unix old systems */ | ||||||
|    The Python interpreter continues to use PyMem_NEW etc. */ |    The Python interpreter continues to use PyMem_NEW etc. */ | ||||||
| 
 | 
 | ||||||
| /* These wrappers around malloc call PyErr_NoMemory() on failure */ | /* These wrappers around malloc call PyErr_NoMemory() on failure */ | ||||||
| extern ANY *Py_Malloc Py_PROTO((size_t)); | extern DL_IMPORT(ANY *) Py_Malloc Py_PROTO((size_t)); | ||||||
| extern ANY *Py_Realloc Py_PROTO((ANY *, size_t)); | extern DL_IMPORT(ANY *) Py_Realloc Py_PROTO((ANY *, size_t)); | ||||||
| extern void Py_Free Py_PROTO((ANY *)); | extern DL_IMPORT(void) Py_Free Py_PROTO((ANY *)); | ||||||
| 
 | 
 | ||||||
| /* These wrappers around malloc *don't* call anything on failure */ | /* These wrappers around malloc *don't* call anything on failure */ | ||||||
| extern ANY *PyMem_Malloc Py_PROTO((size_t)); | extern DL_IMPORT(ANY *) PyMem_Malloc Py_PROTO((size_t)); | ||||||
| extern ANY *PyMem_Realloc Py_PROTO((ANY *, size_t)); | extern DL_IMPORT(ANY *) PyMem_Realloc Py_PROTO((ANY *, size_t)); | ||||||
| extern void PyMem_Free Py_PROTO((ANY *)); | extern DL_IMPORT(void) PyMem_Free Py_PROTO((ANY *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -45,9 +45,9 @@ typedef struct _node { | ||||||
| 	struct _node	*n_child; | 	struct _node	*n_child; | ||||||
| } node; | } node; | ||||||
| 
 | 
 | ||||||
| extern node *PyNode_New Py_PROTO((int type)); | extern DL_IMPORT(node *) PyNode_New Py_PROTO((int type)); | ||||||
| extern node *PyNode_AddChild Py_PROTO((node *n, int type, char *str, int lineno)); | extern DL_IMPORT(node *) PyNode_AddChild Py_PROTO((node *n, int type, char *str, int lineno)); | ||||||
| extern void PyNode_Free Py_PROTO((node *n)); | extern DL_IMPORT(void) PyNode_Free Py_PROTO((node *n)); | ||||||
| 
 | 
 | ||||||
| /* Node access functions */ | /* Node access functions */ | ||||||
| #define NCH(n)		((n)->n_nchildren) | #define NCH(n)		((n)->n_nchildren) | ||||||
|  | @ -67,7 +67,7 @@ extern void PyNode_Free Py_PROTO((node *n)); | ||||||
| 	} } | 	} } | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| extern void PyNode_ListTree Py_PROTO((node *)); | extern DL_IMPORT(void) PyNode_ListTree Py_PROTO((node *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -267,26 +267,26 @@ extern DL_IMPORT(PyTypeObject) PyType_Type; /* The type of type objects */ | ||||||
| #define PyType_Check(op) ((op)->ob_type == &PyType_Type) | #define PyType_Check(op) ((op)->ob_type == &PyType_Type) | ||||||
| 
 | 
 | ||||||
| /* Generic operations on objects */ | /* Generic operations on objects */ | ||||||
| extern int PyObject_Print Py_PROTO((PyObject *, FILE *, int)); | extern DL_IMPORT(int) PyObject_Print Py_PROTO((PyObject *, FILE *, int)); | ||||||
| extern PyObject * PyObject_Repr Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyObject_Repr Py_PROTO((PyObject *)); | ||||||
| extern PyObject * PyObject_Str Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyObject_Str Py_PROTO((PyObject *)); | ||||||
| extern int PyObject_Compare Py_PROTO((PyObject *, PyObject *)); | extern DL_IMPORT(int) PyObject_Compare Py_PROTO((PyObject *, PyObject *)); | ||||||
| extern PyObject *PyObject_GetAttrString Py_PROTO((PyObject *, char *)); | extern DL_IMPORT(PyObject *) PyObject_GetAttrString Py_PROTO((PyObject *, char *)); | ||||||
| extern int PyObject_SetAttrString Py_PROTO((PyObject *, char *, PyObject *)); | extern DL_IMPORT(int) PyObject_SetAttrString Py_PROTO((PyObject *, char *, PyObject *)); | ||||||
| extern int PyObject_HasAttrString Py_PROTO((PyObject *, char *)); | extern DL_IMPORT(int) PyObject_HasAttrString Py_PROTO((PyObject *, char *)); | ||||||
| extern PyObject *PyObject_GetAttr Py_PROTO((PyObject *, PyObject *)); | extern DL_IMPORT(PyObject *) PyObject_GetAttr Py_PROTO((PyObject *, PyObject *)); | ||||||
| extern int PyObject_SetAttr Py_PROTO((PyObject *, PyObject *, PyObject *)); | extern DL_IMPORT(int) PyObject_SetAttr Py_PROTO((PyObject *, PyObject *, PyObject *)); | ||||||
| extern int PyObject_HasAttr Py_PROTO((PyObject *, PyObject *)); | extern DL_IMPORT(int) PyObject_HasAttr Py_PROTO((PyObject *, PyObject *)); | ||||||
| extern long PyObject_Hash Py_PROTO((PyObject *)); | extern DL_IMPORT(long) PyObject_Hash Py_PROTO((PyObject *)); | ||||||
| extern int PyObject_IsTrue Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyObject_IsTrue Py_PROTO((PyObject *)); | ||||||
| extern int PyObject_Not Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyObject_Not Py_PROTO((PyObject *)); | ||||||
| extern int PyCallable_Check Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyCallable_Check Py_PROTO((PyObject *)); | ||||||
| extern int PyNumber_Coerce Py_PROTO((PyObject **, PyObject **)); | extern DL_IMPORT(int) PyNumber_Coerce Py_PROTO((PyObject **, PyObject **)); | ||||||
| extern int PyNumber_CoerceEx Py_PROTO((PyObject **, PyObject **)); | extern DL_IMPORT(int) PyNumber_CoerceEx Py_PROTO((PyObject **, PyObject **)); | ||||||
| 
 | 
 | ||||||
| /* Helpers for printing recursive container types */ | /* Helpers for printing recursive container types */ | ||||||
| extern int Py_ReprEnter Py_PROTO((PyObject *)); | extern DL_IMPORT(int) Py_ReprEnter Py_PROTO((PyObject *)); | ||||||
| extern void Py_ReprLeave Py_PROTO((PyObject *)); | extern DL_IMPORT(void) Py_ReprLeave Py_PROTO((PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Flag bits for printing: */ | /* Flag bits for printing: */ | ||||||
| #define Py_PRINT_RAW	1	/* No string quotes etc. */ | #define Py_PRINT_RAW	1	/* No string quotes etc. */ | ||||||
|  | @ -358,10 +358,10 @@ environment the global variable trick is not safe.) | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifdef Py_TRACE_REFS | #ifdef Py_TRACE_REFS | ||||||
| extern void _Py_Dealloc Py_PROTO((PyObject *)); | extern DL_IMPORT(void) _Py_Dealloc Py_PROTO((PyObject *)); | ||||||
| extern void _Py_NewReference Py_PROTO((PyObject *)); | extern DL_IMPORT(void) _Py_NewReference Py_PROTO((PyObject *)); | ||||||
| extern void _Py_ForgetReference Py_PROTO((PyObject *)); | extern DL_IMPORT(void) _Py_ForgetReference Py_PROTO((PyObject *)); | ||||||
| extern void _Py_PrintReferences Py_PROTO((FILE *)); | extern DL_IMPORT(void) _Py_PrintReferences Py_PROTO((FILE *)); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifndef Py_TRACE_REFS | #ifndef Py_TRACE_REFS | ||||||
|  | @ -375,12 +375,12 @@ extern void _Py_PrintReferences Py_PROTO((FILE *)); | ||||||
| #endif /* !Py_TRACE_REFS */ | #endif /* !Py_TRACE_REFS */ | ||||||
| 
 | 
 | ||||||
| #ifdef COUNT_ALLOCS | #ifdef COUNT_ALLOCS | ||||||
| extern void inc_count Py_PROTO((PyTypeObject *)); | extern DL_IMPORT(void) inc_count Py_PROTO((PyTypeObject *)); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifdef Py_REF_DEBUG | #ifdef Py_REF_DEBUG | ||||||
| 
 | 
 | ||||||
| extern long _Py_RefTotal; | extern DL_IMPORT(long) _Py_RefTotal; | ||||||
| 
 | 
 | ||||||
| #ifndef Py_TRACE_REFS | #ifndef Py_TRACE_REFS | ||||||
| #ifdef COUNT_ALLOCS | #ifdef COUNT_ALLOCS | ||||||
|  |  | ||||||
|  | @ -55,8 +55,8 @@ n * tp_itemsize.  This fills in the ob_size field as well. | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| #ifndef MS_COREDLL | #ifndef MS_COREDLL | ||||||
| extern PyObject *_PyObject_New Py_PROTO((PyTypeObject *)); | extern DL_IMPORT(PyObject *) _PyObject_New Py_PROTO((PyTypeObject *)); | ||||||
| extern PyVarObject *_PyObject_NewVar Py_PROTO((PyTypeObject *, int)); | extern DL_IMPORT(PyVarObject *) _PyObject_NewVar Py_PROTO((PyTypeObject *, int)); | ||||||
| 
 | 
 | ||||||
| #define PyObject_NEW(type, typeobj) ((type *) _PyObject_New(typeobj)) | #define PyObject_NEW(type, typeobj) ((type *) _PyObject_New(typeobj)) | ||||||
| #define PyObject_NEW_VAR(type, typeobj, n) ((type *) _PyObject_NewVar(typeobj, n)) | #define PyObject_NEW_VAR(type, typeobj, n) ((type *) _PyObject_NewVar(typeobj, n)) | ||||||
|  | @ -66,8 +66,8 @@ extern PyVarObject *_PyObject_NewVar Py_PROTO((PyTypeObject *, int)); | ||||||
|    extension module's malloc is used, rather than the core DLL malloc, as there is |    extension module's malloc is used, rather than the core DLL malloc, as there is | ||||||
|    no guarantee they will use the same heap |    no guarantee they will use the same heap | ||||||
| */ | */ | ||||||
| extern PyObject *_PyObject_New Py_PROTO((PyTypeObject *, PyObject *)); | extern DL_IMPORT(PyObject *) _PyObject_New Py_PROTO((PyTypeObject *, PyObject *)); | ||||||
| extern PyVarObject *_PyObject_NewVar Py_PROTO((PyTypeObject *, int, PyVarObject *)); | extern DL_IMPORT(PyVarObject *) _PyObject_NewVar Py_PROTO((PyTypeObject *, int, PyVarObject *)); | ||||||
| 
 | 
 | ||||||
| #define PyObject_NEW(type, typeobj) ((type *) _PyObject_New(typeobj,(PyObject *)malloc((typeobj)->tp_basicsize))) | #define PyObject_NEW(type, typeobj) ((type *) _PyObject_New(typeobj,(PyObject *)malloc((typeobj)->tp_basicsize))) | ||||||
| #define PyObject_NEW_VAR(type, typeobj, n) ((type *) _PyObject_NewVar(typeobj, n, (PyVarObject *)malloc((typeobj)->tp_basicsize + n * (typeobj)->tp_itemsize))) | #define PyObject_NEW_VAR(type, typeobj, n) ((type *) _PyObject_NewVar(typeobj, n, (PyVarObject *)malloc((typeobj)->tp_basicsize + n * (typeobj)->tp_itemsize))) | ||||||
|  |  | ||||||
|  | @ -45,8 +45,8 @@ typedef struct { | ||||||
| 	char *text; | 	char *text; | ||||||
| } perrdetail; | } perrdetail; | ||||||
| 
 | 
 | ||||||
| extern node *PyParser_ParseString Py_PROTO((char *, grammar *, int, perrdetail *)); | extern DL_IMPORT(node *) PyParser_ParseString Py_PROTO((char *, grammar *, int, perrdetail *)); | ||||||
| extern node *PyParser_ParseFile Py_PROTO((FILE *, char *, grammar *, int, | extern DL_IMPORT(node *) PyParser_ParseFile Py_PROTO((FILE *, char *, grammar *, int, | ||||||
| 			    char *, char *, perrdetail *)); | 			    char *, char *, perrdetail *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|  |  | ||||||
|  | @ -62,12 +62,12 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| #include "pydebug.h" | #include "pydebug.h" | ||||||
| 
 | 
 | ||||||
| #ifdef HAVE_STDARG_PROTOTYPES | #ifdef HAVE_STDARG_PROTOTYPES | ||||||
| void PySys_WriteStdout(const char *format, ...); | DL_IMPORT(void) PySys_WriteStdout(const char *format, ...); | ||||||
| void PySys_WriteStderr(const char *format, ...); | DL_IMPORT(void) PySys_WriteStderr(const char *format, ...); | ||||||
| #else | #else | ||||||
| /* Better to have no prototypes at all for varargs functions in this case */ | /* Better to have no prototypes at all for varargs functions in this case */ | ||||||
| void PySys_WriteStdout(); | DL_IMPORT(void) PySys_WriteStdout(); | ||||||
| void PySys_WriteStderr(); | DL_IMPORT(void) PySys_WriteStderr(); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #define addarc _Py_addarc | #define addarc _Py_addarc | ||||||
|  |  | ||||||
|  | @ -44,7 +44,7 @@ extern DL_IMPORT(int) Py_UseClassExceptionsFlag; | ||||||
| extern DL_IMPORT(int) Py_FrozenFlag; | extern DL_IMPORT(int) Py_FrozenFlag; | ||||||
| extern DL_IMPORT(int) Py_TabcheckFlag; | extern DL_IMPORT(int) Py_TabcheckFlag; | ||||||
| 
 | 
 | ||||||
| void Py_FatalError	Py_PROTO((char *)); | DL_IMPORT(void) Py_FatalError	Py_PROTO((char *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -37,18 +37,18 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| /* Error handling definitions */ | /* Error handling definitions */ | ||||||
| 
 | 
 | ||||||
| void PyErr_SetNone Py_PROTO((PyObject *)); | DL_IMPORT(void) PyErr_SetNone Py_PROTO((PyObject *)); | ||||||
| void PyErr_SetObject Py_PROTO((PyObject *, PyObject *)); | DL_IMPORT(void) PyErr_SetObject Py_PROTO((PyObject *, PyObject *)); | ||||||
| void PyErr_SetString Py_PROTO((PyObject *, const char *)); | DL_IMPORT(void) PyErr_SetString Py_PROTO((PyObject *, const char *)); | ||||||
| PyObject *PyErr_Occurred Py_PROTO((void)); | DL_IMPORT(PyObject *) PyErr_Occurred Py_PROTO((void)); | ||||||
| void PyErr_Clear Py_PROTO((void)); | DL_IMPORT(void) PyErr_Clear Py_PROTO((void)); | ||||||
| void PyErr_Fetch Py_PROTO((PyObject **, PyObject **, PyObject **)); | DL_IMPORT(void) PyErr_Fetch Py_PROTO((PyObject **, PyObject **, PyObject **)); | ||||||
| void PyErr_Restore Py_PROTO((PyObject *, PyObject *, PyObject *)); | DL_IMPORT(void) PyErr_Restore Py_PROTO((PyObject *, PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Error testing and normalization */ | /* Error testing and normalization */ | ||||||
| int PyErr_GivenExceptionMatches Py_PROTO((PyObject *, PyObject *)); | DL_IMPORT(int) PyErr_GivenExceptionMatches Py_PROTO((PyObject *, PyObject *)); | ||||||
| int PyErr_ExceptionMatches Py_PROTO((PyObject *)); | DL_IMPORT(int) PyErr_ExceptionMatches Py_PROTO((PyObject *)); | ||||||
| void PyErr_NormalizeException Py_PROTO((PyObject**, PyObject**, PyObject**)); | DL_IMPORT(void) PyErr_NormalizeException Py_PROTO((PyObject**, PyObject**, PyObject**)); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /* Predefined exceptions */ | /* Predefined exceptions */ | ||||||
|  | @ -86,21 +86,21 @@ extern DL_IMPORT(PyObject *) PyExc_MemoryErrorInst; | ||||||
| 
 | 
 | ||||||
| /* Convenience functions */ | /* Convenience functions */ | ||||||
| 
 | 
 | ||||||
| extern int PyErr_BadArgument Py_PROTO((void)); | extern DL_IMPORT(int) PyErr_BadArgument Py_PROTO((void)); | ||||||
| extern PyObject *PyErr_NoMemory Py_PROTO((void)); | extern DL_IMPORT(PyObject *) PyErr_NoMemory Py_PROTO((void)); | ||||||
| extern PyObject *PyErr_SetFromErrno Py_PROTO((PyObject *)); | extern DL_IMPORT(PyObject *) PyErr_SetFromErrno Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyErr_SetFromErrnoWithFilename Py_PROTO((PyObject *, char *)); | extern DL_IMPORT(PyObject *) PyErr_SetFromErrnoWithFilename Py_PROTO((PyObject *, char *)); | ||||||
| extern PyObject *PyErr_Format Py_PROTO((PyObject *, const char *, ...)); | extern DL_IMPORT(PyObject *) PyErr_Format Py_PROTO((PyObject *, const char *, ...)); | ||||||
| 
 | 
 | ||||||
| extern void PyErr_BadInternalCall Py_PROTO((void)); | extern DL_IMPORT(void) PyErr_BadInternalCall Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| /* Function to create a new exception */ | /* Function to create a new exception */ | ||||||
| PyObject *PyErr_NewException Py_PROTO((char *name, PyObject *base, | DL_IMPORT(PyObject *) PyErr_NewException Py_PROTO((char *name, PyObject *base, | ||||||
| 				       PyObject *dict)); | 				       PyObject *dict)); | ||||||
| 
 | 
 | ||||||
| /* In sigcheck.c or signalmodule.c */ | /* In sigcheck.c or signalmodule.c */ | ||||||
| extern int PyErr_CheckSignals Py_PROTO((void)); | extern DL_IMPORT(int) PyErr_CheckSignals Py_PROTO((void)); | ||||||
| extern void PyErr_SetInterrupt Py_PROTO((void)); | extern DL_IMPORT(void) PyErr_SetInterrupt Py_PROTO((void)); | ||||||
| 	 | 	 | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|  |  | ||||||
|  | @ -89,17 +89,17 @@ typedef struct _ts { | ||||||
| } PyThreadState; | } PyThreadState; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| PyInterpreterState *PyInterpreterState_New Py_PROTO((void)); | DL_IMPORT(PyInterpreterState *) PyInterpreterState_New Py_PROTO((void)); | ||||||
| void PyInterpreterState_Clear Py_PROTO((PyInterpreterState *)); | DL_IMPORT(void) PyInterpreterState_Clear Py_PROTO((PyInterpreterState *)); | ||||||
| void PyInterpreterState_Delete Py_PROTO((PyInterpreterState *)); | DL_IMPORT(void) PyInterpreterState_Delete Py_PROTO((PyInterpreterState *)); | ||||||
| 
 | 
 | ||||||
| PyThreadState *PyThreadState_New Py_PROTO((PyInterpreterState *)); | DL_IMPORT(PyThreadState *) PyThreadState_New Py_PROTO((PyInterpreterState *)); | ||||||
| void PyThreadState_Clear Py_PROTO((PyThreadState *)); | DL_IMPORT(void) PyThreadState_Clear Py_PROTO((PyThreadState *)); | ||||||
| void PyThreadState_Delete Py_PROTO((PyThreadState *)); | DL_IMPORT(void) PyThreadState_Delete Py_PROTO((PyThreadState *)); | ||||||
| 
 | 
 | ||||||
| PyThreadState *PyThreadState_Get Py_PROTO((void)); | DL_IMPORT(PyThreadState *) PyThreadState_Get Py_PROTO((void)); | ||||||
| PyThreadState *PyThreadState_Swap Py_PROTO((PyThreadState *)); | DL_IMPORT(PyThreadState *) PyThreadState_Swap Py_PROTO((PyThreadState *)); | ||||||
| PyObject *PyThreadState_GetDict Py_PROTO((void)); | DL_IMPORT(PyObject *) PyThreadState_GetDict Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -37,77 +37,77 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| /* Interfaces to parse and execute pieces of python code */ | /* Interfaces to parse and execute pieces of python code */ | ||||||
| 
 | 
 | ||||||
| void Py_SetProgramName Py_PROTO((char *)); | DL_IMPORT(void) Py_SetProgramName Py_PROTO((char *)); | ||||||
| char *Py_GetProgramName Py_PROTO((void)); | DL_IMPORT(char *) Py_GetProgramName Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| void Py_SetPythonHome Py_PROTO((char *)); | DL_IMPORT(void) Py_SetPythonHome Py_PROTO((char *)); | ||||||
| char *Py_GetPythonHome Py_PROTO((void)); | DL_IMPORT(char *) Py_GetPythonHome Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| void Py_Initialize Py_PROTO((void)); | DL_IMPORT(void) Py_Initialize Py_PROTO((void)); | ||||||
| void Py_Finalize Py_PROTO((void)); | DL_IMPORT(void) Py_Finalize Py_PROTO((void)); | ||||||
| int Py_IsInitialized Py_PROTO((void)); | DL_IMPORT(int) Py_IsInitialized Py_PROTO((void)); | ||||||
| PyThreadState *Py_NewInterpreter Py_PROTO((void)); | DL_IMPORT(PyThreadState *) Py_NewInterpreter Py_PROTO((void)); | ||||||
| void Py_EndInterpreter Py_PROTO((PyThreadState *)); | DL_IMPORT(void) Py_EndInterpreter Py_PROTO((PyThreadState *)); | ||||||
| 
 | 
 | ||||||
| int PyRun_AnyFile Py_PROTO((FILE *, char *)); | DL_IMPORT(int) PyRun_AnyFile Py_PROTO((FILE *, char *)); | ||||||
| 
 | 
 | ||||||
| int PyRun_SimpleString Py_PROTO((char *)); | DL_IMPORT(int) PyRun_SimpleString Py_PROTO((char *)); | ||||||
| int PyRun_SimpleFile Py_PROTO((FILE *, char *)); | DL_IMPORT(int) PyRun_SimpleFile Py_PROTO((FILE *, char *)); | ||||||
| int PyRun_InteractiveOne Py_PROTO((FILE *, char *)); | DL_IMPORT(int) PyRun_InteractiveOne Py_PROTO((FILE *, char *)); | ||||||
| int PyRun_InteractiveLoop Py_PROTO((FILE *, char *)); | DL_IMPORT(int) PyRun_InteractiveLoop Py_PROTO((FILE *, char *)); | ||||||
| 
 | 
 | ||||||
| struct _node *PyParser_SimpleParseString Py_PROTO((char *, int)); | DL_IMPORT(struct _node *) PyParser_SimpleParseString Py_PROTO((char *, int)); | ||||||
| struct _node *PyParser_SimpleParseFile Py_PROTO((FILE *, char *, int)); | DL_IMPORT(struct _node *) PyParser_SimpleParseFile Py_PROTO((FILE *, char *, int)); | ||||||
| 
 | 
 | ||||||
| PyObject *PyRun_String Py_PROTO((char *, int, PyObject *, PyObject *)); | DL_IMPORT(PyObject *) PyRun_String Py_PROTO((char *, int, PyObject *, PyObject *)); | ||||||
| PyObject *PyRun_File Py_PROTO((FILE *, char *, int, PyObject *, PyObject *)); | DL_IMPORT(PyObject *) PyRun_File Py_PROTO((FILE *, char *, int, PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| PyObject *Py_CompileString Py_PROTO((char *, char *, int)); | DL_IMPORT(PyObject *) Py_CompileString Py_PROTO((char *, char *, int)); | ||||||
| 
 | 
 | ||||||
| void PyErr_Print Py_PROTO((void)); | DL_IMPORT(void) PyErr_Print Py_PROTO((void)); | ||||||
| void PyErr_PrintEx Py_PROTO((int)); | DL_IMPORT(void) PyErr_PrintEx Py_PROTO((int)); | ||||||
| 
 | 
 | ||||||
| int Py_AtExit Py_PROTO((void (*func) Py_PROTO((void)))); | DL_IMPORT(int) Py_AtExit Py_PROTO((void (*func) Py_PROTO((void)))); | ||||||
| 
 | 
 | ||||||
| void Py_Exit Py_PROTO((int)); | DL_IMPORT(void) Py_Exit Py_PROTO((int)); | ||||||
| 
 | 
 | ||||||
| int Py_FdIsInteractive Py_PROTO((FILE *, char *)); | DL_IMPORT(int) Py_FdIsInteractive Py_PROTO((FILE *, char *)); | ||||||
| 
 | 
 | ||||||
| /* In getpath.c */ | /* In getpath.c */ | ||||||
| char *Py_GetProgramFullPath Py_PROTO((void)); | DL_IMPORT(char *) Py_GetProgramFullPath Py_PROTO((void)); | ||||||
| char *Py_GetPrefix Py_PROTO((void)); | DL_IMPORT(char *) Py_GetPrefix Py_PROTO((void)); | ||||||
| char *Py_GetExecPrefix Py_PROTO((void)); | DL_IMPORT(char *) Py_GetExecPrefix Py_PROTO((void)); | ||||||
| char *Py_GetPath Py_PROTO((void)); | DL_IMPORT(char *) Py_GetPath Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| /* In their own files */ | /* In their own files */ | ||||||
| const char *Py_GetVersion Py_PROTO((void)); | DL_IMPORT(const char *) Py_GetVersion Py_PROTO((void)); | ||||||
| const char *Py_GetPlatform Py_PROTO((void)); | DL_IMPORT(const char *) Py_GetPlatform Py_PROTO((void)); | ||||||
| const char *Py_GetCopyright Py_PROTO((void)); | DL_IMPORT(const char *) Py_GetCopyright Py_PROTO((void)); | ||||||
| const char *Py_GetCompiler Py_PROTO((void)); | DL_IMPORT(const char *) Py_GetCompiler Py_PROTO((void)); | ||||||
| const char *Py_GetBuildInfo Py_PROTO((void)); | DL_IMPORT(const char *) Py_GetBuildInfo Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| /* Internal -- various one-time initializations */ | /* Internal -- various one-time initializations */ | ||||||
| 
 | 
 | ||||||
| PyObject *_PyBuiltin_Init_1 Py_PROTO((void)); | DL_IMPORT(PyObject *) _PyBuiltin_Init_1 Py_PROTO((void)); | ||||||
| void _PyBuiltin_Init_2 Py_PROTO((PyObject *)); | DL_IMPORT(void) _PyBuiltin_Init_2 Py_PROTO((PyObject *)); | ||||||
| PyObject *_PySys_Init Py_PROTO((void)); | DL_IMPORT(PyObject *) _PySys_Init Py_PROTO((void)); | ||||||
| void _PyImport_Init Py_PROTO((void)); | DL_IMPORT(void) _PyImport_Init Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| /* Various internal finalizers */ | /* Various internal finalizers */ | ||||||
| void _PyImport_Fini Py_PROTO((void)); | DL_IMPORT(void) _PyImport_Fini Py_PROTO((void)); | ||||||
| void _PyBuiltin_Fini_1 Py_PROTO((void)); | DL_IMPORT(void) _PyBuiltin_Fini_1 Py_PROTO((void)); | ||||||
| void _PyBuiltin_Fini_2 Py_PROTO((void)); | DL_IMPORT(void) _PyBuiltin_Fini_2 Py_PROTO((void)); | ||||||
| void PyMethod_Fini Py_PROTO((void)); | DL_IMPORT(void) PyMethod_Fini Py_PROTO((void)); | ||||||
| void PyFrame_Fini Py_PROTO((void)); | DL_IMPORT(void) PyFrame_Fini Py_PROTO((void)); | ||||||
| void PyCFunction_Fini Py_PROTO((void)); | DL_IMPORT(void) PyCFunction_Fini Py_PROTO((void)); | ||||||
| void PyTuple_Fini Py_PROTO((void)); | DL_IMPORT(void) PyTuple_Fini Py_PROTO((void)); | ||||||
| void PyString_Fini Py_PROTO((void)); | DL_IMPORT(void) PyString_Fini Py_PROTO((void)); | ||||||
| void PyInt_Fini Py_PROTO((void)); | DL_IMPORT(void) PyInt_Fini Py_PROTO((void)); | ||||||
| void PyFloat_Fini Py_PROTO((void)); | DL_IMPORT(void) PyFloat_Fini Py_PROTO((void)); | ||||||
| void PyOS_FiniInterrupts Py_PROTO((void)); | DL_IMPORT(void) PyOS_FiniInterrupts Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| /* Stuff with no proper home (yet) */ | /* Stuff with no proper home (yet) */ | ||||||
| char *PyOS_Readline Py_PROTO((char *)); | DL_IMPORT(char *) PyOS_Readline Py_PROTO((char *)); | ||||||
| extern DL_IMPORT(int) (*PyOS_InputHook) Py_PROTO((void)); | extern DL_IMPORT(int) (*PyOS_InputHook) Py_PROTO((void)); | ||||||
| extern DL_IMPORT(char) *(*PyOS_ReadlineFunctionPointer) Py_PROTO((char *)); | extern DL_IMPORT(char) *(*PyOS_ReadlineFunctionPointer) Py_PROTO((char *)); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -48,40 +48,40 @@ extern "C" { | ||||||
| #define set_key_value PyThread_set_key_value | #define set_key_value PyThread_set_key_value | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| void init_thread Py_PROTO((void)); | DL_IMPORT(void) init_thread Py_PROTO((void)); | ||||||
| int start_new_thread Py_PROTO((void (*)(void *), void *)); | DL_IMPORT(int) start_new_thread Py_PROTO((void (*)(void *), void *)); | ||||||
| #ifndef __BEOS__ | #ifndef __BEOS__ | ||||||
| void exit_thread Py_PROTO((void)); | DL_IMPORT(void) exit_thread Py_PROTO((void)); | ||||||
| void _exit_thread Py_PROTO((void)); | DL_IMPORT(void) _exit_thread Py_PROTO((void)); | ||||||
| #else | #else | ||||||
| void PyThread_exit_thread Py_PROTO((void)); | DL_IMPORT(void) PyThread_exit_thread Py_PROTO((void)); | ||||||
| void PyThread__exit_thread Py_PROTO((void)); | DL_IMPORT(void) PyThread__exit_thread Py_PROTO((void)); | ||||||
| #endif | #endif | ||||||
| long get_thread_ident Py_PROTO((void)); | DL_IMPORT(long) get_thread_ident Py_PROTO((void)); | ||||||
| 
 | 
 | ||||||
| type_lock allocate_lock Py_PROTO((void)); | DL_IMPORT(type_lock) allocate_lock Py_PROTO((void)); | ||||||
| void free_lock Py_PROTO((type_lock)); | DL_IMPORT(void) free_lock Py_PROTO((type_lock)); | ||||||
| int acquire_lock Py_PROTO((type_lock, int)); | DL_IMPORT(int) acquire_lock Py_PROTO((type_lock, int)); | ||||||
| #define WAIT_LOCK	1 | #define WAIT_LOCK	1 | ||||||
| #define NOWAIT_LOCK	0 | #define NOWAIT_LOCK	0 | ||||||
| void release_lock Py_PROTO((type_lock)); | DL_IMPORT(void) release_lock Py_PROTO((type_lock)); | ||||||
| 
 | 
 | ||||||
| type_sema allocate_sema Py_PROTO((int)); | DL_IMPORT(type_sema) allocate_sema Py_PROTO((int)); | ||||||
| void free_sema Py_PROTO((type_sema)); | DL_IMPORT(void) free_sema Py_PROTO((type_sema)); | ||||||
| int down_sema Py_PROTO((type_sema, int)); | DL_IMPORT(int) down_sema Py_PROTO((type_sema, int)); | ||||||
| #define WAIT_SEMA	1 | #define WAIT_SEMA	1 | ||||||
| #define NOWAIT_SEMA	0 | #define NOWAIT_SEMA	0 | ||||||
| void up_sema Py_PROTO((type_sema)); | DL_IMPORT(void) up_sema Py_PROTO((type_sema)); | ||||||
| 
 | 
 | ||||||
| #ifndef NO_EXIT_PROG | #ifndef NO_EXIT_PROG | ||||||
| void exit_prog Py_PROTO((int)); | DL_IMPORT(void) exit_prog Py_PROTO((int)); | ||||||
| void _exit_prog Py_PROTO((int)); | DL_IMPORT(void) _exit_prog Py_PROTO((int)); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| int create_key Py_PROTO((void)); | DL_IMPORT(int) create_key Py_PROTO((void)); | ||||||
| void delete_key Py_PROTO((int)); | DL_IMPORT(void) delete_key Py_PROTO((int)); | ||||||
| int set_key_value Py_PROTO((int, void *)); | DL_IMPORT(int) set_key_value Py_PROTO((int, void *)); | ||||||
| void * get_key_value Py_PROTO((int)); | DL_IMPORT(void *) get_key_value Py_PROTO((int)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -43,4 +43,4 @@ extern DL_IMPORT(PyTypeObject) PyRange_Type; | ||||||
| 
 | 
 | ||||||
| #define PyRange_Check(op) ((op)->ob_type == &PyRange_Type) | #define PyRange_Check(op) ((op)->ob_type == &PyRange_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyRange_New Py_PROTO((long, long, long, int)); | extern DL_IMPORT(PyObject *) PyRange_New Py_PROTO((long, long, long, int)); | ||||||
|  |  | ||||||
|  | @ -28,9 +28,9 @@ extern DL_IMPORT(PyTypeObject) PySlice_Type; | ||||||
| 
 | 
 | ||||||
| #define PySlice_Check(op) ((op)->ob_type == &PySlice_Type) | #define PySlice_Check(op) ((op)->ob_type == &PySlice_Type) | ||||||
| 
 | 
 | ||||||
| PyObject *PySlice_New Py_PROTO(( | DL_IMPORT(PyObject *) PySlice_New Py_PROTO(( | ||||||
| 	PyObject* start, PyObject* stop, PyObject* step)); | 	PyObject* start, PyObject* stop, PyObject* step)); | ||||||
| int PySlice_GetIndices Py_PROTO(( | DL_IMPORT(int) PySlice_GetIndices Py_PROTO(( | ||||||
| 	PySliceObject *r, int length, int *start, int *stop, int *step)); | 	PySliceObject *r, int length, int *start, int *stop, int *step)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|  |  | ||||||
|  | @ -81,18 +81,18 @@ extern DL_IMPORT(PyTypeObject) PyString_Type; | ||||||
| 
 | 
 | ||||||
| #define PyString_Check(op) ((op)->ob_type == &PyString_Type) | #define PyString_Check(op) ((op)->ob_type == &PyString_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyString_FromStringAndSize Py_PROTO((const char *, int)); | extern DL_IMPORT(PyObject *) PyString_FromStringAndSize Py_PROTO((const char *, int)); | ||||||
| extern PyObject *PyString_FromString Py_PROTO((const char *)); | extern DL_IMPORT(PyObject *) PyString_FromString Py_PROTO((const char *)); | ||||||
| extern int PyString_Size Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyString_Size Py_PROTO((PyObject *)); | ||||||
| extern char *PyString_AsString Py_PROTO((PyObject *)); | extern DL_IMPORT(char *) PyString_AsString Py_PROTO((PyObject *)); | ||||||
| extern void PyString_Concat Py_PROTO((PyObject **, PyObject *)); | extern DL_IMPORT(void) PyString_Concat Py_PROTO((PyObject **, PyObject *)); | ||||||
| extern void PyString_ConcatAndDel Py_PROTO((PyObject **, PyObject *)); | extern DL_IMPORT(void) PyString_ConcatAndDel Py_PROTO((PyObject **, PyObject *)); | ||||||
| extern int _PyString_Resize Py_PROTO((PyObject **, int)); | extern DL_IMPORT(int) _PyString_Resize Py_PROTO((PyObject **, int)); | ||||||
| extern PyObject *PyString_Format Py_PROTO((PyObject *, PyObject *)); | extern DL_IMPORT(PyObject *) PyString_Format Py_PROTO((PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| #ifdef INTERN_STRINGS | #ifdef INTERN_STRINGS | ||||||
| extern void PyString_InternInPlace Py_PROTO((PyObject **)); | extern DL_IMPORT(void) PyString_InternInPlace Py_PROTO((PyObject **)); | ||||||
| extern PyObject *PyString_InternFromString Py_PROTO((const char *)); | extern DL_IMPORT(PyObject *) PyString_InternFromString Py_PROTO((const char *)); | ||||||
| #else | #else | ||||||
| #define PyString_InternInPlace(p) | #define PyString_InternInPlace(p) | ||||||
| #define PyString_InternFromString(cp) PyString_FromString(cp) | #define PyString_InternFromString(cp) PyString_FromString(cp) | ||||||
|  |  | ||||||
|  | @ -92,8 +92,8 @@ struct memberlist { | ||||||
| #define READONLY	1 | #define READONLY	1 | ||||||
| #define RO		READONLY		/* Shorthand */ | #define RO		READONLY		/* Shorthand */ | ||||||
| 
 | 
 | ||||||
| PyObject *PyMember_Get Py_PROTO((char *, struct memberlist *, char *)); | DL_IMPORT(PyObject *) PyMember_Get Py_PROTO((char *, struct memberlist *, char *)); | ||||||
| int PyMember_Set Py_PROTO((char *, struct memberlist *, char *, PyObject *)); | DL_IMPORT(int) PyMember_Set Py_PROTO((char *, struct memberlist *, char *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -37,19 +37,19 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| /* System module interface */ | /* System module interface */ | ||||||
| 
 | 
 | ||||||
| PyObject *PySys_GetObject Py_PROTO((char *)); | DL_IMPORT(PyObject *) PySys_GetObject Py_PROTO((char *)); | ||||||
| int PySys_SetObject Py_PROTO((char *, PyObject *)); | DL_IMPORT(int) PySys_SetObject Py_PROTO((char *, PyObject *)); | ||||||
| FILE *PySys_GetFile Py_PROTO((char *, FILE *)); | DL_IMPORT(FILE *) PySys_GetFile Py_PROTO((char *, FILE *)); | ||||||
| void PySys_SetArgv Py_PROTO((int, char **)); | DL_IMPORT(void) PySys_SetArgv Py_PROTO((int, char **)); | ||||||
| void PySys_SetPath Py_PROTO((char *)); | DL_IMPORT(void) PySys_SetPath Py_PROTO((char *)); | ||||||
| 
 | 
 | ||||||
| #ifdef HAVE_STDARG_PROTOTYPES | #ifdef HAVE_STDARG_PROTOTYPES | ||||||
| void PySys_WriteStdout(const char *format, ...); | DL_IMPORT(void) PySys_WriteStdout(const char *format, ...); | ||||||
| void PySys_WriteStderr(const char *format, ...); | DL_IMPORT(void) PySys_WriteStderr(const char *format, ...); | ||||||
| #else | #else | ||||||
| /* Better to have no prototypes at all for varargs functions in this case */ | /* Better to have no prototypes at all for varargs functions in this case */ | ||||||
| void PySys_WriteStdout(); | DL_IMPORT(void) PySys_WriteStdout(); | ||||||
| void PySys_WriteStderr(); | DL_IMPORT(void) PySys_WriteStderr(); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| extern DL_IMPORT(PyObject *) _PySys_TraceFunc, *_PySys_ProfileFunc; | extern DL_IMPORT(PyObject *) _PySys_TraceFunc, *_PySys_ProfileFunc; | ||||||
|  |  | ||||||
|  | @ -88,9 +88,9 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| #define ISEOF(x)		((x) == ENDMARKER) | #define ISEOF(x)		((x) == ENDMARKER) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| extern char *_PyParser_TokenNames[]; /* Token names */ | extern DL_IMPORT(char *) _PyParser_TokenNames[]; /* Token names */ | ||||||
| extern int PyToken_OneChar Py_PROTO((int)); | extern DL_IMPORT(int) PyToken_OneChar Py_PROTO((int)); | ||||||
| extern int PyToken_TwoChars Py_PROTO((int, int)); | extern DL_IMPORT(int) PyToken_TwoChars Py_PROTO((int, int)); | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -39,13 +39,13 @@ PERFORMANCE OF THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| struct _frame; | struct _frame; | ||||||
| 
 | 
 | ||||||
| int PyTraceBack_Here Py_PROTO((struct _frame *)); | DL_IMPORT(int) PyTraceBack_Here Py_PROTO((struct _frame *)); | ||||||
| PyObject *PyTraceBack_Fetch Py_PROTO((void)); | DL_IMPORT(PyObject *) PyTraceBack_Fetch Py_PROTO((void)); | ||||||
| int PyTraceBack_Store Py_PROTO((PyObject *)); | DL_IMPORT(int) PyTraceBack_Store Py_PROTO((PyObject *)); | ||||||
| int PyTraceBack_Print Py_PROTO((PyObject *, PyObject *)); | DL_IMPORT(int) PyTraceBack_Print Py_PROTO((PyObject *, PyObject *)); | ||||||
| 
 | 
 | ||||||
| /* Reveale traceback type so we can typecheck traceback objects */ | /* Reveale traceback type so we can typecheck traceback objects */ | ||||||
| extern PyTypeObject PyTraceBack_Type; | extern DL_IMPORT(PyTypeObject) PyTraceBack_Type; | ||||||
| #define PyTraceBack_Check(v) ((v)->ob_type == &PyTraceBack_Type) | #define PyTraceBack_Check(v) ((v)->ob_type == &PyTraceBack_Type) | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|  |  | ||||||
|  | @ -60,12 +60,12 @@ extern DL_IMPORT(PyTypeObject) PyTuple_Type; | ||||||
| 
 | 
 | ||||||
| #define PyTuple_Check(op) ((op)->ob_type == &PyTuple_Type) | #define PyTuple_Check(op) ((op)->ob_type == &PyTuple_Type) | ||||||
| 
 | 
 | ||||||
| extern PyObject *PyTuple_New Py_PROTO((int size)); | extern DL_IMPORT(PyObject *) PyTuple_New Py_PROTO((int size)); | ||||||
| extern int PyTuple_Size Py_PROTO((PyObject *)); | extern DL_IMPORT(int) PyTuple_Size Py_PROTO((PyObject *)); | ||||||
| extern PyObject *PyTuple_GetItem Py_PROTO((PyObject *, int)); | extern DL_IMPORT(PyObject *) PyTuple_GetItem Py_PROTO((PyObject *, int)); | ||||||
| extern int PyTuple_SetItem Py_PROTO((PyObject *, int, PyObject *)); | extern DL_IMPORT(int) PyTuple_SetItem Py_PROTO((PyObject *, int, PyObject *)); | ||||||
| extern PyObject *PyTuple_GetSlice Py_PROTO((PyObject *, int, int)); | extern DL_IMPORT(PyObject *) PyTuple_GetSlice Py_PROTO((PyObject *, int, int)); | ||||||
| extern int _PyTuple_Resize Py_PROTO((PyObject **, int, int)); | extern DL_IMPORT(int) _PyTuple_Resize Py_PROTO((PyObject **, int, int)); | ||||||
| 
 | 
 | ||||||
| /* Macro, trading safety for speed */ | /* Macro, trading safety for speed */ | ||||||
| #define PyTuple_GET_ITEM(op, i) (((PyTupleObject *)(op))->ob_item[i]) | #define PyTuple_GET_ITEM(op, i) (((PyTupleObject *)(op))->ob_item[i]) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum