| 
									
										
										
										
											2018-11-07 00:44:03 +01:00
										 |  |  | #ifndef Py_INTERNAL_FILEUTILS_H
 | 
					
						
							|  |  |  | #define Py_INTERNAL_FILEUTILS_H
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef Py_BUILD_CORE
 | 
					
						
							|  |  |  | #  error "Py_BUILD_CORE must be defined to include this header"
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-20 16:20:16 +01:00
										 |  |  | #include <locale.h>   /* struct lconv */
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-01 17:52:56 +01:00
										 |  |  | PyAPI_DATA(int) _Py_HasFileSystemDefaultEncodeErrors; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-07 00:44:03 +01:00
										 |  |  | PyAPI_FUNC(int) _Py_DecodeUTF8Ex( | 
					
						
							|  |  |  |     const char *arg, | 
					
						
							|  |  |  |     Py_ssize_t arglen, | 
					
						
							|  |  |  |     wchar_t **wstr, | 
					
						
							|  |  |  |     size_t *wlen, | 
					
						
							|  |  |  |     const char **reason, | 
					
						
							|  |  |  |     _Py_error_handler errors); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_EncodeUTF8Ex( | 
					
						
							|  |  |  |     const wchar_t *text, | 
					
						
							|  |  |  |     char **str, | 
					
						
							|  |  |  |     size_t *error_pos, | 
					
						
							|  |  |  |     const char **reason, | 
					
						
							|  |  |  |     int raw_malloc, | 
					
						
							|  |  |  |     _Py_error_handler errors); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(wchar_t*) _Py_DecodeUTF8_surrogateescape( | 
					
						
							|  |  |  |     const char *arg, | 
					
						
							| 
									
										
										
										
											2019-03-19 01:46:25 +01:00
										 |  |  |     Py_ssize_t arglen, | 
					
						
							|  |  |  |     size_t *wlen); | 
					
						
							| 
									
										
										
										
											2018-11-07 00:44:03 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_GetForceASCII(void); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-23 13:08:26 +01:00
										 |  |  | /* Reset "force ASCII" mode (if it was initialized).
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    This function should be called when Python changes the LC_CTYPE locale, | 
					
						
							|  |  |  |    so the "force ASCII" mode can be detected again on the new locale | 
					
						
							|  |  |  |    encoding. */ | 
					
						
							|  |  |  | PyAPI_FUNC(void) _Py_ResetForceASCII(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-20 16:20:16 +01:00
										 |  |  | PyAPI_FUNC(int) _Py_GetLocaleconvNumeric( | 
					
						
							|  |  |  |     struct lconv *lc, | 
					
						
							|  |  |  |     PyObject **decimal_point, | 
					
						
							|  |  |  |     PyObject **thousands_sep); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-13 15:04:44 -05:00
										 |  |  | PyAPI_FUNC(void) _Py_closerange(int first, int last); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-01 23:07:23 +01:00
										 |  |  | PyAPI_FUNC(wchar_t*) _Py_GetLocaleEncoding(void); | 
					
						
							| 
									
										
										
										
											2020-11-01 20:59:35 +01:00
										 |  |  | PyAPI_FUNC(PyObject*) _Py_GetLocaleEncodingObject(void); | 
					
						
							| 
									
										
										
										
											2020-10-31 01:02:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-30 15:21:42 +02:00
										 |  |  | #ifdef HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION
 | 
					
						
							|  |  |  | extern int _Py_LocaleUsesNonUnicodeWchar(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern wchar_t* _Py_DecodeNonUnicodeWchar( | 
					
						
							|  |  |  |     const wchar_t* native, | 
					
						
							|  |  |  |     Py_ssize_t size); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern int _Py_EncodeNonUnicodeWchar_InPlace( | 
					
						
							|  |  |  |     wchar_t* unicode, | 
					
						
							|  |  |  |     Py_ssize_t size); | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-07 00:44:03 +01:00
										 |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #endif /* !Py_INTERNAL_FILEUTILS_H */
 |