| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | #ifndef Py_FILEUTILS_H
 | 
					
						
							|  |  |  | #define Py_FILEUTILS_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-27 14:57:39 +02:00
										 |  |  | #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
 | 
					
						
							| 
									
										
										
										
											2014-08-01 12:28:48 +02:00
										 |  |  | PyAPI_FUNC(wchar_t *) Py_DecodeLocale( | 
					
						
							| 
									
										
										
										
											2010-10-16 23:16:16 +00:00
										 |  |  |     const char *arg, | 
					
						
							|  |  |  |     size_t *size); | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-01 12:28:48 +02:00
										 |  |  | PyAPI_FUNC(char*) Py_EncodeLocale( | 
					
						
							| 
									
										
										
										
											2010-11-08 22:43:46 +00:00
										 |  |  |     const wchar_t *text, | 
					
						
							|  |  |  |     size_t *error_pos); | 
					
						
							| 
									
										
										
										
											2016-12-27 14:57:39 +02:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-22 19:39:36 +02:00
										 |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							| 
									
										
										
										
											2015-02-21 08:44:05 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-11 11:03:14 +03:00
										 |  |  | PyAPI_FUNC(PyObject *) _Py_device_encoding(int); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-21 08:44:05 -08:00
										 |  |  | #ifdef MS_WINDOWS
 | 
					
						
							|  |  |  | struct _Py_stat_struct { | 
					
						
							|  |  |  |     unsigned long st_dev; | 
					
						
							| 
									
										
										
										
											2017-03-09 17:34:28 +01:00
										 |  |  |     uint64_t st_ino; | 
					
						
							| 
									
										
										
										
											2015-02-21 08:44:05 -08:00
										 |  |  |     unsigned short st_mode; | 
					
						
							|  |  |  |     int st_nlink; | 
					
						
							|  |  |  |     int st_uid; | 
					
						
							|  |  |  |     int st_gid; | 
					
						
							|  |  |  |     unsigned long st_rdev; | 
					
						
							|  |  |  |     __int64 st_size; | 
					
						
							|  |  |  |     time_t st_atime; | 
					
						
							|  |  |  |     int st_atime_nsec; | 
					
						
							|  |  |  |     time_t st_mtime; | 
					
						
							|  |  |  |     int st_mtime_nsec; | 
					
						
							|  |  |  |     time_t st_ctime; | 
					
						
							|  |  |  |     int st_ctime_nsec; | 
					
						
							|  |  |  |     unsigned long st_file_attributes; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | #  define _Py_stat_struct stat
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_fstat( | 
					
						
							|  |  |  |     int fd, | 
					
						
							| 
									
										
										
										
											2015-03-30 10:09:31 +02:00
										 |  |  |     struct _Py_stat_struct *status); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_fstat_noraise( | 
					
						
							|  |  |  |     int fd, | 
					
						
							|  |  |  |     struct _Py_stat_struct *status); | 
					
						
							| 
									
										
										
										
											2015-02-21 08:44:05 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | PyAPI_FUNC(int) _Py_stat( | 
					
						
							| 
									
										
										
										
											2010-10-07 22:23:10 +00:00
										 |  |  |     PyObject *path, | 
					
						
							| 
									
										
										
										
											2015-03-30 10:09:31 +02:00
										 |  |  |     struct stat *status); | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-28 00:53:59 +02:00
										 |  |  | PyAPI_FUNC(int) _Py_open( | 
					
						
							|  |  |  |     const char *pathname, | 
					
						
							|  |  |  |     int flags); | 
					
						
							| 
									
										
										
										
											2015-03-18 00:22:14 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_open_noraise( | 
					
						
							|  |  |  |     const char *pathname, | 
					
						
							|  |  |  |     int flags); | 
					
						
							| 
									
										
										
										
											2013-08-28 00:53:59 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | PyAPI_FUNC(FILE *) _Py_wfopen( | 
					
						
							|  |  |  |     const wchar_t *path, | 
					
						
							|  |  |  |     const wchar_t *mode); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(FILE*) _Py_fopen( | 
					
						
							| 
									
										
										
										
											2013-08-28 00:53:59 +02:00
										 |  |  |     const char *pathname, | 
					
						
							|  |  |  |     const char *mode); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(FILE*) _Py_fopen_obj( | 
					
						
							| 
									
										
										
										
											2010-10-07 22:23:10 +00:00
										 |  |  |     PyObject *path, | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  |     const char *mode); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-19 22:53:20 +01:00
										 |  |  | PyAPI_FUNC(Py_ssize_t) _Py_read( | 
					
						
							|  |  |  |     int fd, | 
					
						
							|  |  |  |     void *buf, | 
					
						
							|  |  |  |     size_t count); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(Py_ssize_t) _Py_write( | 
					
						
							|  |  |  |     int fd, | 
					
						
							|  |  |  |     const void *buf, | 
					
						
							|  |  |  |     size_t count); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-01 18:34:45 +02:00
										 |  |  | PyAPI_FUNC(Py_ssize_t) _Py_write_noraise( | 
					
						
							|  |  |  |     int fd, | 
					
						
							|  |  |  |     const void *buf, | 
					
						
							|  |  |  |     size_t count); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | #ifdef HAVE_READLINK
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_wreadlink( | 
					
						
							|  |  |  |     const wchar_t *path, | 
					
						
							|  |  |  |     wchar_t *buf, | 
					
						
							|  |  |  |     size_t bufsiz); | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef HAVE_REALPATH
 | 
					
						
							|  |  |  | PyAPI_FUNC(wchar_t*) _Py_wrealpath( | 
					
						
							|  |  |  |     const wchar_t *path, | 
					
						
							| 
									
										
										
										
											2010-10-07 22:29:53 +00:00
										 |  |  |     wchar_t *resolved_path, | 
					
						
							|  |  |  |     size_t resolved_path_size); | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(wchar_t*) _Py_wgetcwd( | 
					
						
							|  |  |  |     wchar_t *buf, | 
					
						
							|  |  |  |     size_t size); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-28 00:53:59 +02:00
										 |  |  | PyAPI_FUNC(int) _Py_get_inheritable(int fd); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_set_inheritable(int fd, int inheritable, | 
					
						
							|  |  |  |                                     int *atomic_flag_works); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_dup(int fd); | 
					
						
							| 
									
										
										
										
											2014-07-29 22:32:47 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifndef MS_WINDOWS
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_get_blocking(int fd); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _Py_set_blocking(int fd, int blocking); | 
					
						
							|  |  |  | #endif   /* !MS_WINDOWS */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif   /* Py_LIMITED_API */
 | 
					
						
							| 
									
										
										
										
											2013-08-28 00:53:59 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-07 21:45:39 +00:00
										 |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* !Py_FILEUTILS_H */
 |