blob: a3f83ff6967e406f6f5e3a5e4c5d3732415e06cd [file] [log] [blame]
Christian Heimes33fe8092008-04-13 13:53:33 +00001#ifndef Py_WARNINGS_H
2#define Py_WARNINGS_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
Martin v. Löwis4d0d4712010-12-03 20:14:31 +00007#ifndef Py_LIMITED_API
Martin v. Löwis1a214512008-06-11 05:26:20 +00008PyAPI_FUNC(PyObject*) _PyWarnings_Init(void);
Martin v. Löwis4d0d4712010-12-03 20:14:31 +00009#endif
Christian Heimes33fe8092008-04-13 13:53:33 +000010
Victor Stinner555a24f2010-12-27 01:49:26 +000011PyAPI_FUNC(int) PyErr_WarnEx(
12 PyObject *category,
13 const char *message, /* UTF-8 encoded string */
14 Py_ssize_t stack_level);
15PyAPI_FUNC(int) PyErr_WarnFormat(
16 PyObject *category,
17 Py_ssize_t stack_level,
18 const char *format, /* ASCII-encoded string */
19 ...);
Victor Stinner914cde82016-03-19 01:03:51 +010020
Serhiy Storchaka34d0ac82016-12-27 14:57:39 +020021#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000
Victor Stinner914cde82016-03-19 01:03:51 +010022/* Emit a ResourceWarning warning */
23PyAPI_FUNC(int) PyErr_ResourceWarning(
24 PyObject *source,
25 Py_ssize_t stack_level,
26 const char *format, /* ASCII-encoded string */
27 ...);
Serhiy Storchaka34d0ac82016-12-27 14:57:39 +020028#endif
Martin v. Löwis1c0689c2014-01-03 21:36:49 +010029#ifndef Py_LIMITED_API
Victor Stinner14e461d2013-08-26 22:28:21 +020030PyAPI_FUNC(int) PyErr_WarnExplicitObject(
31 PyObject *category,
32 PyObject *message,
33 PyObject *filename,
34 int lineno,
35 PyObject *module,
36 PyObject *registry);
Martin v. Löwis1c0689c2014-01-03 21:36:49 +010037#endif
Victor Stinner555a24f2010-12-27 01:49:26 +000038PyAPI_FUNC(int) PyErr_WarnExplicit(
39 PyObject *category,
40 const char *message, /* UTF-8 encoded string */
Victor Stinnercb428f02010-12-27 20:10:36 +000041 const char *filename, /* decoded from the filesystem encoding */
Victor Stinner555a24f2010-12-27 01:49:26 +000042 int lineno,
43 const char *module, /* UTF-8 encoded string */
44 PyObject *registry);
Christian Heimes33fe8092008-04-13 13:53:33 +000045
Martin v. Löwis1c0689c2014-01-03 21:36:49 +010046#ifndef Py_LIMITED_API
Antoine Pitrou070cb3c2013-05-08 13:23:25 +020047PyAPI_FUNC(int)
48PyErr_WarnExplicitFormat(PyObject *category,
49 const char *filename, int lineno,
50 const char *module, PyObject *registry,
51 const char *format, ...);
Martin v. Löwis1c0689c2014-01-03 21:36:49 +010052#endif
Antoine Pitrou070cb3c2013-05-08 13:23:25 +020053
Christian Heimes33fe8092008-04-13 13:53:33 +000054/* DEPRECATED: Use PyErr_WarnEx() instead. */
Martin v. Löwis4d0d4712010-12-03 20:14:31 +000055#ifndef Py_LIMITED_API
Christian Heimes33fe8092008-04-13 13:53:33 +000056#define PyErr_Warn(category, msg) PyErr_WarnEx(category, msg, 1)
Martin v. Löwis4d0d4712010-12-03 20:14:31 +000057#endif
Christian Heimes33fe8092008-04-13 13:53:33 +000058
59#ifdef __cplusplus
60}
61#endif
62#endif /* !Py_WARNINGS_H */
63