comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/python3.8/fileutils.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 69:33d812a61356
1 #ifndef Py_FILEUTILS_H
2 #define Py_FILEUTILS_H
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6
7 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
8 PyAPI_FUNC(wchar_t *) Py_DecodeLocale(
9 const char *arg,
10 size_t *size);
11
12 PyAPI_FUNC(char*) Py_EncodeLocale(
13 const wchar_t *text,
14 size_t *error_pos);
15
16 PyAPI_FUNC(char*) _Py_EncodeLocaleRaw(
17 const wchar_t *text,
18 size_t *error_pos);
19 #endif
20
21
22 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03080000
23 typedef enum {
24 _Py_ERROR_UNKNOWN=0,
25 _Py_ERROR_STRICT,
26 _Py_ERROR_SURROGATEESCAPE,
27 _Py_ERROR_REPLACE,
28 _Py_ERROR_IGNORE,
29 _Py_ERROR_BACKSLASHREPLACE,
30 _Py_ERROR_SURROGATEPASS,
31 _Py_ERROR_XMLCHARREFREPLACE,
32 _Py_ERROR_OTHER
33 } _Py_error_handler;
34
35 PyAPI_FUNC(_Py_error_handler) _Py_GetErrorHandler(const char *errors);
36
37 PyAPI_FUNC(int) _Py_DecodeLocaleEx(
38 const char *arg,
39 wchar_t **wstr,
40 size_t *wlen,
41 const char **reason,
42 int current_locale,
43 _Py_error_handler errors);
44
45 PyAPI_FUNC(int) _Py_EncodeLocaleEx(
46 const wchar_t *text,
47 char **str,
48 size_t *error_pos,
49 const char **reason,
50 int current_locale,
51 _Py_error_handler errors);
52 #endif
53
54 #ifndef Py_LIMITED_API
55 PyAPI_FUNC(PyObject *) _Py_device_encoding(int);
56
57 #if defined(MS_WINDOWS) || defined(__APPLE__)
58 /* On Windows, the count parameter of read() is an int (bpo-9015, bpo-9611).
59 On macOS 10.13, read() and write() with more than INT_MAX bytes
60 fail with EINVAL (bpo-24658). */
61 # define _PY_READ_MAX INT_MAX
62 # define _PY_WRITE_MAX INT_MAX
63 #else
64 /* write() should truncate the input to PY_SSIZE_T_MAX bytes,
65 but it's safer to do it ourself to have a portable behaviour */
66 # define _PY_READ_MAX PY_SSIZE_T_MAX
67 # define _PY_WRITE_MAX PY_SSIZE_T_MAX
68 #endif
69
70 #ifdef MS_WINDOWS
71 struct _Py_stat_struct {
72 unsigned long st_dev;
73 uint64_t st_ino;
74 unsigned short st_mode;
75 int st_nlink;
76 int st_uid;
77 int st_gid;
78 unsigned long st_rdev;
79 __int64 st_size;
80 time_t st_atime;
81 int st_atime_nsec;
82 time_t st_mtime;
83 int st_mtime_nsec;
84 time_t st_ctime;
85 int st_ctime_nsec;
86 unsigned long st_file_attributes;
87 unsigned long st_reparse_tag;
88 };
89 #else
90 # define _Py_stat_struct stat
91 #endif
92
93 PyAPI_FUNC(int) _Py_fstat(
94 int fd,
95 struct _Py_stat_struct *status);
96
97 PyAPI_FUNC(int) _Py_fstat_noraise(
98 int fd,
99 struct _Py_stat_struct *status);
100
101 PyAPI_FUNC(int) _Py_stat(
102 PyObject *path,
103 struct stat *status);
104
105 PyAPI_FUNC(int) _Py_open(
106 const char *pathname,
107 int flags);
108
109 PyAPI_FUNC(int) _Py_open_noraise(
110 const char *pathname,
111 int flags);
112
113 PyAPI_FUNC(FILE *) _Py_wfopen(
114 const wchar_t *path,
115 const wchar_t *mode);
116
117 PyAPI_FUNC(FILE*) _Py_fopen(
118 const char *pathname,
119 const char *mode);
120
121 PyAPI_FUNC(FILE*) _Py_fopen_obj(
122 PyObject *path,
123 const char *mode);
124
125 PyAPI_FUNC(Py_ssize_t) _Py_read(
126 int fd,
127 void *buf,
128 size_t count);
129
130 PyAPI_FUNC(Py_ssize_t) _Py_write(
131 int fd,
132 const void *buf,
133 size_t count);
134
135 PyAPI_FUNC(Py_ssize_t) _Py_write_noraise(
136 int fd,
137 const void *buf,
138 size_t count);
139
140 #ifdef HAVE_READLINK
141 PyAPI_FUNC(int) _Py_wreadlink(
142 const wchar_t *path,
143 wchar_t *buf,
144 /* Number of characters of 'buf' buffer
145 including the trailing NUL character */
146 size_t buflen);
147 #endif
148
149 #ifdef HAVE_REALPATH
150 PyAPI_FUNC(wchar_t*) _Py_wrealpath(
151 const wchar_t *path,
152 wchar_t *resolved_path,
153 /* Number of characters of 'resolved_path' buffer
154 including the trailing NUL character */
155 size_t resolved_path_len);
156 #endif
157
158 PyAPI_FUNC(wchar_t*) _Py_wgetcwd(
159 wchar_t *buf,
160 /* Number of characters of 'buf' buffer
161 including the trailing NUL character */
162 size_t buflen);
163
164 PyAPI_FUNC(int) _Py_get_inheritable(int fd);
165
166 PyAPI_FUNC(int) _Py_set_inheritable(int fd, int inheritable,
167 int *atomic_flag_works);
168
169 PyAPI_FUNC(int) _Py_set_inheritable_async_safe(int fd, int inheritable,
170 int *atomic_flag_works);
171
172 PyAPI_FUNC(int) _Py_dup(int fd);
173
174 #ifndef MS_WINDOWS
175 PyAPI_FUNC(int) _Py_get_blocking(int fd);
176
177 PyAPI_FUNC(int) _Py_set_blocking(int fd, int blocking);
178 #endif /* !MS_WINDOWS */
179
180 #endif /* Py_LIMITED_API */
181
182 #ifdef __cplusplus
183 }
184 #endif
185 #endif /* !Py_FILEUTILS_H */