annotate DEPENDENCIES/mingw32/Python27/include/pyerrors.h @ 118:770eb830ec19 emscripten

Typo fix
author Chris Cannam
date Wed, 18 May 2016 16:14:08 +0100
parents 2a2c65a20a8b
children
rev   line source
Chris@87 1 #ifndef Py_ERRORS_H
Chris@87 2 #define Py_ERRORS_H
Chris@87 3 #ifdef __cplusplus
Chris@87 4 extern "C" {
Chris@87 5 #endif
Chris@87 6
Chris@87 7 /* Error objects */
Chris@87 8
Chris@87 9 typedef struct {
Chris@87 10 PyObject_HEAD
Chris@87 11 PyObject *dict;
Chris@87 12 PyObject *args;
Chris@87 13 PyObject *message;
Chris@87 14 } PyBaseExceptionObject;
Chris@87 15
Chris@87 16 typedef struct {
Chris@87 17 PyObject_HEAD
Chris@87 18 PyObject *dict;
Chris@87 19 PyObject *args;
Chris@87 20 PyObject *message;
Chris@87 21 PyObject *msg;
Chris@87 22 PyObject *filename;
Chris@87 23 PyObject *lineno;
Chris@87 24 PyObject *offset;
Chris@87 25 PyObject *text;
Chris@87 26 PyObject *print_file_and_line;
Chris@87 27 } PySyntaxErrorObject;
Chris@87 28
Chris@87 29 #ifdef Py_USING_UNICODE
Chris@87 30 typedef struct {
Chris@87 31 PyObject_HEAD
Chris@87 32 PyObject *dict;
Chris@87 33 PyObject *args;
Chris@87 34 PyObject *message;
Chris@87 35 PyObject *encoding;
Chris@87 36 PyObject *object;
Chris@87 37 Py_ssize_t start;
Chris@87 38 Py_ssize_t end;
Chris@87 39 PyObject *reason;
Chris@87 40 } PyUnicodeErrorObject;
Chris@87 41 #endif
Chris@87 42
Chris@87 43 typedef struct {
Chris@87 44 PyObject_HEAD
Chris@87 45 PyObject *dict;
Chris@87 46 PyObject *args;
Chris@87 47 PyObject *message;
Chris@87 48 PyObject *code;
Chris@87 49 } PySystemExitObject;
Chris@87 50
Chris@87 51 typedef struct {
Chris@87 52 PyObject_HEAD
Chris@87 53 PyObject *dict;
Chris@87 54 PyObject *args;
Chris@87 55 PyObject *message;
Chris@87 56 PyObject *myerrno;
Chris@87 57 PyObject *strerror;
Chris@87 58 PyObject *filename;
Chris@87 59 } PyEnvironmentErrorObject;
Chris@87 60
Chris@87 61 #ifdef MS_WINDOWS
Chris@87 62 typedef struct {
Chris@87 63 PyObject_HEAD
Chris@87 64 PyObject *dict;
Chris@87 65 PyObject *args;
Chris@87 66 PyObject *message;
Chris@87 67 PyObject *myerrno;
Chris@87 68 PyObject *strerror;
Chris@87 69 PyObject *filename;
Chris@87 70 PyObject *winerror;
Chris@87 71 } PyWindowsErrorObject;
Chris@87 72 #endif
Chris@87 73
Chris@87 74 /* Error handling definitions */
Chris@87 75
Chris@87 76 PyAPI_FUNC(void) PyErr_SetNone(PyObject *);
Chris@87 77 PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *);
Chris@87 78 PyAPI_FUNC(void) PyErr_SetString(PyObject *, const char *);
Chris@87 79 PyAPI_FUNC(PyObject *) PyErr_Occurred(void);
Chris@87 80 PyAPI_FUNC(void) PyErr_Clear(void);
Chris@87 81 PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
Chris@87 82 PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *);
Chris@87 83
Chris@87 84 #ifdef Py_DEBUG
Chris@87 85 #define _PyErr_OCCURRED() PyErr_Occurred()
Chris@87 86 #else
Chris@87 87 #define _PyErr_OCCURRED() (_PyThreadState_Current->curexc_type)
Chris@87 88 #endif
Chris@87 89
Chris@87 90 /* Error testing and normalization */
Chris@87 91 PyAPI_FUNC(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *);
Chris@87 92 PyAPI_FUNC(int) PyErr_ExceptionMatches(PyObject *);
Chris@87 93 PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);
Chris@87 94
Chris@87 95 /* */
Chris@87 96
Chris@87 97 #define PyExceptionClass_Check(x) \
Chris@87 98 (PyClass_Check((x)) || (PyType_Check((x)) && \
Chris@87 99 PyType_FastSubclass((PyTypeObject*)(x), Py_TPFLAGS_BASE_EXC_SUBCLASS)))
Chris@87 100
Chris@87 101 #define PyExceptionInstance_Check(x) \
Chris@87 102 (PyInstance_Check((x)) || \
Chris@87 103 PyType_FastSubclass((x)->ob_type, Py_TPFLAGS_BASE_EXC_SUBCLASS))
Chris@87 104
Chris@87 105 #define PyExceptionClass_Name(x) \
Chris@87 106 (PyClass_Check((x)) \
Chris@87 107 ? PyString_AS_STRING(((PyClassObject*)(x))->cl_name) \
Chris@87 108 : (char *)(((PyTypeObject*)(x))->tp_name))
Chris@87 109
Chris@87 110 #define PyExceptionInstance_Class(x) \
Chris@87 111 ((PyInstance_Check((x)) \
Chris@87 112 ? (PyObject*)((PyInstanceObject*)(x))->in_class \
Chris@87 113 : (PyObject*)((x)->ob_type)))
Chris@87 114
Chris@87 115
Chris@87 116 /* Predefined exceptions */
Chris@87 117
Chris@87 118 PyAPI_DATA(PyObject *) PyExc_BaseException;
Chris@87 119 PyAPI_DATA(PyObject *) PyExc_Exception;
Chris@87 120 PyAPI_DATA(PyObject *) PyExc_StopIteration;
Chris@87 121 PyAPI_DATA(PyObject *) PyExc_GeneratorExit;
Chris@87 122 PyAPI_DATA(PyObject *) PyExc_StandardError;
Chris@87 123 PyAPI_DATA(PyObject *) PyExc_ArithmeticError;
Chris@87 124 PyAPI_DATA(PyObject *) PyExc_LookupError;
Chris@87 125
Chris@87 126 PyAPI_DATA(PyObject *) PyExc_AssertionError;
Chris@87 127 PyAPI_DATA(PyObject *) PyExc_AttributeError;
Chris@87 128 PyAPI_DATA(PyObject *) PyExc_EOFError;
Chris@87 129 PyAPI_DATA(PyObject *) PyExc_FloatingPointError;
Chris@87 130 PyAPI_DATA(PyObject *) PyExc_EnvironmentError;
Chris@87 131 PyAPI_DATA(PyObject *) PyExc_IOError;
Chris@87 132 PyAPI_DATA(PyObject *) PyExc_OSError;
Chris@87 133 PyAPI_DATA(PyObject *) PyExc_ImportError;
Chris@87 134 PyAPI_DATA(PyObject *) PyExc_IndexError;
Chris@87 135 PyAPI_DATA(PyObject *) PyExc_KeyError;
Chris@87 136 PyAPI_DATA(PyObject *) PyExc_KeyboardInterrupt;
Chris@87 137 PyAPI_DATA(PyObject *) PyExc_MemoryError;
Chris@87 138 PyAPI_DATA(PyObject *) PyExc_NameError;
Chris@87 139 PyAPI_DATA(PyObject *) PyExc_OverflowError;
Chris@87 140 PyAPI_DATA(PyObject *) PyExc_RuntimeError;
Chris@87 141 PyAPI_DATA(PyObject *) PyExc_NotImplementedError;
Chris@87 142 PyAPI_DATA(PyObject *) PyExc_SyntaxError;
Chris@87 143 PyAPI_DATA(PyObject *) PyExc_IndentationError;
Chris@87 144 PyAPI_DATA(PyObject *) PyExc_TabError;
Chris@87 145 PyAPI_DATA(PyObject *) PyExc_ReferenceError;
Chris@87 146 PyAPI_DATA(PyObject *) PyExc_SystemError;
Chris@87 147 PyAPI_DATA(PyObject *) PyExc_SystemExit;
Chris@87 148 PyAPI_DATA(PyObject *) PyExc_TypeError;
Chris@87 149 PyAPI_DATA(PyObject *) PyExc_UnboundLocalError;
Chris@87 150 PyAPI_DATA(PyObject *) PyExc_UnicodeError;
Chris@87 151 PyAPI_DATA(PyObject *) PyExc_UnicodeEncodeError;
Chris@87 152 PyAPI_DATA(PyObject *) PyExc_UnicodeDecodeError;
Chris@87 153 PyAPI_DATA(PyObject *) PyExc_UnicodeTranslateError;
Chris@87 154 PyAPI_DATA(PyObject *) PyExc_ValueError;
Chris@87 155 PyAPI_DATA(PyObject *) PyExc_ZeroDivisionError;
Chris@87 156 #ifdef MS_WINDOWS
Chris@87 157 PyAPI_DATA(PyObject *) PyExc_WindowsError;
Chris@87 158 #endif
Chris@87 159 #ifdef __VMS
Chris@87 160 PyAPI_DATA(PyObject *) PyExc_VMSError;
Chris@87 161 #endif
Chris@87 162
Chris@87 163 PyAPI_DATA(PyObject *) PyExc_BufferError;
Chris@87 164
Chris@87 165 PyAPI_DATA(PyObject *) PyExc_MemoryErrorInst;
Chris@87 166 PyAPI_DATA(PyObject *) PyExc_RecursionErrorInst;
Chris@87 167
Chris@87 168 /* Predefined warning categories */
Chris@87 169 PyAPI_DATA(PyObject *) PyExc_Warning;
Chris@87 170 PyAPI_DATA(PyObject *) PyExc_UserWarning;
Chris@87 171 PyAPI_DATA(PyObject *) PyExc_DeprecationWarning;
Chris@87 172 PyAPI_DATA(PyObject *) PyExc_PendingDeprecationWarning;
Chris@87 173 PyAPI_DATA(PyObject *) PyExc_SyntaxWarning;
Chris@87 174 PyAPI_DATA(PyObject *) PyExc_RuntimeWarning;
Chris@87 175 PyAPI_DATA(PyObject *) PyExc_FutureWarning;
Chris@87 176 PyAPI_DATA(PyObject *) PyExc_ImportWarning;
Chris@87 177 PyAPI_DATA(PyObject *) PyExc_UnicodeWarning;
Chris@87 178 PyAPI_DATA(PyObject *) PyExc_BytesWarning;
Chris@87 179
Chris@87 180
Chris@87 181 /* Convenience functions */
Chris@87 182
Chris@87 183 PyAPI_FUNC(int) PyErr_BadArgument(void);
Chris@87 184 PyAPI_FUNC(PyObject *) PyErr_NoMemory(void);
Chris@87 185 PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *);
Chris@87 186 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject(
Chris@87 187 PyObject *, PyObject *);
Chris@87 188 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(
Chris@87 189 PyObject *, const char *);
Chris@87 190 #ifdef MS_WINDOWS
Chris@87 191 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename(
Chris@87 192 PyObject *, const Py_UNICODE *);
Chris@87 193 #endif /* MS_WINDOWS */
Chris@87 194
Chris@87 195 PyAPI_FUNC(PyObject *) PyErr_Format(PyObject *, const char *, ...)
Chris@87 196 Py_GCC_ATTRIBUTE((format(printf, 2, 3)));
Chris@87 197
Chris@87 198 #ifdef MS_WINDOWS
Chris@87 199 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilenameObject(
Chris@87 200 int, const char *);
Chris@87 201 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename(
Chris@87 202 int, const char *);
Chris@87 203 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithUnicodeFilename(
Chris@87 204 int, const Py_UNICODE *);
Chris@87 205 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(int);
Chris@87 206 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObject(
Chris@87 207 PyObject *,int, PyObject *);
Chris@87 208 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename(
Chris@87 209 PyObject *,int, const char *);
Chris@87 210 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithUnicodeFilename(
Chris@87 211 PyObject *,int, const Py_UNICODE *);
Chris@87 212 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int);
Chris@87 213 #endif /* MS_WINDOWS */
Chris@87 214
Chris@87 215 /* Export the old function so that the existing API remains available: */
Chris@87 216 PyAPI_FUNC(void) PyErr_BadInternalCall(void);
Chris@87 217 PyAPI_FUNC(void) _PyErr_BadInternalCall(char *filename, int lineno);
Chris@87 218 /* Mask the old API with a call to the new API for code compiled under
Chris@87 219 Python 2.0: */
Chris@87 220 #define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__)
Chris@87 221
Chris@87 222 /* Function to create a new exception */
Chris@87 223 PyAPI_FUNC(PyObject *) PyErr_NewException(
Chris@87 224 char *name, PyObject *base, PyObject *dict);
Chris@87 225 PyAPI_FUNC(PyObject *) PyErr_NewExceptionWithDoc(
Chris@87 226 char *name, char *doc, PyObject *base, PyObject *dict);
Chris@87 227 PyAPI_FUNC(void) PyErr_WriteUnraisable(PyObject *);
Chris@87 228
Chris@87 229 /* In sigcheck.c or signalmodule.c */
Chris@87 230 PyAPI_FUNC(int) PyErr_CheckSignals(void);
Chris@87 231 PyAPI_FUNC(void) PyErr_SetInterrupt(void);
Chris@87 232
Chris@87 233 /* In signalmodule.c */
Chris@87 234 int PySignal_SetWakeupFd(int fd);
Chris@87 235
Chris@87 236 /* Support for adding program text to SyntaxErrors */
Chris@87 237 PyAPI_FUNC(void) PyErr_SyntaxLocation(const char *, int);
Chris@87 238 PyAPI_FUNC(PyObject *) PyErr_ProgramText(const char *, int);
Chris@87 239
Chris@87 240 #ifdef Py_USING_UNICODE
Chris@87 241 /* The following functions are used to create and modify unicode
Chris@87 242 exceptions from C */
Chris@87 243
Chris@87 244 /* create a UnicodeDecodeError object */
Chris@87 245 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create(
Chris@87 246 const char *, const char *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);
Chris@87 247
Chris@87 248 /* create a UnicodeEncodeError object */
Chris@87 249 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_Create(
Chris@87 250 const char *, const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);
Chris@87 251
Chris@87 252 /* create a UnicodeTranslateError object */
Chris@87 253 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_Create(
Chris@87 254 const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);
Chris@87 255
Chris@87 256 /* get the encoding attribute */
Chris@87 257 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetEncoding(PyObject *);
Chris@87 258 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetEncoding(PyObject *);
Chris@87 259
Chris@87 260 /* get the object attribute */
Chris@87 261 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetObject(PyObject *);
Chris@87 262 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetObject(PyObject *);
Chris@87 263 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetObject(PyObject *);
Chris@87 264
Chris@87 265 /* get the value of the start attribute (the int * may not be NULL)
Chris@87 266 return 0 on success, -1 on failure */
Chris@87 267 PyAPI_FUNC(int) PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *);
Chris@87 268 PyAPI_FUNC(int) PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *);
Chris@87 269 PyAPI_FUNC(int) PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *);
Chris@87 270
Chris@87 271 /* assign a new value to the start attribute
Chris@87 272 return 0 on success, -1 on failure */
Chris@87 273 PyAPI_FUNC(int) PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t);
Chris@87 274 PyAPI_FUNC(int) PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t);
Chris@87 275 PyAPI_FUNC(int) PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t);
Chris@87 276
Chris@87 277 /* get the value of the end attribute (the int *may not be NULL)
Chris@87 278 return 0 on success, -1 on failure */
Chris@87 279 PyAPI_FUNC(int) PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *);
Chris@87 280 PyAPI_FUNC(int) PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *);
Chris@87 281 PyAPI_FUNC(int) PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *);
Chris@87 282
Chris@87 283 /* assign a new value to the end attribute
Chris@87 284 return 0 on success, -1 on failure */
Chris@87 285 PyAPI_FUNC(int) PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t);
Chris@87 286 PyAPI_FUNC(int) PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t);
Chris@87 287 PyAPI_FUNC(int) PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t);
Chris@87 288
Chris@87 289 /* get the value of the reason attribute */
Chris@87 290 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetReason(PyObject *);
Chris@87 291 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetReason(PyObject *);
Chris@87 292 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetReason(PyObject *);
Chris@87 293
Chris@87 294 /* assign a new value to the reason attribute
Chris@87 295 return 0 on success, -1 on failure */
Chris@87 296 PyAPI_FUNC(int) PyUnicodeEncodeError_SetReason(
Chris@87 297 PyObject *, const char *);
Chris@87 298 PyAPI_FUNC(int) PyUnicodeDecodeError_SetReason(
Chris@87 299 PyObject *, const char *);
Chris@87 300 PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason(
Chris@87 301 PyObject *, const char *);
Chris@87 302 #endif
Chris@87 303
Chris@87 304
Chris@87 305 /* These APIs aren't really part of the error implementation, but
Chris@87 306 often needed to format error messages; the native C lib APIs are
Chris@87 307 not available on all platforms, which is why we provide emulations
Chris@87 308 for those platforms in Python/mysnprintf.c,
Chris@87 309 WARNING: The return value of snprintf varies across platforms; do
Chris@87 310 not rely on any particular behavior; eventually the C99 defn may
Chris@87 311 be reliable.
Chris@87 312 */
Chris@87 313 #if defined(MS_WIN32) && !defined(HAVE_SNPRINTF)
Chris@87 314 # define HAVE_SNPRINTF
Chris@87 315 # define snprintf _snprintf
Chris@87 316 # define vsnprintf _vsnprintf
Chris@87 317 #endif
Chris@87 318
Chris@87 319 #include <stdarg.h>
Chris@87 320 PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char *format, ...)
Chris@87 321 Py_GCC_ATTRIBUTE((format(printf, 3, 4)));
Chris@87 322 PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va)
Chris@87 323 Py_GCC_ATTRIBUTE((format(printf, 3, 0)));
Chris@87 324
Chris@87 325 #ifdef __cplusplus
Chris@87 326 }
Chris@87 327 #endif
Chris@87 328 #endif /* !Py_ERRORS_H */