17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciPyDoc_STRVAR(sys_addaudithook__doc__,
67db96d56Sopenharmony_ci"addaudithook($module, /, hook)\n"
77db96d56Sopenharmony_ci"--\n"
87db96d56Sopenharmony_ci"\n"
97db96d56Sopenharmony_ci"Adds a new audit hook callback.");
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ci#define SYS_ADDAUDITHOOK_METHODDEF    \
127db96d56Sopenharmony_ci    {"addaudithook", _PyCFunction_CAST(sys_addaudithook), METH_FASTCALL|METH_KEYWORDS, sys_addaudithook__doc__},
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_cistatic PyObject *
157db96d56Sopenharmony_cisys_addaudithook_impl(PyObject *module, PyObject *hook);
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_cistatic PyObject *
187db96d56Sopenharmony_cisys_addaudithook(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
197db96d56Sopenharmony_ci{
207db96d56Sopenharmony_ci    PyObject *return_value = NULL;
217db96d56Sopenharmony_ci    static const char * const _keywords[] = {"hook", NULL};
227db96d56Sopenharmony_ci    static _PyArg_Parser _parser = {NULL, _keywords, "addaudithook", 0};
237db96d56Sopenharmony_ci    PyObject *argsbuf[1];
247db96d56Sopenharmony_ci    PyObject *hook;
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ci    args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
277db96d56Sopenharmony_ci    if (!args) {
287db96d56Sopenharmony_ci        goto exit;
297db96d56Sopenharmony_ci    }
307db96d56Sopenharmony_ci    hook = args[0];
317db96d56Sopenharmony_ci    return_value = sys_addaudithook_impl(module, hook);
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ciexit:
347db96d56Sopenharmony_ci    return return_value;
357db96d56Sopenharmony_ci}
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ciPyDoc_STRVAR(sys_displayhook__doc__,
387db96d56Sopenharmony_ci"displayhook($module, object, /)\n"
397db96d56Sopenharmony_ci"--\n"
407db96d56Sopenharmony_ci"\n"
417db96d56Sopenharmony_ci"Print an object to sys.stdout and also save it in builtins._");
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ci#define SYS_DISPLAYHOOK_METHODDEF    \
447db96d56Sopenharmony_ci    {"displayhook", (PyCFunction)sys_displayhook, METH_O, sys_displayhook__doc__},
457db96d56Sopenharmony_ci
467db96d56Sopenharmony_ciPyDoc_STRVAR(sys_excepthook__doc__,
477db96d56Sopenharmony_ci"excepthook($module, exctype, value, traceback, /)\n"
487db96d56Sopenharmony_ci"--\n"
497db96d56Sopenharmony_ci"\n"
507db96d56Sopenharmony_ci"Handle an exception by displaying it with a traceback on sys.stderr.");
517db96d56Sopenharmony_ci
527db96d56Sopenharmony_ci#define SYS_EXCEPTHOOK_METHODDEF    \
537db96d56Sopenharmony_ci    {"excepthook", _PyCFunction_CAST(sys_excepthook), METH_FASTCALL, sys_excepthook__doc__},
547db96d56Sopenharmony_ci
557db96d56Sopenharmony_cistatic PyObject *
567db96d56Sopenharmony_cisys_excepthook_impl(PyObject *module, PyObject *exctype, PyObject *value,
577db96d56Sopenharmony_ci                    PyObject *traceback);
587db96d56Sopenharmony_ci
597db96d56Sopenharmony_cistatic PyObject *
607db96d56Sopenharmony_cisys_excepthook(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
617db96d56Sopenharmony_ci{
627db96d56Sopenharmony_ci    PyObject *return_value = NULL;
637db96d56Sopenharmony_ci    PyObject *exctype;
647db96d56Sopenharmony_ci    PyObject *value;
657db96d56Sopenharmony_ci    PyObject *traceback;
667db96d56Sopenharmony_ci
677db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("excepthook", nargs, 3, 3)) {
687db96d56Sopenharmony_ci        goto exit;
697db96d56Sopenharmony_ci    }
707db96d56Sopenharmony_ci    exctype = args[0];
717db96d56Sopenharmony_ci    value = args[1];
727db96d56Sopenharmony_ci    traceback = args[2];
737db96d56Sopenharmony_ci    return_value = sys_excepthook_impl(module, exctype, value, traceback);
747db96d56Sopenharmony_ci
757db96d56Sopenharmony_ciexit:
767db96d56Sopenharmony_ci    return return_value;
777db96d56Sopenharmony_ci}
787db96d56Sopenharmony_ci
797db96d56Sopenharmony_ciPyDoc_STRVAR(sys_exception__doc__,
807db96d56Sopenharmony_ci"exception($module, /)\n"
817db96d56Sopenharmony_ci"--\n"
827db96d56Sopenharmony_ci"\n"
837db96d56Sopenharmony_ci"Return the current exception.\n"
847db96d56Sopenharmony_ci"\n"
857db96d56Sopenharmony_ci"Return the most recent exception caught by an except clause\n"
867db96d56Sopenharmony_ci"in the current stack frame or in an older stack frame, or None\n"
877db96d56Sopenharmony_ci"if no such exception exists.");
887db96d56Sopenharmony_ci
897db96d56Sopenharmony_ci#define SYS_EXCEPTION_METHODDEF    \
907db96d56Sopenharmony_ci    {"exception", (PyCFunction)sys_exception, METH_NOARGS, sys_exception__doc__},
917db96d56Sopenharmony_ci
927db96d56Sopenharmony_cistatic PyObject *
937db96d56Sopenharmony_cisys_exception_impl(PyObject *module);
947db96d56Sopenharmony_ci
957db96d56Sopenharmony_cistatic PyObject *
967db96d56Sopenharmony_cisys_exception(PyObject *module, PyObject *Py_UNUSED(ignored))
977db96d56Sopenharmony_ci{
987db96d56Sopenharmony_ci    return sys_exception_impl(module);
997db96d56Sopenharmony_ci}
1007db96d56Sopenharmony_ci
1017db96d56Sopenharmony_ciPyDoc_STRVAR(sys_exc_info__doc__,
1027db96d56Sopenharmony_ci"exc_info($module, /)\n"
1037db96d56Sopenharmony_ci"--\n"
1047db96d56Sopenharmony_ci"\n"
1057db96d56Sopenharmony_ci"Return current exception information: (type, value, traceback).\n"
1067db96d56Sopenharmony_ci"\n"
1077db96d56Sopenharmony_ci"Return information about the most recent exception caught by an except\n"
1087db96d56Sopenharmony_ci"clause in the current stack frame or in an older stack frame.");
1097db96d56Sopenharmony_ci
1107db96d56Sopenharmony_ci#define SYS_EXC_INFO_METHODDEF    \
1117db96d56Sopenharmony_ci    {"exc_info", (PyCFunction)sys_exc_info, METH_NOARGS, sys_exc_info__doc__},
1127db96d56Sopenharmony_ci
1137db96d56Sopenharmony_cistatic PyObject *
1147db96d56Sopenharmony_cisys_exc_info_impl(PyObject *module);
1157db96d56Sopenharmony_ci
1167db96d56Sopenharmony_cistatic PyObject *
1177db96d56Sopenharmony_cisys_exc_info(PyObject *module, PyObject *Py_UNUSED(ignored))
1187db96d56Sopenharmony_ci{
1197db96d56Sopenharmony_ci    return sys_exc_info_impl(module);
1207db96d56Sopenharmony_ci}
1217db96d56Sopenharmony_ci
1227db96d56Sopenharmony_ciPyDoc_STRVAR(sys_unraisablehook__doc__,
1237db96d56Sopenharmony_ci"unraisablehook($module, unraisable, /)\n"
1247db96d56Sopenharmony_ci"--\n"
1257db96d56Sopenharmony_ci"\n"
1267db96d56Sopenharmony_ci"Handle an unraisable exception.\n"
1277db96d56Sopenharmony_ci"\n"
1287db96d56Sopenharmony_ci"The unraisable argument has the following attributes:\n"
1297db96d56Sopenharmony_ci"\n"
1307db96d56Sopenharmony_ci"* exc_type: Exception type.\n"
1317db96d56Sopenharmony_ci"* exc_value: Exception value, can be None.\n"
1327db96d56Sopenharmony_ci"* exc_traceback: Exception traceback, can be None.\n"
1337db96d56Sopenharmony_ci"* err_msg: Error message, can be None.\n"
1347db96d56Sopenharmony_ci"* object: Object causing the exception, can be None.");
1357db96d56Sopenharmony_ci
1367db96d56Sopenharmony_ci#define SYS_UNRAISABLEHOOK_METHODDEF    \
1377db96d56Sopenharmony_ci    {"unraisablehook", (PyCFunction)sys_unraisablehook, METH_O, sys_unraisablehook__doc__},
1387db96d56Sopenharmony_ci
1397db96d56Sopenharmony_ciPyDoc_STRVAR(sys_exit__doc__,
1407db96d56Sopenharmony_ci"exit($module, status=None, /)\n"
1417db96d56Sopenharmony_ci"--\n"
1427db96d56Sopenharmony_ci"\n"
1437db96d56Sopenharmony_ci"Exit the interpreter by raising SystemExit(status).\n"
1447db96d56Sopenharmony_ci"\n"
1457db96d56Sopenharmony_ci"If the status is omitted or None, it defaults to zero (i.e., success).\n"
1467db96d56Sopenharmony_ci"If the status is an integer, it will be used as the system exit status.\n"
1477db96d56Sopenharmony_ci"If it is another kind of object, it will be printed and the system\n"
1487db96d56Sopenharmony_ci"exit status will be one (i.e., failure).");
1497db96d56Sopenharmony_ci
1507db96d56Sopenharmony_ci#define SYS_EXIT_METHODDEF    \
1517db96d56Sopenharmony_ci    {"exit", _PyCFunction_CAST(sys_exit), METH_FASTCALL, sys_exit__doc__},
1527db96d56Sopenharmony_ci
1537db96d56Sopenharmony_cistatic PyObject *
1547db96d56Sopenharmony_cisys_exit_impl(PyObject *module, PyObject *status);
1557db96d56Sopenharmony_ci
1567db96d56Sopenharmony_cistatic PyObject *
1577db96d56Sopenharmony_cisys_exit(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
1587db96d56Sopenharmony_ci{
1597db96d56Sopenharmony_ci    PyObject *return_value = NULL;
1607db96d56Sopenharmony_ci    PyObject *status = Py_None;
1617db96d56Sopenharmony_ci
1627db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("exit", nargs, 0, 1)) {
1637db96d56Sopenharmony_ci        goto exit;
1647db96d56Sopenharmony_ci    }
1657db96d56Sopenharmony_ci    if (nargs < 1) {
1667db96d56Sopenharmony_ci        goto skip_optional;
1677db96d56Sopenharmony_ci    }
1687db96d56Sopenharmony_ci    status = args[0];
1697db96d56Sopenharmony_ciskip_optional:
1707db96d56Sopenharmony_ci    return_value = sys_exit_impl(module, status);
1717db96d56Sopenharmony_ci
1727db96d56Sopenharmony_ciexit:
1737db96d56Sopenharmony_ci    return return_value;
1747db96d56Sopenharmony_ci}
1757db96d56Sopenharmony_ci
1767db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getdefaultencoding__doc__,
1777db96d56Sopenharmony_ci"getdefaultencoding($module, /)\n"
1787db96d56Sopenharmony_ci"--\n"
1797db96d56Sopenharmony_ci"\n"
1807db96d56Sopenharmony_ci"Return the current default encoding used by the Unicode implementation.");
1817db96d56Sopenharmony_ci
1827db96d56Sopenharmony_ci#define SYS_GETDEFAULTENCODING_METHODDEF    \
1837db96d56Sopenharmony_ci    {"getdefaultencoding", (PyCFunction)sys_getdefaultencoding, METH_NOARGS, sys_getdefaultencoding__doc__},
1847db96d56Sopenharmony_ci
1857db96d56Sopenharmony_cistatic PyObject *
1867db96d56Sopenharmony_cisys_getdefaultencoding_impl(PyObject *module);
1877db96d56Sopenharmony_ci
1887db96d56Sopenharmony_cistatic PyObject *
1897db96d56Sopenharmony_cisys_getdefaultencoding(PyObject *module, PyObject *Py_UNUSED(ignored))
1907db96d56Sopenharmony_ci{
1917db96d56Sopenharmony_ci    return sys_getdefaultencoding_impl(module);
1927db96d56Sopenharmony_ci}
1937db96d56Sopenharmony_ci
1947db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getfilesystemencoding__doc__,
1957db96d56Sopenharmony_ci"getfilesystemencoding($module, /)\n"
1967db96d56Sopenharmony_ci"--\n"
1977db96d56Sopenharmony_ci"\n"
1987db96d56Sopenharmony_ci"Return the encoding used to convert Unicode filenames to OS filenames.");
1997db96d56Sopenharmony_ci
2007db96d56Sopenharmony_ci#define SYS_GETFILESYSTEMENCODING_METHODDEF    \
2017db96d56Sopenharmony_ci    {"getfilesystemencoding", (PyCFunction)sys_getfilesystemencoding, METH_NOARGS, sys_getfilesystemencoding__doc__},
2027db96d56Sopenharmony_ci
2037db96d56Sopenharmony_cistatic PyObject *
2047db96d56Sopenharmony_cisys_getfilesystemencoding_impl(PyObject *module);
2057db96d56Sopenharmony_ci
2067db96d56Sopenharmony_cistatic PyObject *
2077db96d56Sopenharmony_cisys_getfilesystemencoding(PyObject *module, PyObject *Py_UNUSED(ignored))
2087db96d56Sopenharmony_ci{
2097db96d56Sopenharmony_ci    return sys_getfilesystemencoding_impl(module);
2107db96d56Sopenharmony_ci}
2117db96d56Sopenharmony_ci
2127db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getfilesystemencodeerrors__doc__,
2137db96d56Sopenharmony_ci"getfilesystemencodeerrors($module, /)\n"
2147db96d56Sopenharmony_ci"--\n"
2157db96d56Sopenharmony_ci"\n"
2167db96d56Sopenharmony_ci"Return the error mode used Unicode to OS filename conversion.");
2177db96d56Sopenharmony_ci
2187db96d56Sopenharmony_ci#define SYS_GETFILESYSTEMENCODEERRORS_METHODDEF    \
2197db96d56Sopenharmony_ci    {"getfilesystemencodeerrors", (PyCFunction)sys_getfilesystemencodeerrors, METH_NOARGS, sys_getfilesystemencodeerrors__doc__},
2207db96d56Sopenharmony_ci
2217db96d56Sopenharmony_cistatic PyObject *
2227db96d56Sopenharmony_cisys_getfilesystemencodeerrors_impl(PyObject *module);
2237db96d56Sopenharmony_ci
2247db96d56Sopenharmony_cistatic PyObject *
2257db96d56Sopenharmony_cisys_getfilesystemencodeerrors(PyObject *module, PyObject *Py_UNUSED(ignored))
2267db96d56Sopenharmony_ci{
2277db96d56Sopenharmony_ci    return sys_getfilesystemencodeerrors_impl(module);
2287db96d56Sopenharmony_ci}
2297db96d56Sopenharmony_ci
2307db96d56Sopenharmony_ciPyDoc_STRVAR(sys_intern__doc__,
2317db96d56Sopenharmony_ci"intern($module, string, /)\n"
2327db96d56Sopenharmony_ci"--\n"
2337db96d56Sopenharmony_ci"\n"
2347db96d56Sopenharmony_ci"``Intern\'\' the given string.\n"
2357db96d56Sopenharmony_ci"\n"
2367db96d56Sopenharmony_ci"This enters the string in the (global) table of interned strings whose\n"
2377db96d56Sopenharmony_ci"purpose is to speed up dictionary lookups. Return the string itself or\n"
2387db96d56Sopenharmony_ci"the previously interned string object with the same value.");
2397db96d56Sopenharmony_ci
2407db96d56Sopenharmony_ci#define SYS_INTERN_METHODDEF    \
2417db96d56Sopenharmony_ci    {"intern", (PyCFunction)sys_intern, METH_O, sys_intern__doc__},
2427db96d56Sopenharmony_ci
2437db96d56Sopenharmony_cistatic PyObject *
2447db96d56Sopenharmony_cisys_intern_impl(PyObject *module, PyObject *s);
2457db96d56Sopenharmony_ci
2467db96d56Sopenharmony_cistatic PyObject *
2477db96d56Sopenharmony_cisys_intern(PyObject *module, PyObject *arg)
2487db96d56Sopenharmony_ci{
2497db96d56Sopenharmony_ci    PyObject *return_value = NULL;
2507db96d56Sopenharmony_ci    PyObject *s;
2517db96d56Sopenharmony_ci
2527db96d56Sopenharmony_ci    if (!PyUnicode_Check(arg)) {
2537db96d56Sopenharmony_ci        _PyArg_BadArgument("intern", "argument", "str", arg);
2547db96d56Sopenharmony_ci        goto exit;
2557db96d56Sopenharmony_ci    }
2567db96d56Sopenharmony_ci    if (PyUnicode_READY(arg) == -1) {
2577db96d56Sopenharmony_ci        goto exit;
2587db96d56Sopenharmony_ci    }
2597db96d56Sopenharmony_ci    s = arg;
2607db96d56Sopenharmony_ci    return_value = sys_intern_impl(module, s);
2617db96d56Sopenharmony_ci
2627db96d56Sopenharmony_ciexit:
2637db96d56Sopenharmony_ci    return return_value;
2647db96d56Sopenharmony_ci}
2657db96d56Sopenharmony_ci
2667db96d56Sopenharmony_ciPyDoc_STRVAR(sys_gettrace__doc__,
2677db96d56Sopenharmony_ci"gettrace($module, /)\n"
2687db96d56Sopenharmony_ci"--\n"
2697db96d56Sopenharmony_ci"\n"
2707db96d56Sopenharmony_ci"Return the global debug tracing function set with sys.settrace.\n"
2717db96d56Sopenharmony_ci"\n"
2727db96d56Sopenharmony_ci"See the debugger chapter in the library manual.");
2737db96d56Sopenharmony_ci
2747db96d56Sopenharmony_ci#define SYS_GETTRACE_METHODDEF    \
2757db96d56Sopenharmony_ci    {"gettrace", (PyCFunction)sys_gettrace, METH_NOARGS, sys_gettrace__doc__},
2767db96d56Sopenharmony_ci
2777db96d56Sopenharmony_cistatic PyObject *
2787db96d56Sopenharmony_cisys_gettrace_impl(PyObject *module);
2797db96d56Sopenharmony_ci
2807db96d56Sopenharmony_cistatic PyObject *
2817db96d56Sopenharmony_cisys_gettrace(PyObject *module, PyObject *Py_UNUSED(ignored))
2827db96d56Sopenharmony_ci{
2837db96d56Sopenharmony_ci    return sys_gettrace_impl(module);
2847db96d56Sopenharmony_ci}
2857db96d56Sopenharmony_ci
2867db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getprofile__doc__,
2877db96d56Sopenharmony_ci"getprofile($module, /)\n"
2887db96d56Sopenharmony_ci"--\n"
2897db96d56Sopenharmony_ci"\n"
2907db96d56Sopenharmony_ci"Return the profiling function set with sys.setprofile.\n"
2917db96d56Sopenharmony_ci"\n"
2927db96d56Sopenharmony_ci"See the profiler chapter in the library manual.");
2937db96d56Sopenharmony_ci
2947db96d56Sopenharmony_ci#define SYS_GETPROFILE_METHODDEF    \
2957db96d56Sopenharmony_ci    {"getprofile", (PyCFunction)sys_getprofile, METH_NOARGS, sys_getprofile__doc__},
2967db96d56Sopenharmony_ci
2977db96d56Sopenharmony_cistatic PyObject *
2987db96d56Sopenharmony_cisys_getprofile_impl(PyObject *module);
2997db96d56Sopenharmony_ci
3007db96d56Sopenharmony_cistatic PyObject *
3017db96d56Sopenharmony_cisys_getprofile(PyObject *module, PyObject *Py_UNUSED(ignored))
3027db96d56Sopenharmony_ci{
3037db96d56Sopenharmony_ci    return sys_getprofile_impl(module);
3047db96d56Sopenharmony_ci}
3057db96d56Sopenharmony_ci
3067db96d56Sopenharmony_ciPyDoc_STRVAR(sys_setswitchinterval__doc__,
3077db96d56Sopenharmony_ci"setswitchinterval($module, interval, /)\n"
3087db96d56Sopenharmony_ci"--\n"
3097db96d56Sopenharmony_ci"\n"
3107db96d56Sopenharmony_ci"Set the ideal thread switching delay inside the Python interpreter.\n"
3117db96d56Sopenharmony_ci"\n"
3127db96d56Sopenharmony_ci"The actual frequency of switching threads can be lower if the\n"
3137db96d56Sopenharmony_ci"interpreter executes long sequences of uninterruptible code\n"
3147db96d56Sopenharmony_ci"(this is implementation-specific and workload-dependent).\n"
3157db96d56Sopenharmony_ci"\n"
3167db96d56Sopenharmony_ci"The parameter must represent the desired switching delay in seconds\n"
3177db96d56Sopenharmony_ci"A typical value is 0.005 (5 milliseconds).");
3187db96d56Sopenharmony_ci
3197db96d56Sopenharmony_ci#define SYS_SETSWITCHINTERVAL_METHODDEF    \
3207db96d56Sopenharmony_ci    {"setswitchinterval", (PyCFunction)sys_setswitchinterval, METH_O, sys_setswitchinterval__doc__},
3217db96d56Sopenharmony_ci
3227db96d56Sopenharmony_cistatic PyObject *
3237db96d56Sopenharmony_cisys_setswitchinterval_impl(PyObject *module, double interval);
3247db96d56Sopenharmony_ci
3257db96d56Sopenharmony_cistatic PyObject *
3267db96d56Sopenharmony_cisys_setswitchinterval(PyObject *module, PyObject *arg)
3277db96d56Sopenharmony_ci{
3287db96d56Sopenharmony_ci    PyObject *return_value = NULL;
3297db96d56Sopenharmony_ci    double interval;
3307db96d56Sopenharmony_ci
3317db96d56Sopenharmony_ci    if (PyFloat_CheckExact(arg)) {
3327db96d56Sopenharmony_ci        interval = PyFloat_AS_DOUBLE(arg);
3337db96d56Sopenharmony_ci    }
3347db96d56Sopenharmony_ci    else
3357db96d56Sopenharmony_ci    {
3367db96d56Sopenharmony_ci        interval = PyFloat_AsDouble(arg);
3377db96d56Sopenharmony_ci        if (interval == -1.0 && PyErr_Occurred()) {
3387db96d56Sopenharmony_ci            goto exit;
3397db96d56Sopenharmony_ci        }
3407db96d56Sopenharmony_ci    }
3417db96d56Sopenharmony_ci    return_value = sys_setswitchinterval_impl(module, interval);
3427db96d56Sopenharmony_ci
3437db96d56Sopenharmony_ciexit:
3447db96d56Sopenharmony_ci    return return_value;
3457db96d56Sopenharmony_ci}
3467db96d56Sopenharmony_ci
3477db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getswitchinterval__doc__,
3487db96d56Sopenharmony_ci"getswitchinterval($module, /)\n"
3497db96d56Sopenharmony_ci"--\n"
3507db96d56Sopenharmony_ci"\n"
3517db96d56Sopenharmony_ci"Return the current thread switch interval; see sys.setswitchinterval().");
3527db96d56Sopenharmony_ci
3537db96d56Sopenharmony_ci#define SYS_GETSWITCHINTERVAL_METHODDEF    \
3547db96d56Sopenharmony_ci    {"getswitchinterval", (PyCFunction)sys_getswitchinterval, METH_NOARGS, sys_getswitchinterval__doc__},
3557db96d56Sopenharmony_ci
3567db96d56Sopenharmony_cistatic double
3577db96d56Sopenharmony_cisys_getswitchinterval_impl(PyObject *module);
3587db96d56Sopenharmony_ci
3597db96d56Sopenharmony_cistatic PyObject *
3607db96d56Sopenharmony_cisys_getswitchinterval(PyObject *module, PyObject *Py_UNUSED(ignored))
3617db96d56Sopenharmony_ci{
3627db96d56Sopenharmony_ci    PyObject *return_value = NULL;
3637db96d56Sopenharmony_ci    double _return_value;
3647db96d56Sopenharmony_ci
3657db96d56Sopenharmony_ci    _return_value = sys_getswitchinterval_impl(module);
3667db96d56Sopenharmony_ci    if ((_return_value == -1.0) && PyErr_Occurred()) {
3677db96d56Sopenharmony_ci        goto exit;
3687db96d56Sopenharmony_ci    }
3697db96d56Sopenharmony_ci    return_value = PyFloat_FromDouble(_return_value);
3707db96d56Sopenharmony_ci
3717db96d56Sopenharmony_ciexit:
3727db96d56Sopenharmony_ci    return return_value;
3737db96d56Sopenharmony_ci}
3747db96d56Sopenharmony_ci
3757db96d56Sopenharmony_ciPyDoc_STRVAR(sys_setrecursionlimit__doc__,
3767db96d56Sopenharmony_ci"setrecursionlimit($module, limit, /)\n"
3777db96d56Sopenharmony_ci"--\n"
3787db96d56Sopenharmony_ci"\n"
3797db96d56Sopenharmony_ci"Set the maximum depth of the Python interpreter stack to n.\n"
3807db96d56Sopenharmony_ci"\n"
3817db96d56Sopenharmony_ci"This limit prevents infinite recursion from causing an overflow of the C\n"
3827db96d56Sopenharmony_ci"stack and crashing Python.  The highest possible limit is platform-\n"
3837db96d56Sopenharmony_ci"dependent.");
3847db96d56Sopenharmony_ci
3857db96d56Sopenharmony_ci#define SYS_SETRECURSIONLIMIT_METHODDEF    \
3867db96d56Sopenharmony_ci    {"setrecursionlimit", (PyCFunction)sys_setrecursionlimit, METH_O, sys_setrecursionlimit__doc__},
3877db96d56Sopenharmony_ci
3887db96d56Sopenharmony_cistatic PyObject *
3897db96d56Sopenharmony_cisys_setrecursionlimit_impl(PyObject *module, int new_limit);
3907db96d56Sopenharmony_ci
3917db96d56Sopenharmony_cistatic PyObject *
3927db96d56Sopenharmony_cisys_setrecursionlimit(PyObject *module, PyObject *arg)
3937db96d56Sopenharmony_ci{
3947db96d56Sopenharmony_ci    PyObject *return_value = NULL;
3957db96d56Sopenharmony_ci    int new_limit;
3967db96d56Sopenharmony_ci
3977db96d56Sopenharmony_ci    new_limit = _PyLong_AsInt(arg);
3987db96d56Sopenharmony_ci    if (new_limit == -1 && PyErr_Occurred()) {
3997db96d56Sopenharmony_ci        goto exit;
4007db96d56Sopenharmony_ci    }
4017db96d56Sopenharmony_ci    return_value = sys_setrecursionlimit_impl(module, new_limit);
4027db96d56Sopenharmony_ci
4037db96d56Sopenharmony_ciexit:
4047db96d56Sopenharmony_ci    return return_value;
4057db96d56Sopenharmony_ci}
4067db96d56Sopenharmony_ci
4077db96d56Sopenharmony_ciPyDoc_STRVAR(sys_set_coroutine_origin_tracking_depth__doc__,
4087db96d56Sopenharmony_ci"set_coroutine_origin_tracking_depth($module, /, depth)\n"
4097db96d56Sopenharmony_ci"--\n"
4107db96d56Sopenharmony_ci"\n"
4117db96d56Sopenharmony_ci"Enable or disable origin tracking for coroutine objects in this thread.\n"
4127db96d56Sopenharmony_ci"\n"
4137db96d56Sopenharmony_ci"Coroutine objects will track \'depth\' frames of traceback information\n"
4147db96d56Sopenharmony_ci"about where they came from, available in their cr_origin attribute.\n"
4157db96d56Sopenharmony_ci"\n"
4167db96d56Sopenharmony_ci"Set a depth of 0 to disable.");
4177db96d56Sopenharmony_ci
4187db96d56Sopenharmony_ci#define SYS_SET_COROUTINE_ORIGIN_TRACKING_DEPTH_METHODDEF    \
4197db96d56Sopenharmony_ci    {"set_coroutine_origin_tracking_depth", _PyCFunction_CAST(sys_set_coroutine_origin_tracking_depth), METH_FASTCALL|METH_KEYWORDS, sys_set_coroutine_origin_tracking_depth__doc__},
4207db96d56Sopenharmony_ci
4217db96d56Sopenharmony_cistatic PyObject *
4227db96d56Sopenharmony_cisys_set_coroutine_origin_tracking_depth_impl(PyObject *module, int depth);
4237db96d56Sopenharmony_ci
4247db96d56Sopenharmony_cistatic PyObject *
4257db96d56Sopenharmony_cisys_set_coroutine_origin_tracking_depth(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
4267db96d56Sopenharmony_ci{
4277db96d56Sopenharmony_ci    PyObject *return_value = NULL;
4287db96d56Sopenharmony_ci    static const char * const _keywords[] = {"depth", NULL};
4297db96d56Sopenharmony_ci    static _PyArg_Parser _parser = {NULL, _keywords, "set_coroutine_origin_tracking_depth", 0};
4307db96d56Sopenharmony_ci    PyObject *argsbuf[1];
4317db96d56Sopenharmony_ci    int depth;
4327db96d56Sopenharmony_ci
4337db96d56Sopenharmony_ci    args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
4347db96d56Sopenharmony_ci    if (!args) {
4357db96d56Sopenharmony_ci        goto exit;
4367db96d56Sopenharmony_ci    }
4377db96d56Sopenharmony_ci    depth = _PyLong_AsInt(args[0]);
4387db96d56Sopenharmony_ci    if (depth == -1 && PyErr_Occurred()) {
4397db96d56Sopenharmony_ci        goto exit;
4407db96d56Sopenharmony_ci    }
4417db96d56Sopenharmony_ci    return_value = sys_set_coroutine_origin_tracking_depth_impl(module, depth);
4427db96d56Sopenharmony_ci
4437db96d56Sopenharmony_ciexit:
4447db96d56Sopenharmony_ci    return return_value;
4457db96d56Sopenharmony_ci}
4467db96d56Sopenharmony_ci
4477db96d56Sopenharmony_ciPyDoc_STRVAR(sys_get_coroutine_origin_tracking_depth__doc__,
4487db96d56Sopenharmony_ci"get_coroutine_origin_tracking_depth($module, /)\n"
4497db96d56Sopenharmony_ci"--\n"
4507db96d56Sopenharmony_ci"\n"
4517db96d56Sopenharmony_ci"Check status of origin tracking for coroutine objects in this thread.");
4527db96d56Sopenharmony_ci
4537db96d56Sopenharmony_ci#define SYS_GET_COROUTINE_ORIGIN_TRACKING_DEPTH_METHODDEF    \
4547db96d56Sopenharmony_ci    {"get_coroutine_origin_tracking_depth", (PyCFunction)sys_get_coroutine_origin_tracking_depth, METH_NOARGS, sys_get_coroutine_origin_tracking_depth__doc__},
4557db96d56Sopenharmony_ci
4567db96d56Sopenharmony_cistatic int
4577db96d56Sopenharmony_cisys_get_coroutine_origin_tracking_depth_impl(PyObject *module);
4587db96d56Sopenharmony_ci
4597db96d56Sopenharmony_cistatic PyObject *
4607db96d56Sopenharmony_cisys_get_coroutine_origin_tracking_depth(PyObject *module, PyObject *Py_UNUSED(ignored))
4617db96d56Sopenharmony_ci{
4627db96d56Sopenharmony_ci    PyObject *return_value = NULL;
4637db96d56Sopenharmony_ci    int _return_value;
4647db96d56Sopenharmony_ci
4657db96d56Sopenharmony_ci    _return_value = sys_get_coroutine_origin_tracking_depth_impl(module);
4667db96d56Sopenharmony_ci    if ((_return_value == -1) && PyErr_Occurred()) {
4677db96d56Sopenharmony_ci        goto exit;
4687db96d56Sopenharmony_ci    }
4697db96d56Sopenharmony_ci    return_value = PyLong_FromLong((long)_return_value);
4707db96d56Sopenharmony_ci
4717db96d56Sopenharmony_ciexit:
4727db96d56Sopenharmony_ci    return return_value;
4737db96d56Sopenharmony_ci}
4747db96d56Sopenharmony_ci
4757db96d56Sopenharmony_ciPyDoc_STRVAR(sys_get_asyncgen_hooks__doc__,
4767db96d56Sopenharmony_ci"get_asyncgen_hooks($module, /)\n"
4777db96d56Sopenharmony_ci"--\n"
4787db96d56Sopenharmony_ci"\n"
4797db96d56Sopenharmony_ci"Return the installed asynchronous generators hooks.\n"
4807db96d56Sopenharmony_ci"\n"
4817db96d56Sopenharmony_ci"This returns a namedtuple of the form (firstiter, finalizer).");
4827db96d56Sopenharmony_ci
4837db96d56Sopenharmony_ci#define SYS_GET_ASYNCGEN_HOOKS_METHODDEF    \
4847db96d56Sopenharmony_ci    {"get_asyncgen_hooks", (PyCFunction)sys_get_asyncgen_hooks, METH_NOARGS, sys_get_asyncgen_hooks__doc__},
4857db96d56Sopenharmony_ci
4867db96d56Sopenharmony_cistatic PyObject *
4877db96d56Sopenharmony_cisys_get_asyncgen_hooks_impl(PyObject *module);
4887db96d56Sopenharmony_ci
4897db96d56Sopenharmony_cistatic PyObject *
4907db96d56Sopenharmony_cisys_get_asyncgen_hooks(PyObject *module, PyObject *Py_UNUSED(ignored))
4917db96d56Sopenharmony_ci{
4927db96d56Sopenharmony_ci    return sys_get_asyncgen_hooks_impl(module);
4937db96d56Sopenharmony_ci}
4947db96d56Sopenharmony_ci
4957db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getrecursionlimit__doc__,
4967db96d56Sopenharmony_ci"getrecursionlimit($module, /)\n"
4977db96d56Sopenharmony_ci"--\n"
4987db96d56Sopenharmony_ci"\n"
4997db96d56Sopenharmony_ci"Return the current value of the recursion limit.\n"
5007db96d56Sopenharmony_ci"\n"
5017db96d56Sopenharmony_ci"The recursion limit is the maximum depth of the Python interpreter\n"
5027db96d56Sopenharmony_ci"stack.  This limit prevents infinite recursion from causing an overflow\n"
5037db96d56Sopenharmony_ci"of the C stack and crashing Python.");
5047db96d56Sopenharmony_ci
5057db96d56Sopenharmony_ci#define SYS_GETRECURSIONLIMIT_METHODDEF    \
5067db96d56Sopenharmony_ci    {"getrecursionlimit", (PyCFunction)sys_getrecursionlimit, METH_NOARGS, sys_getrecursionlimit__doc__},
5077db96d56Sopenharmony_ci
5087db96d56Sopenharmony_cistatic PyObject *
5097db96d56Sopenharmony_cisys_getrecursionlimit_impl(PyObject *module);
5107db96d56Sopenharmony_ci
5117db96d56Sopenharmony_cistatic PyObject *
5127db96d56Sopenharmony_cisys_getrecursionlimit(PyObject *module, PyObject *Py_UNUSED(ignored))
5137db96d56Sopenharmony_ci{
5147db96d56Sopenharmony_ci    return sys_getrecursionlimit_impl(module);
5157db96d56Sopenharmony_ci}
5167db96d56Sopenharmony_ci
5177db96d56Sopenharmony_ci#if defined(MS_WINDOWS)
5187db96d56Sopenharmony_ci
5197db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getwindowsversion__doc__,
5207db96d56Sopenharmony_ci"getwindowsversion($module, /)\n"
5217db96d56Sopenharmony_ci"--\n"
5227db96d56Sopenharmony_ci"\n"
5237db96d56Sopenharmony_ci"Return info about the running version of Windows as a named tuple.\n"
5247db96d56Sopenharmony_ci"\n"
5257db96d56Sopenharmony_ci"The members are named: major, minor, build, platform, service_pack,\n"
5267db96d56Sopenharmony_ci"service_pack_major, service_pack_minor, suite_mask, product_type and\n"
5277db96d56Sopenharmony_ci"platform_version. For backward compatibility, only the first 5 items\n"
5287db96d56Sopenharmony_ci"are available by indexing. All elements are numbers, except\n"
5297db96d56Sopenharmony_ci"service_pack and platform_type which are strings, and platform_version\n"
5307db96d56Sopenharmony_ci"which is a 3-tuple. Platform is always 2. Product_type may be 1 for a\n"
5317db96d56Sopenharmony_ci"workstation, 2 for a domain controller, 3 for a server.\n"
5327db96d56Sopenharmony_ci"Platform_version is a 3-tuple containing a version number that is\n"
5337db96d56Sopenharmony_ci"intended for identifying the OS rather than feature detection.");
5347db96d56Sopenharmony_ci
5357db96d56Sopenharmony_ci#define SYS_GETWINDOWSVERSION_METHODDEF    \
5367db96d56Sopenharmony_ci    {"getwindowsversion", (PyCFunction)sys_getwindowsversion, METH_NOARGS, sys_getwindowsversion__doc__},
5377db96d56Sopenharmony_ci
5387db96d56Sopenharmony_cistatic PyObject *
5397db96d56Sopenharmony_cisys_getwindowsversion_impl(PyObject *module);
5407db96d56Sopenharmony_ci
5417db96d56Sopenharmony_cistatic PyObject *
5427db96d56Sopenharmony_cisys_getwindowsversion(PyObject *module, PyObject *Py_UNUSED(ignored))
5437db96d56Sopenharmony_ci{
5447db96d56Sopenharmony_ci    return sys_getwindowsversion_impl(module);
5457db96d56Sopenharmony_ci}
5467db96d56Sopenharmony_ci
5477db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */
5487db96d56Sopenharmony_ci
5497db96d56Sopenharmony_ci#if defined(MS_WINDOWS)
5507db96d56Sopenharmony_ci
5517db96d56Sopenharmony_ciPyDoc_STRVAR(sys__enablelegacywindowsfsencoding__doc__,
5527db96d56Sopenharmony_ci"_enablelegacywindowsfsencoding($module, /)\n"
5537db96d56Sopenharmony_ci"--\n"
5547db96d56Sopenharmony_ci"\n"
5557db96d56Sopenharmony_ci"Changes the default filesystem encoding to mbcs:replace.\n"
5567db96d56Sopenharmony_ci"\n"
5577db96d56Sopenharmony_ci"This is done for consistency with earlier versions of Python. See PEP\n"
5587db96d56Sopenharmony_ci"529 for more information.\n"
5597db96d56Sopenharmony_ci"\n"
5607db96d56Sopenharmony_ci"This is equivalent to defining the PYTHONLEGACYWINDOWSFSENCODING\n"
5617db96d56Sopenharmony_ci"environment variable before launching Python.");
5627db96d56Sopenharmony_ci
5637db96d56Sopenharmony_ci#define SYS__ENABLELEGACYWINDOWSFSENCODING_METHODDEF    \
5647db96d56Sopenharmony_ci    {"_enablelegacywindowsfsencoding", (PyCFunction)sys__enablelegacywindowsfsencoding, METH_NOARGS, sys__enablelegacywindowsfsencoding__doc__},
5657db96d56Sopenharmony_ci
5667db96d56Sopenharmony_cistatic PyObject *
5677db96d56Sopenharmony_cisys__enablelegacywindowsfsencoding_impl(PyObject *module);
5687db96d56Sopenharmony_ci
5697db96d56Sopenharmony_cistatic PyObject *
5707db96d56Sopenharmony_cisys__enablelegacywindowsfsencoding(PyObject *module, PyObject *Py_UNUSED(ignored))
5717db96d56Sopenharmony_ci{
5727db96d56Sopenharmony_ci    return sys__enablelegacywindowsfsencoding_impl(module);
5737db96d56Sopenharmony_ci}
5747db96d56Sopenharmony_ci
5757db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */
5767db96d56Sopenharmony_ci
5777db96d56Sopenharmony_ci#if defined(HAVE_DLOPEN)
5787db96d56Sopenharmony_ci
5797db96d56Sopenharmony_ciPyDoc_STRVAR(sys_setdlopenflags__doc__,
5807db96d56Sopenharmony_ci"setdlopenflags($module, flags, /)\n"
5817db96d56Sopenharmony_ci"--\n"
5827db96d56Sopenharmony_ci"\n"
5837db96d56Sopenharmony_ci"Set the flags used by the interpreter for dlopen calls.\n"
5847db96d56Sopenharmony_ci"\n"
5857db96d56Sopenharmony_ci"This is used, for example, when the interpreter loads extension\n"
5867db96d56Sopenharmony_ci"modules. Among other things, this will enable a lazy resolving of\n"
5877db96d56Sopenharmony_ci"symbols when importing a module, if called as sys.setdlopenflags(0).\n"
5887db96d56Sopenharmony_ci"To share symbols across extension modules, call as\n"
5897db96d56Sopenharmony_ci"sys.setdlopenflags(os.RTLD_GLOBAL).  Symbolic names for the flag\n"
5907db96d56Sopenharmony_ci"modules can be found in the os module (RTLD_xxx constants, e.g.\n"
5917db96d56Sopenharmony_ci"os.RTLD_LAZY).");
5927db96d56Sopenharmony_ci
5937db96d56Sopenharmony_ci#define SYS_SETDLOPENFLAGS_METHODDEF    \
5947db96d56Sopenharmony_ci    {"setdlopenflags", (PyCFunction)sys_setdlopenflags, METH_O, sys_setdlopenflags__doc__},
5957db96d56Sopenharmony_ci
5967db96d56Sopenharmony_cistatic PyObject *
5977db96d56Sopenharmony_cisys_setdlopenflags_impl(PyObject *module, int new_val);
5987db96d56Sopenharmony_ci
5997db96d56Sopenharmony_cistatic PyObject *
6007db96d56Sopenharmony_cisys_setdlopenflags(PyObject *module, PyObject *arg)
6017db96d56Sopenharmony_ci{
6027db96d56Sopenharmony_ci    PyObject *return_value = NULL;
6037db96d56Sopenharmony_ci    int new_val;
6047db96d56Sopenharmony_ci
6057db96d56Sopenharmony_ci    new_val = _PyLong_AsInt(arg);
6067db96d56Sopenharmony_ci    if (new_val == -1 && PyErr_Occurred()) {
6077db96d56Sopenharmony_ci        goto exit;
6087db96d56Sopenharmony_ci    }
6097db96d56Sopenharmony_ci    return_value = sys_setdlopenflags_impl(module, new_val);
6107db96d56Sopenharmony_ci
6117db96d56Sopenharmony_ciexit:
6127db96d56Sopenharmony_ci    return return_value;
6137db96d56Sopenharmony_ci}
6147db96d56Sopenharmony_ci
6157db96d56Sopenharmony_ci#endif /* defined(HAVE_DLOPEN) */
6167db96d56Sopenharmony_ci
6177db96d56Sopenharmony_ci#if defined(HAVE_DLOPEN)
6187db96d56Sopenharmony_ci
6197db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getdlopenflags__doc__,
6207db96d56Sopenharmony_ci"getdlopenflags($module, /)\n"
6217db96d56Sopenharmony_ci"--\n"
6227db96d56Sopenharmony_ci"\n"
6237db96d56Sopenharmony_ci"Return the current value of the flags that are used for dlopen calls.\n"
6247db96d56Sopenharmony_ci"\n"
6257db96d56Sopenharmony_ci"The flag constants are defined in the os module.");
6267db96d56Sopenharmony_ci
6277db96d56Sopenharmony_ci#define SYS_GETDLOPENFLAGS_METHODDEF    \
6287db96d56Sopenharmony_ci    {"getdlopenflags", (PyCFunction)sys_getdlopenflags, METH_NOARGS, sys_getdlopenflags__doc__},
6297db96d56Sopenharmony_ci
6307db96d56Sopenharmony_cistatic PyObject *
6317db96d56Sopenharmony_cisys_getdlopenflags_impl(PyObject *module);
6327db96d56Sopenharmony_ci
6337db96d56Sopenharmony_cistatic PyObject *
6347db96d56Sopenharmony_cisys_getdlopenflags(PyObject *module, PyObject *Py_UNUSED(ignored))
6357db96d56Sopenharmony_ci{
6367db96d56Sopenharmony_ci    return sys_getdlopenflags_impl(module);
6377db96d56Sopenharmony_ci}
6387db96d56Sopenharmony_ci
6397db96d56Sopenharmony_ci#endif /* defined(HAVE_DLOPEN) */
6407db96d56Sopenharmony_ci
6417db96d56Sopenharmony_ci#if defined(USE_MALLOPT)
6427db96d56Sopenharmony_ci
6437db96d56Sopenharmony_ciPyDoc_STRVAR(sys_mdebug__doc__,
6447db96d56Sopenharmony_ci"mdebug($module, flag, /)\n"
6457db96d56Sopenharmony_ci"--\n"
6467db96d56Sopenharmony_ci"\n");
6477db96d56Sopenharmony_ci
6487db96d56Sopenharmony_ci#define SYS_MDEBUG_METHODDEF    \
6497db96d56Sopenharmony_ci    {"mdebug", (PyCFunction)sys_mdebug, METH_O, sys_mdebug__doc__},
6507db96d56Sopenharmony_ci
6517db96d56Sopenharmony_cistatic PyObject *
6527db96d56Sopenharmony_cisys_mdebug_impl(PyObject *module, int flag);
6537db96d56Sopenharmony_ci
6547db96d56Sopenharmony_cistatic PyObject *
6557db96d56Sopenharmony_cisys_mdebug(PyObject *module, PyObject *arg)
6567db96d56Sopenharmony_ci{
6577db96d56Sopenharmony_ci    PyObject *return_value = NULL;
6587db96d56Sopenharmony_ci    int flag;
6597db96d56Sopenharmony_ci
6607db96d56Sopenharmony_ci    flag = _PyLong_AsInt(arg);
6617db96d56Sopenharmony_ci    if (flag == -1 && PyErr_Occurred()) {
6627db96d56Sopenharmony_ci        goto exit;
6637db96d56Sopenharmony_ci    }
6647db96d56Sopenharmony_ci    return_value = sys_mdebug_impl(module, flag);
6657db96d56Sopenharmony_ci
6667db96d56Sopenharmony_ciexit:
6677db96d56Sopenharmony_ci    return return_value;
6687db96d56Sopenharmony_ci}
6697db96d56Sopenharmony_ci
6707db96d56Sopenharmony_ci#endif /* defined(USE_MALLOPT) */
6717db96d56Sopenharmony_ci
6727db96d56Sopenharmony_ciPyDoc_STRVAR(sys_get_int_max_str_digits__doc__,
6737db96d56Sopenharmony_ci"get_int_max_str_digits($module, /)\n"
6747db96d56Sopenharmony_ci"--\n"
6757db96d56Sopenharmony_ci"\n"
6767db96d56Sopenharmony_ci"Return the maximum string digits limit for non-binary int<->str conversions.");
6777db96d56Sopenharmony_ci
6787db96d56Sopenharmony_ci#define SYS_GET_INT_MAX_STR_DIGITS_METHODDEF    \
6797db96d56Sopenharmony_ci    {"get_int_max_str_digits", (PyCFunction)sys_get_int_max_str_digits, METH_NOARGS, sys_get_int_max_str_digits__doc__},
6807db96d56Sopenharmony_ci
6817db96d56Sopenharmony_cistatic PyObject *
6827db96d56Sopenharmony_cisys_get_int_max_str_digits_impl(PyObject *module);
6837db96d56Sopenharmony_ci
6847db96d56Sopenharmony_cistatic PyObject *
6857db96d56Sopenharmony_cisys_get_int_max_str_digits(PyObject *module, PyObject *Py_UNUSED(ignored))
6867db96d56Sopenharmony_ci{
6877db96d56Sopenharmony_ci    return sys_get_int_max_str_digits_impl(module);
6887db96d56Sopenharmony_ci}
6897db96d56Sopenharmony_ci
6907db96d56Sopenharmony_ciPyDoc_STRVAR(sys_set_int_max_str_digits__doc__,
6917db96d56Sopenharmony_ci"set_int_max_str_digits($module, /, maxdigits)\n"
6927db96d56Sopenharmony_ci"--\n"
6937db96d56Sopenharmony_ci"\n"
6947db96d56Sopenharmony_ci"Set the maximum string digits limit for non-binary int<->str conversions.");
6957db96d56Sopenharmony_ci
6967db96d56Sopenharmony_ci#define SYS_SET_INT_MAX_STR_DIGITS_METHODDEF    \
6977db96d56Sopenharmony_ci    {"set_int_max_str_digits", _PyCFunction_CAST(sys_set_int_max_str_digits), METH_FASTCALL|METH_KEYWORDS, sys_set_int_max_str_digits__doc__},
6987db96d56Sopenharmony_ci
6997db96d56Sopenharmony_cistatic PyObject *
7007db96d56Sopenharmony_cisys_set_int_max_str_digits_impl(PyObject *module, int maxdigits);
7017db96d56Sopenharmony_ci
7027db96d56Sopenharmony_cistatic PyObject *
7037db96d56Sopenharmony_cisys_set_int_max_str_digits(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
7047db96d56Sopenharmony_ci{
7057db96d56Sopenharmony_ci    PyObject *return_value = NULL;
7067db96d56Sopenharmony_ci    static const char * const _keywords[] = {"maxdigits", NULL};
7077db96d56Sopenharmony_ci    static _PyArg_Parser _parser = {NULL, _keywords, "set_int_max_str_digits", 0};
7087db96d56Sopenharmony_ci    PyObject *argsbuf[1];
7097db96d56Sopenharmony_ci    int maxdigits;
7107db96d56Sopenharmony_ci
7117db96d56Sopenharmony_ci    args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
7127db96d56Sopenharmony_ci    if (!args) {
7137db96d56Sopenharmony_ci        goto exit;
7147db96d56Sopenharmony_ci    }
7157db96d56Sopenharmony_ci    maxdigits = _PyLong_AsInt(args[0]);
7167db96d56Sopenharmony_ci    if (maxdigits == -1 && PyErr_Occurred()) {
7177db96d56Sopenharmony_ci        goto exit;
7187db96d56Sopenharmony_ci    }
7197db96d56Sopenharmony_ci    return_value = sys_set_int_max_str_digits_impl(module, maxdigits);
7207db96d56Sopenharmony_ci
7217db96d56Sopenharmony_ciexit:
7227db96d56Sopenharmony_ci    return return_value;
7237db96d56Sopenharmony_ci}
7247db96d56Sopenharmony_ci
7257db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getrefcount__doc__,
7267db96d56Sopenharmony_ci"getrefcount($module, object, /)\n"
7277db96d56Sopenharmony_ci"--\n"
7287db96d56Sopenharmony_ci"\n"
7297db96d56Sopenharmony_ci"Return the reference count of object.\n"
7307db96d56Sopenharmony_ci"\n"
7317db96d56Sopenharmony_ci"The count returned is generally one higher than you might expect,\n"
7327db96d56Sopenharmony_ci"because it includes the (temporary) reference as an argument to\n"
7337db96d56Sopenharmony_ci"getrefcount().");
7347db96d56Sopenharmony_ci
7357db96d56Sopenharmony_ci#define SYS_GETREFCOUNT_METHODDEF    \
7367db96d56Sopenharmony_ci    {"getrefcount", (PyCFunction)sys_getrefcount, METH_O, sys_getrefcount__doc__},
7377db96d56Sopenharmony_ci
7387db96d56Sopenharmony_cistatic Py_ssize_t
7397db96d56Sopenharmony_cisys_getrefcount_impl(PyObject *module, PyObject *object);
7407db96d56Sopenharmony_ci
7417db96d56Sopenharmony_cistatic PyObject *
7427db96d56Sopenharmony_cisys_getrefcount(PyObject *module, PyObject *object)
7437db96d56Sopenharmony_ci{
7447db96d56Sopenharmony_ci    PyObject *return_value = NULL;
7457db96d56Sopenharmony_ci    Py_ssize_t _return_value;
7467db96d56Sopenharmony_ci
7477db96d56Sopenharmony_ci    _return_value = sys_getrefcount_impl(module, object);
7487db96d56Sopenharmony_ci    if ((_return_value == -1) && PyErr_Occurred()) {
7497db96d56Sopenharmony_ci        goto exit;
7507db96d56Sopenharmony_ci    }
7517db96d56Sopenharmony_ci    return_value = PyLong_FromSsize_t(_return_value);
7527db96d56Sopenharmony_ci
7537db96d56Sopenharmony_ciexit:
7547db96d56Sopenharmony_ci    return return_value;
7557db96d56Sopenharmony_ci}
7567db96d56Sopenharmony_ci
7577db96d56Sopenharmony_ci#if defined(Py_REF_DEBUG)
7587db96d56Sopenharmony_ci
7597db96d56Sopenharmony_ciPyDoc_STRVAR(sys_gettotalrefcount__doc__,
7607db96d56Sopenharmony_ci"gettotalrefcount($module, /)\n"
7617db96d56Sopenharmony_ci"--\n"
7627db96d56Sopenharmony_ci"\n");
7637db96d56Sopenharmony_ci
7647db96d56Sopenharmony_ci#define SYS_GETTOTALREFCOUNT_METHODDEF    \
7657db96d56Sopenharmony_ci    {"gettotalrefcount", (PyCFunction)sys_gettotalrefcount, METH_NOARGS, sys_gettotalrefcount__doc__},
7667db96d56Sopenharmony_ci
7677db96d56Sopenharmony_cistatic Py_ssize_t
7687db96d56Sopenharmony_cisys_gettotalrefcount_impl(PyObject *module);
7697db96d56Sopenharmony_ci
7707db96d56Sopenharmony_cistatic PyObject *
7717db96d56Sopenharmony_cisys_gettotalrefcount(PyObject *module, PyObject *Py_UNUSED(ignored))
7727db96d56Sopenharmony_ci{
7737db96d56Sopenharmony_ci    PyObject *return_value = NULL;
7747db96d56Sopenharmony_ci    Py_ssize_t _return_value;
7757db96d56Sopenharmony_ci
7767db96d56Sopenharmony_ci    _return_value = sys_gettotalrefcount_impl(module);
7777db96d56Sopenharmony_ci    if ((_return_value == -1) && PyErr_Occurred()) {
7787db96d56Sopenharmony_ci        goto exit;
7797db96d56Sopenharmony_ci    }
7807db96d56Sopenharmony_ci    return_value = PyLong_FromSsize_t(_return_value);
7817db96d56Sopenharmony_ci
7827db96d56Sopenharmony_ciexit:
7837db96d56Sopenharmony_ci    return return_value;
7847db96d56Sopenharmony_ci}
7857db96d56Sopenharmony_ci
7867db96d56Sopenharmony_ci#endif /* defined(Py_REF_DEBUG) */
7877db96d56Sopenharmony_ci
7887db96d56Sopenharmony_ciPyDoc_STRVAR(sys__getquickenedcount__doc__,
7897db96d56Sopenharmony_ci"_getquickenedcount($module, /)\n"
7907db96d56Sopenharmony_ci"--\n"
7917db96d56Sopenharmony_ci"\n");
7927db96d56Sopenharmony_ci
7937db96d56Sopenharmony_ci#define SYS__GETQUICKENEDCOUNT_METHODDEF    \
7947db96d56Sopenharmony_ci    {"_getquickenedcount", (PyCFunction)sys__getquickenedcount, METH_NOARGS, sys__getquickenedcount__doc__},
7957db96d56Sopenharmony_ci
7967db96d56Sopenharmony_cistatic Py_ssize_t
7977db96d56Sopenharmony_cisys__getquickenedcount_impl(PyObject *module);
7987db96d56Sopenharmony_ci
7997db96d56Sopenharmony_cistatic PyObject *
8007db96d56Sopenharmony_cisys__getquickenedcount(PyObject *module, PyObject *Py_UNUSED(ignored))
8017db96d56Sopenharmony_ci{
8027db96d56Sopenharmony_ci    PyObject *return_value = NULL;
8037db96d56Sopenharmony_ci    Py_ssize_t _return_value;
8047db96d56Sopenharmony_ci
8057db96d56Sopenharmony_ci    _return_value = sys__getquickenedcount_impl(module);
8067db96d56Sopenharmony_ci    if ((_return_value == -1) && PyErr_Occurred()) {
8077db96d56Sopenharmony_ci        goto exit;
8087db96d56Sopenharmony_ci    }
8097db96d56Sopenharmony_ci    return_value = PyLong_FromSsize_t(_return_value);
8107db96d56Sopenharmony_ci
8117db96d56Sopenharmony_ciexit:
8127db96d56Sopenharmony_ci    return return_value;
8137db96d56Sopenharmony_ci}
8147db96d56Sopenharmony_ci
8157db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getallocatedblocks__doc__,
8167db96d56Sopenharmony_ci"getallocatedblocks($module, /)\n"
8177db96d56Sopenharmony_ci"--\n"
8187db96d56Sopenharmony_ci"\n"
8197db96d56Sopenharmony_ci"Return the number of memory blocks currently allocated.");
8207db96d56Sopenharmony_ci
8217db96d56Sopenharmony_ci#define SYS_GETALLOCATEDBLOCKS_METHODDEF    \
8227db96d56Sopenharmony_ci    {"getallocatedblocks", (PyCFunction)sys_getallocatedblocks, METH_NOARGS, sys_getallocatedblocks__doc__},
8237db96d56Sopenharmony_ci
8247db96d56Sopenharmony_cistatic Py_ssize_t
8257db96d56Sopenharmony_cisys_getallocatedblocks_impl(PyObject *module);
8267db96d56Sopenharmony_ci
8277db96d56Sopenharmony_cistatic PyObject *
8287db96d56Sopenharmony_cisys_getallocatedblocks(PyObject *module, PyObject *Py_UNUSED(ignored))
8297db96d56Sopenharmony_ci{
8307db96d56Sopenharmony_ci    PyObject *return_value = NULL;
8317db96d56Sopenharmony_ci    Py_ssize_t _return_value;
8327db96d56Sopenharmony_ci
8337db96d56Sopenharmony_ci    _return_value = sys_getallocatedblocks_impl(module);
8347db96d56Sopenharmony_ci    if ((_return_value == -1) && PyErr_Occurred()) {
8357db96d56Sopenharmony_ci        goto exit;
8367db96d56Sopenharmony_ci    }
8377db96d56Sopenharmony_ci    return_value = PyLong_FromSsize_t(_return_value);
8387db96d56Sopenharmony_ci
8397db96d56Sopenharmony_ciexit:
8407db96d56Sopenharmony_ci    return return_value;
8417db96d56Sopenharmony_ci}
8427db96d56Sopenharmony_ci
8437db96d56Sopenharmony_ciPyDoc_STRVAR(sys__getframe__doc__,
8447db96d56Sopenharmony_ci"_getframe($module, depth=0, /)\n"
8457db96d56Sopenharmony_ci"--\n"
8467db96d56Sopenharmony_ci"\n"
8477db96d56Sopenharmony_ci"Return a frame object from the call stack.\n"
8487db96d56Sopenharmony_ci"\n"
8497db96d56Sopenharmony_ci"If optional integer depth is given, return the frame object that many\n"
8507db96d56Sopenharmony_ci"calls below the top of the stack.  If that is deeper than the call\n"
8517db96d56Sopenharmony_ci"stack, ValueError is raised.  The default for depth is zero, returning\n"
8527db96d56Sopenharmony_ci"the frame at the top of the call stack.\n"
8537db96d56Sopenharmony_ci"\n"
8547db96d56Sopenharmony_ci"This function should be used for internal and specialized purposes\n"
8557db96d56Sopenharmony_ci"only.");
8567db96d56Sopenharmony_ci
8577db96d56Sopenharmony_ci#define SYS__GETFRAME_METHODDEF    \
8587db96d56Sopenharmony_ci    {"_getframe", _PyCFunction_CAST(sys__getframe), METH_FASTCALL, sys__getframe__doc__},
8597db96d56Sopenharmony_ci
8607db96d56Sopenharmony_cistatic PyObject *
8617db96d56Sopenharmony_cisys__getframe_impl(PyObject *module, int depth);
8627db96d56Sopenharmony_ci
8637db96d56Sopenharmony_cistatic PyObject *
8647db96d56Sopenharmony_cisys__getframe(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
8657db96d56Sopenharmony_ci{
8667db96d56Sopenharmony_ci    PyObject *return_value = NULL;
8677db96d56Sopenharmony_ci    int depth = 0;
8687db96d56Sopenharmony_ci
8697db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("_getframe", nargs, 0, 1)) {
8707db96d56Sopenharmony_ci        goto exit;
8717db96d56Sopenharmony_ci    }
8727db96d56Sopenharmony_ci    if (nargs < 1) {
8737db96d56Sopenharmony_ci        goto skip_optional;
8747db96d56Sopenharmony_ci    }
8757db96d56Sopenharmony_ci    depth = _PyLong_AsInt(args[0]);
8767db96d56Sopenharmony_ci    if (depth == -1 && PyErr_Occurred()) {
8777db96d56Sopenharmony_ci        goto exit;
8787db96d56Sopenharmony_ci    }
8797db96d56Sopenharmony_ciskip_optional:
8807db96d56Sopenharmony_ci    return_value = sys__getframe_impl(module, depth);
8817db96d56Sopenharmony_ci
8827db96d56Sopenharmony_ciexit:
8837db96d56Sopenharmony_ci    return return_value;
8847db96d56Sopenharmony_ci}
8857db96d56Sopenharmony_ci
8867db96d56Sopenharmony_ciPyDoc_STRVAR(sys__current_frames__doc__,
8877db96d56Sopenharmony_ci"_current_frames($module, /)\n"
8887db96d56Sopenharmony_ci"--\n"
8897db96d56Sopenharmony_ci"\n"
8907db96d56Sopenharmony_ci"Return a dict mapping each thread\'s thread id to its current stack frame.\n"
8917db96d56Sopenharmony_ci"\n"
8927db96d56Sopenharmony_ci"This function should be used for specialized purposes only.");
8937db96d56Sopenharmony_ci
8947db96d56Sopenharmony_ci#define SYS__CURRENT_FRAMES_METHODDEF    \
8957db96d56Sopenharmony_ci    {"_current_frames", (PyCFunction)sys__current_frames, METH_NOARGS, sys__current_frames__doc__},
8967db96d56Sopenharmony_ci
8977db96d56Sopenharmony_cistatic PyObject *
8987db96d56Sopenharmony_cisys__current_frames_impl(PyObject *module);
8997db96d56Sopenharmony_ci
9007db96d56Sopenharmony_cistatic PyObject *
9017db96d56Sopenharmony_cisys__current_frames(PyObject *module, PyObject *Py_UNUSED(ignored))
9027db96d56Sopenharmony_ci{
9037db96d56Sopenharmony_ci    return sys__current_frames_impl(module);
9047db96d56Sopenharmony_ci}
9057db96d56Sopenharmony_ci
9067db96d56Sopenharmony_ciPyDoc_STRVAR(sys__current_exceptions__doc__,
9077db96d56Sopenharmony_ci"_current_exceptions($module, /)\n"
9087db96d56Sopenharmony_ci"--\n"
9097db96d56Sopenharmony_ci"\n"
9107db96d56Sopenharmony_ci"Return a dict mapping each thread\'s identifier to its current raised exception.\n"
9117db96d56Sopenharmony_ci"\n"
9127db96d56Sopenharmony_ci"This function should be used for specialized purposes only.");
9137db96d56Sopenharmony_ci
9147db96d56Sopenharmony_ci#define SYS__CURRENT_EXCEPTIONS_METHODDEF    \
9157db96d56Sopenharmony_ci    {"_current_exceptions", (PyCFunction)sys__current_exceptions, METH_NOARGS, sys__current_exceptions__doc__},
9167db96d56Sopenharmony_ci
9177db96d56Sopenharmony_cistatic PyObject *
9187db96d56Sopenharmony_cisys__current_exceptions_impl(PyObject *module);
9197db96d56Sopenharmony_ci
9207db96d56Sopenharmony_cistatic PyObject *
9217db96d56Sopenharmony_cisys__current_exceptions(PyObject *module, PyObject *Py_UNUSED(ignored))
9227db96d56Sopenharmony_ci{
9237db96d56Sopenharmony_ci    return sys__current_exceptions_impl(module);
9247db96d56Sopenharmony_ci}
9257db96d56Sopenharmony_ci
9267db96d56Sopenharmony_ciPyDoc_STRVAR(sys_call_tracing__doc__,
9277db96d56Sopenharmony_ci"call_tracing($module, func, args, /)\n"
9287db96d56Sopenharmony_ci"--\n"
9297db96d56Sopenharmony_ci"\n"
9307db96d56Sopenharmony_ci"Call func(*args), while tracing is enabled.\n"
9317db96d56Sopenharmony_ci"\n"
9327db96d56Sopenharmony_ci"The tracing state is saved, and restored afterwards.  This is intended\n"
9337db96d56Sopenharmony_ci"to be called from a debugger from a checkpoint, to recursively debug\n"
9347db96d56Sopenharmony_ci"some other code.");
9357db96d56Sopenharmony_ci
9367db96d56Sopenharmony_ci#define SYS_CALL_TRACING_METHODDEF    \
9377db96d56Sopenharmony_ci    {"call_tracing", _PyCFunction_CAST(sys_call_tracing), METH_FASTCALL, sys_call_tracing__doc__},
9387db96d56Sopenharmony_ci
9397db96d56Sopenharmony_cistatic PyObject *
9407db96d56Sopenharmony_cisys_call_tracing_impl(PyObject *module, PyObject *func, PyObject *funcargs);
9417db96d56Sopenharmony_ci
9427db96d56Sopenharmony_cistatic PyObject *
9437db96d56Sopenharmony_cisys_call_tracing(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
9447db96d56Sopenharmony_ci{
9457db96d56Sopenharmony_ci    PyObject *return_value = NULL;
9467db96d56Sopenharmony_ci    PyObject *func;
9477db96d56Sopenharmony_ci    PyObject *funcargs;
9487db96d56Sopenharmony_ci
9497db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("call_tracing", nargs, 2, 2)) {
9507db96d56Sopenharmony_ci        goto exit;
9517db96d56Sopenharmony_ci    }
9527db96d56Sopenharmony_ci    func = args[0];
9537db96d56Sopenharmony_ci    if (!PyTuple_Check(args[1])) {
9547db96d56Sopenharmony_ci        _PyArg_BadArgument("call_tracing", "argument 2", "tuple", args[1]);
9557db96d56Sopenharmony_ci        goto exit;
9567db96d56Sopenharmony_ci    }
9577db96d56Sopenharmony_ci    funcargs = args[1];
9587db96d56Sopenharmony_ci    return_value = sys_call_tracing_impl(module, func, funcargs);
9597db96d56Sopenharmony_ci
9607db96d56Sopenharmony_ciexit:
9617db96d56Sopenharmony_ci    return return_value;
9627db96d56Sopenharmony_ci}
9637db96d56Sopenharmony_ci
9647db96d56Sopenharmony_ciPyDoc_STRVAR(sys__debugmallocstats__doc__,
9657db96d56Sopenharmony_ci"_debugmallocstats($module, /)\n"
9667db96d56Sopenharmony_ci"--\n"
9677db96d56Sopenharmony_ci"\n"
9687db96d56Sopenharmony_ci"Print summary info to stderr about the state of pymalloc\'s structures.\n"
9697db96d56Sopenharmony_ci"\n"
9707db96d56Sopenharmony_ci"In Py_DEBUG mode, also perform some expensive internal consistency\n"
9717db96d56Sopenharmony_ci"checks.");
9727db96d56Sopenharmony_ci
9737db96d56Sopenharmony_ci#define SYS__DEBUGMALLOCSTATS_METHODDEF    \
9747db96d56Sopenharmony_ci    {"_debugmallocstats", (PyCFunction)sys__debugmallocstats, METH_NOARGS, sys__debugmallocstats__doc__},
9757db96d56Sopenharmony_ci
9767db96d56Sopenharmony_cistatic PyObject *
9777db96d56Sopenharmony_cisys__debugmallocstats_impl(PyObject *module);
9787db96d56Sopenharmony_ci
9797db96d56Sopenharmony_cistatic PyObject *
9807db96d56Sopenharmony_cisys__debugmallocstats(PyObject *module, PyObject *Py_UNUSED(ignored))
9817db96d56Sopenharmony_ci{
9827db96d56Sopenharmony_ci    return sys__debugmallocstats_impl(module);
9837db96d56Sopenharmony_ci}
9847db96d56Sopenharmony_ci
9857db96d56Sopenharmony_ciPyDoc_STRVAR(sys__clear_type_cache__doc__,
9867db96d56Sopenharmony_ci"_clear_type_cache($module, /)\n"
9877db96d56Sopenharmony_ci"--\n"
9887db96d56Sopenharmony_ci"\n"
9897db96d56Sopenharmony_ci"Clear the internal type lookup cache.");
9907db96d56Sopenharmony_ci
9917db96d56Sopenharmony_ci#define SYS__CLEAR_TYPE_CACHE_METHODDEF    \
9927db96d56Sopenharmony_ci    {"_clear_type_cache", (PyCFunction)sys__clear_type_cache, METH_NOARGS, sys__clear_type_cache__doc__},
9937db96d56Sopenharmony_ci
9947db96d56Sopenharmony_cistatic PyObject *
9957db96d56Sopenharmony_cisys__clear_type_cache_impl(PyObject *module);
9967db96d56Sopenharmony_ci
9977db96d56Sopenharmony_cistatic PyObject *
9987db96d56Sopenharmony_cisys__clear_type_cache(PyObject *module, PyObject *Py_UNUSED(ignored))
9997db96d56Sopenharmony_ci{
10007db96d56Sopenharmony_ci    return sys__clear_type_cache_impl(module);
10017db96d56Sopenharmony_ci}
10027db96d56Sopenharmony_ci
10037db96d56Sopenharmony_ciPyDoc_STRVAR(sys_is_finalizing__doc__,
10047db96d56Sopenharmony_ci"is_finalizing($module, /)\n"
10057db96d56Sopenharmony_ci"--\n"
10067db96d56Sopenharmony_ci"\n"
10077db96d56Sopenharmony_ci"Return True if Python is exiting.");
10087db96d56Sopenharmony_ci
10097db96d56Sopenharmony_ci#define SYS_IS_FINALIZING_METHODDEF    \
10107db96d56Sopenharmony_ci    {"is_finalizing", (PyCFunction)sys_is_finalizing, METH_NOARGS, sys_is_finalizing__doc__},
10117db96d56Sopenharmony_ci
10127db96d56Sopenharmony_cistatic PyObject *
10137db96d56Sopenharmony_cisys_is_finalizing_impl(PyObject *module);
10147db96d56Sopenharmony_ci
10157db96d56Sopenharmony_cistatic PyObject *
10167db96d56Sopenharmony_cisys_is_finalizing(PyObject *module, PyObject *Py_UNUSED(ignored))
10177db96d56Sopenharmony_ci{
10187db96d56Sopenharmony_ci    return sys_is_finalizing_impl(module);
10197db96d56Sopenharmony_ci}
10207db96d56Sopenharmony_ci
10217db96d56Sopenharmony_ci#if defined(ANDROID_API_LEVEL)
10227db96d56Sopenharmony_ci
10237db96d56Sopenharmony_ciPyDoc_STRVAR(sys_getandroidapilevel__doc__,
10247db96d56Sopenharmony_ci"getandroidapilevel($module, /)\n"
10257db96d56Sopenharmony_ci"--\n"
10267db96d56Sopenharmony_ci"\n"
10277db96d56Sopenharmony_ci"Return the build time API version of Android as an integer.");
10287db96d56Sopenharmony_ci
10297db96d56Sopenharmony_ci#define SYS_GETANDROIDAPILEVEL_METHODDEF    \
10307db96d56Sopenharmony_ci    {"getandroidapilevel", (PyCFunction)sys_getandroidapilevel, METH_NOARGS, sys_getandroidapilevel__doc__},
10317db96d56Sopenharmony_ci
10327db96d56Sopenharmony_cistatic PyObject *
10337db96d56Sopenharmony_cisys_getandroidapilevel_impl(PyObject *module);
10347db96d56Sopenharmony_ci
10357db96d56Sopenharmony_cistatic PyObject *
10367db96d56Sopenharmony_cisys_getandroidapilevel(PyObject *module, PyObject *Py_UNUSED(ignored))
10377db96d56Sopenharmony_ci{
10387db96d56Sopenharmony_ci    return sys_getandroidapilevel_impl(module);
10397db96d56Sopenharmony_ci}
10407db96d56Sopenharmony_ci
10417db96d56Sopenharmony_ci#endif /* defined(ANDROID_API_LEVEL) */
10427db96d56Sopenharmony_ci
10437db96d56Sopenharmony_ci#ifndef SYS_GETWINDOWSVERSION_METHODDEF
10447db96d56Sopenharmony_ci    #define SYS_GETWINDOWSVERSION_METHODDEF
10457db96d56Sopenharmony_ci#endif /* !defined(SYS_GETWINDOWSVERSION_METHODDEF) */
10467db96d56Sopenharmony_ci
10477db96d56Sopenharmony_ci#ifndef SYS__ENABLELEGACYWINDOWSFSENCODING_METHODDEF
10487db96d56Sopenharmony_ci    #define SYS__ENABLELEGACYWINDOWSFSENCODING_METHODDEF
10497db96d56Sopenharmony_ci#endif /* !defined(SYS__ENABLELEGACYWINDOWSFSENCODING_METHODDEF) */
10507db96d56Sopenharmony_ci
10517db96d56Sopenharmony_ci#ifndef SYS_SETDLOPENFLAGS_METHODDEF
10527db96d56Sopenharmony_ci    #define SYS_SETDLOPENFLAGS_METHODDEF
10537db96d56Sopenharmony_ci#endif /* !defined(SYS_SETDLOPENFLAGS_METHODDEF) */
10547db96d56Sopenharmony_ci
10557db96d56Sopenharmony_ci#ifndef SYS_GETDLOPENFLAGS_METHODDEF
10567db96d56Sopenharmony_ci    #define SYS_GETDLOPENFLAGS_METHODDEF
10577db96d56Sopenharmony_ci#endif /* !defined(SYS_GETDLOPENFLAGS_METHODDEF) */
10587db96d56Sopenharmony_ci
10597db96d56Sopenharmony_ci#ifndef SYS_MDEBUG_METHODDEF
10607db96d56Sopenharmony_ci    #define SYS_MDEBUG_METHODDEF
10617db96d56Sopenharmony_ci#endif /* !defined(SYS_MDEBUG_METHODDEF) */
10627db96d56Sopenharmony_ci
10637db96d56Sopenharmony_ci#ifndef SYS_GETTOTALREFCOUNT_METHODDEF
10647db96d56Sopenharmony_ci    #define SYS_GETTOTALREFCOUNT_METHODDEF
10657db96d56Sopenharmony_ci#endif /* !defined(SYS_GETTOTALREFCOUNT_METHODDEF) */
10667db96d56Sopenharmony_ci
10677db96d56Sopenharmony_ci#ifndef SYS_GETANDROIDAPILEVEL_METHODDEF
10687db96d56Sopenharmony_ci    #define SYS_GETANDROIDAPILEVEL_METHODDEF
10697db96d56Sopenharmony_ci#endif /* !defined(SYS_GETANDROIDAPILEVEL_METHODDEF) */
10707db96d56Sopenharmony_ci/*[clinic end generated code: output=3cae0e0212d88bcd input=a9049054013a1b77]*/
1071