mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 22:02:27 +00:00
Improve Python tree-shaking
This commit is contained in:
parent
5bb2275788
commit
4f41f2184d
169 changed files with 4182 additions and 2411 deletions
2
third_party/python/Modules/_asynciomodule.c
vendored
2
third_party/python/Modules/_asynciomodule.c
vendored
|
@ -24,6 +24,8 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_asyncio");
|
||||
PYTHON_PROVIDE("_asyncio.Future");
|
||||
PYTHON_PROVIDE("_asyncio.Task");
|
||||
|
||||
/*[clinic input]
|
||||
module _asyncio
|
||||
|
|
6
third_party/python/Modules/_bisectmodule.c
vendored
6
third_party/python/Modules/_bisectmodule.c
vendored
|
@ -15,6 +15,12 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_bisect");
|
||||
PYTHON_PROVIDE("_bisect.bisect");
|
||||
PYTHON_PROVIDE("_bisect.bisect_left");
|
||||
PYTHON_PROVIDE("_bisect.bisect_right");
|
||||
PYTHON_PROVIDE("_bisect.insort");
|
||||
PYTHON_PROVIDE("_bisect.insort_left");
|
||||
PYTHON_PROVIDE("_bisect.insort_right");
|
||||
|
||||
/* Bisection algorithms. Drop in replacement for bisect.py
|
||||
|
||||
|
|
31
third_party/python/Modules/_bz2module.c
vendored
31
third_party/python/Modules/_bz2module.c
vendored
|
@ -1,10 +1,26 @@
|
|||
/* clang-format off */
|
||||
/* _bz2 - Low-level Python interface to libbzip2. */
|
||||
|
||||
/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:4;tab-width:8;coding:utf-8 -*-│
|
||||
│vi: set net ft=c ts=4 sts=4 sw=4 fenc=utf-8 :vi│
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Python 3 │
|
||||
│ https://docs.python.org/3/license.html │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#define PY_SSIZE_T_CLEAN
|
||||
|
||||
#include "third_party/python/Include/Python.h"
|
||||
#include "third_party/bzip2/bzlib.h"
|
||||
#include "third_party/python/Include/abstract.h"
|
||||
#include "third_party/python/Include/bytesobject.h"
|
||||
#include "third_party/python/Include/ceval.h"
|
||||
#include "third_party/python/Include/modsupport.h"
|
||||
#include "third_party/python/Include/object.h"
|
||||
#include "third_party/python/Include/pyerrors.h"
|
||||
#include "third_party/python/Include/pymacro.h"
|
||||
#include "third_party/python/Include/pymem.h"
|
||||
#include "third_party/python/Include/structmember.h"
|
||||
#include "third_party/python/Include/yoink.h"
|
||||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_bz2");
|
||||
PYTHON_PROVIDE("_bz2.BZ2Compressor");
|
||||
PYTHON_PROVIDE("_bz2.BZ2Decompressor");
|
||||
|
||||
#ifdef WITH_THREAD
|
||||
#include "third_party/python/Include/pythread.h"
|
||||
|
@ -17,8 +33,7 @@
|
|||
#define BZ2_bzDecompress bzDecompress
|
||||
#define BZ2_bzDecompressInit bzDecompressInit
|
||||
#define BZ2_bzDecompressEnd bzDecompressEnd
|
||||
#endif /* ! BZ_CONFIG_ERROR */
|
||||
|
||||
#endif /* !BZ_CONFIG_ERROR */
|
||||
|
||||
#ifdef WITH_THREAD
|
||||
#define ACQUIRE_LOCK(obj) do { \
|
||||
|
@ -33,7 +48,6 @@
|
|||
#define RELEASE_LOCK(obj)
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
bz_stream bzs;
|
||||
|
@ -76,7 +90,6 @@ catch_bz2_error(int bzerror)
|
|||
case BZ_FINISH_OK:
|
||||
case BZ_STREAM_END:
|
||||
return 0;
|
||||
|
||||
#ifdef BZ_CONFIG_ERROR
|
||||
case BZ_CONFIG_ERROR:
|
||||
PyErr_SetString(PyExc_SystemError,
|
||||
|
|
41
third_party/python/Modules/_codecsmodule.c
vendored
41
third_party/python/Modules/_codecsmodule.c
vendored
|
@ -18,6 +18,47 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_codecs");
|
||||
PYTHON_PROVIDE("_codecs._forget_codec");
|
||||
PYTHON_PROVIDE("_codecs.ascii_decode");
|
||||
PYTHON_PROVIDE("_codecs.ascii_encode");
|
||||
PYTHON_PROVIDE("_codecs.charmap_build");
|
||||
PYTHON_PROVIDE("_codecs.charmap_decode");
|
||||
PYTHON_PROVIDE("_codecs.charmap_encode");
|
||||
PYTHON_PROVIDE("_codecs.decode");
|
||||
PYTHON_PROVIDE("_codecs.encode");
|
||||
PYTHON_PROVIDE("_codecs.escape_decode");
|
||||
PYTHON_PROVIDE("_codecs.escape_encode");
|
||||
PYTHON_PROVIDE("_codecs.latin_1_decode");
|
||||
PYTHON_PROVIDE("_codecs.latin_1_encode");
|
||||
PYTHON_PROVIDE("_codecs.lookup");
|
||||
PYTHON_PROVIDE("_codecs.lookup_error");
|
||||
PYTHON_PROVIDE("_codecs.raw_unicode_escape_decode");
|
||||
PYTHON_PROVIDE("_codecs.raw_unicode_escape_encode");
|
||||
PYTHON_PROVIDE("_codecs.readbuffer_encode");
|
||||
PYTHON_PROVIDE("_codecs.register");
|
||||
PYTHON_PROVIDE("_codecs.register_error");
|
||||
PYTHON_PROVIDE("_codecs.unicode_escape_decode");
|
||||
PYTHON_PROVIDE("_codecs.unicode_escape_encode");
|
||||
PYTHON_PROVIDE("_codecs.unicode_internal_decode");
|
||||
PYTHON_PROVIDE("_codecs.unicode_internal_encode");
|
||||
PYTHON_PROVIDE("_codecs.utf_16_be_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_16_be_encode");
|
||||
PYTHON_PROVIDE("_codecs.utf_16_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_16_encode");
|
||||
PYTHON_PROVIDE("_codecs.utf_16_ex_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_16_le_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_16_le_encode");
|
||||
PYTHON_PROVIDE("_codecs.utf_32_be_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_32_be_encode");
|
||||
PYTHON_PROVIDE("_codecs.utf_32_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_32_encode");
|
||||
PYTHON_PROVIDE("_codecs.utf_32_ex_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_32_le_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_32_le_encode");
|
||||
PYTHON_PROVIDE("_codecs.utf_7_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_7_encode");
|
||||
PYTHON_PROVIDE("_codecs.utf_8_decode");
|
||||
PYTHON_PROVIDE("_codecs.utf_8_encode");
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -17,6 +17,12 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_collections");
|
||||
PYTHON_PROVIDE("_collections.OrderedDict");
|
||||
PYTHON_PROVIDE("_collections._count_elements");
|
||||
PYTHON_PROVIDE("_collections._deque_iterator");
|
||||
PYTHON_PROVIDE("_collections._deque_reverse_iterator");
|
||||
PYTHON_PROVIDE("_collections.defaultdict");
|
||||
PYTHON_PROVIDE("_collections.deque");
|
||||
|
||||
/* collections module implementation of a deque() datatype
|
||||
Written and maintained by Raymond D. Hettinger <python@rcn.com>
|
||||
|
|
1
third_party/python/Modules/_cryptmodule.c
vendored
1
third_party/python/Modules/_cryptmodule.c
vendored
|
@ -11,6 +11,7 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_crypt");
|
||||
PYTHON_PROVIDE("_crypt.crypt");
|
||||
|
||||
/* cryptmodule.c - by Steve Majewski
|
||||
*/
|
||||
|
|
26
third_party/python/Modules/_csv.c
vendored
26
third_party/python/Modules/_csv.c
vendored
|
@ -1,3 +1,9 @@
|
|||
/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:4;tab-width:8;coding:utf-8 -*-│
|
||||
│vi: set net ft=c ts=4 sts=4 sw=4 fenc=utf-8 :vi│
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Python 3 │
|
||||
│ https://docs.python.org/3/license.html │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "third_party/python/Include/abstract.h"
|
||||
#include "third_party/python/Include/descrobject.h"
|
||||
#include "third_party/python/Include/dictobject.h"
|
||||
|
@ -14,6 +20,26 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_csv");
|
||||
PYTHON_PROVIDE("_csv.Dialect");
|
||||
PYTHON_PROVIDE("_csv.Error");
|
||||
PYTHON_PROVIDE("_csv.QUOTE_ALL");
|
||||
PYTHON_PROVIDE("_csv.QUOTE_MINIMAL");
|
||||
PYTHON_PROVIDE("_csv.QUOTE_NONE");
|
||||
PYTHON_PROVIDE("_csv.QUOTE_NONNUMERIC");
|
||||
PYTHON_PROVIDE("_csv.__doc__");
|
||||
PYTHON_PROVIDE("_csv.__loader__");
|
||||
PYTHON_PROVIDE("_csv.__name__");
|
||||
PYTHON_PROVIDE("_csv.__package__");
|
||||
PYTHON_PROVIDE("_csv.__spec__");
|
||||
PYTHON_PROVIDE("_csv.__version__");
|
||||
PYTHON_PROVIDE("_csv._dialects");
|
||||
PYTHON_PROVIDE("_csv.field_size_limit");
|
||||
PYTHON_PROVIDE("_csv.get_dialect");
|
||||
PYTHON_PROVIDE("_csv.list_dialects");
|
||||
PYTHON_PROVIDE("_csv.reader");
|
||||
PYTHON_PROVIDE("_csv.register_dialect");
|
||||
PYTHON_PROVIDE("_csv.unregister_dialect");
|
||||
PYTHON_PROVIDE("_csv.writer");
|
||||
|
||||
/*
|
||||
|
||||
|
|
6
third_party/python/Modules/_curses_panel.c
vendored
6
third_party/python/Modules/_curses_panel.c
vendored
|
@ -8,6 +8,12 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_curses_panel");
|
||||
PYTHON_PROVIDE("_curses_panel.bottom_panel");
|
||||
PYTHON_PROVIDE("_curses_panel.error");
|
||||
PYTHON_PROVIDE("_curses_panel.new_panel");
|
||||
PYTHON_PROVIDE("_curses_panel.top_panel");
|
||||
PYTHON_PROVIDE("_curses_panel.update_panels");
|
||||
PYTHON_PROVIDE("_curses_panel.version");
|
||||
|
||||
/*
|
||||
* Interface to the ncurses panel library
|
||||
|
|
14
third_party/python/Modules/_datetimemodule.c
vendored
14
third_party/python/Modules/_datetimemodule.c
vendored
|
@ -29,6 +29,20 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_datetime");
|
||||
PYTHON_PROVIDE("_datetime.MAXYEAR");
|
||||
PYTHON_PROVIDE("_datetime.MINYEAR");
|
||||
PYTHON_PROVIDE("_datetime.__doc__");
|
||||
PYTHON_PROVIDE("_datetime.__loader__");
|
||||
PYTHON_PROVIDE("_datetime.__name__");
|
||||
PYTHON_PROVIDE("_datetime.__package__");
|
||||
PYTHON_PROVIDE("_datetime.__spec__");
|
||||
PYTHON_PROVIDE("_datetime.date");
|
||||
PYTHON_PROVIDE("_datetime.datetime");
|
||||
PYTHON_PROVIDE("_datetime.datetime_CAPI");
|
||||
PYTHON_PROVIDE("_datetime.time");
|
||||
PYTHON_PROVIDE("_datetime.timedelta");
|
||||
PYTHON_PROVIDE("_datetime.timezone");
|
||||
PYTHON_PROVIDE("_datetime.tzinfo");
|
||||
|
||||
/* C implementation for the date/time type documented at
|
||||
* http://www.zope.org/Members/fdrake/DateTimeWiki/FrontPage
|
||||
|
|
48
third_party/python/Modules/_decimal/_decimal.c
vendored
48
third_party/python/Modules/_decimal/_decimal.c
vendored
|
@ -51,6 +51,49 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_decimal");
|
||||
PYTHON_PROVIDE("_decimal.BasicContext");
|
||||
PYTHON_PROVIDE("_decimal.Clamped");
|
||||
PYTHON_PROVIDE("_decimal.Context");
|
||||
PYTHON_PROVIDE("_decimal.ConversionSyntax");
|
||||
PYTHON_PROVIDE("_decimal.Decimal");
|
||||
PYTHON_PROVIDE("_decimal.DecimalException");
|
||||
PYTHON_PROVIDE("_decimal.DecimalTuple");
|
||||
PYTHON_PROVIDE("_decimal.DefaultContext");
|
||||
PYTHON_PROVIDE("_decimal.DivisionByZero");
|
||||
PYTHON_PROVIDE("_decimal.DivisionImpossible");
|
||||
PYTHON_PROVIDE("_decimal.DivisionUndefined");
|
||||
PYTHON_PROVIDE("_decimal.ExtendedContext");
|
||||
PYTHON_PROVIDE("_decimal.FloatOperation");
|
||||
PYTHON_PROVIDE("_decimal.HAVE_THREADS");
|
||||
PYTHON_PROVIDE("_decimal.Inexact");
|
||||
PYTHON_PROVIDE("_decimal.InvalidContext");
|
||||
PYTHON_PROVIDE("_decimal.InvalidOperation");
|
||||
PYTHON_PROVIDE("_decimal.MAX_EMAX");
|
||||
PYTHON_PROVIDE("_decimal.MAX_PREC");
|
||||
PYTHON_PROVIDE("_decimal.MIN_EMIN");
|
||||
PYTHON_PROVIDE("_decimal.MIN_ETINY");
|
||||
PYTHON_PROVIDE("_decimal.Overflow");
|
||||
PYTHON_PROVIDE("_decimal.ROUND_05UP");
|
||||
PYTHON_PROVIDE("_decimal.ROUND_CEILING");
|
||||
PYTHON_PROVIDE("_decimal.ROUND_DOWN");
|
||||
PYTHON_PROVIDE("_decimal.ROUND_FLOOR");
|
||||
PYTHON_PROVIDE("_decimal.ROUND_HALF_DOWN");
|
||||
PYTHON_PROVIDE("_decimal.ROUND_HALF_EVEN");
|
||||
PYTHON_PROVIDE("_decimal.ROUND_HALF_UP");
|
||||
PYTHON_PROVIDE("_decimal.ROUND_UP");
|
||||
PYTHON_PROVIDE("_decimal.Rounded");
|
||||
PYTHON_PROVIDE("_decimal.Subnormal");
|
||||
PYTHON_PROVIDE("_decimal.Underflow");
|
||||
PYTHON_PROVIDE("_decimal.__doc__");
|
||||
PYTHON_PROVIDE("_decimal.__libmpdec_version__");
|
||||
PYTHON_PROVIDE("_decimal.__loader__");
|
||||
PYTHON_PROVIDE("_decimal.__name__");
|
||||
PYTHON_PROVIDE("_decimal.__package__");
|
||||
PYTHON_PROVIDE("_decimal.__spec__");
|
||||
PYTHON_PROVIDE("_decimal.__version__");
|
||||
PYTHON_PROVIDE("_decimal.getcontext");
|
||||
PYTHON_PROVIDE("_decimal.localcontext");
|
||||
PYTHON_PROVIDE("_decimal.setcontext");
|
||||
|
||||
asm(".ident\t\"\\n\
|
||||
libmpdec (BSD-2)\\n\
|
||||
|
@ -5948,3 +5991,8 @@ error:
|
|||
|
||||
return NULL; /* GCOV_NOT_REACHED */
|
||||
}
|
||||
|
||||
_Section(".rodata.pytab") struct _inittab _PyImport_Inittab__decimal = {
|
||||
"_decimal",
|
||||
PyInit__decimal,
|
||||
};
|
||||
|
|
5
third_party/python/Modules/_elementtree.c
vendored
5
third_party/python/Modules/_elementtree.c
vendored
|
@ -26,6 +26,11 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_elementtree");
|
||||
PYTHON_PROVIDE("_elementtree.Element");
|
||||
PYTHON_PROVIDE("_elementtree.ParseError");
|
||||
PYTHON_PROVIDE("_elementtree.SubElement");
|
||||
PYTHON_PROVIDE("_elementtree.TreeBuilder");
|
||||
PYTHON_PROVIDE("_elementtree.XMLParser");
|
||||
|
||||
/*--------------------------------------------------------------------
|
||||
* Licensed to PSF under a Contributor Agreement.
|
||||
|
|
|
@ -21,6 +21,10 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_functools");
|
||||
PYTHON_PROVIDE("_functools._lru_cache_wrapper");
|
||||
PYTHON_PROVIDE("_functools.cmp_to_key");
|
||||
PYTHON_PROVIDE("_functools.partial");
|
||||
PYTHON_PROVIDE("_functools.reduce");
|
||||
|
||||
/* _functools module written and maintained
|
||||
by Hye-Shik Chang <perky@FreeBSD.org>
|
||||
|
|
342
third_party/python/Modules/_hashopenssl.c
vendored
342
third_party/python/Modules/_hashopenssl.c
vendored
|
@ -1,30 +1,33 @@
|
|||
/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:4;tab-width:8;coding:utf-8 -*-│
|
||||
│vi: set net ft=c ts=4 sts=4 sw=4 fenc=utf-8 :vi│
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Python 3 │
|
||||
│ https://docs.python.org/3/license.html │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#define PY_SSIZE_T_CLEAN
|
||||
#include "third_party/mbedtls/md.h"
|
||||
#include "third_party/python/Include/Python.h"
|
||||
#include "third_party/python/Include/hashlib.h"
|
||||
#include "third_party/python/Include/pystrhex.h"
|
||||
#include "third_party/python/Include/structmember.h"
|
||||
#include "third_party/python/Include/yoink.h"
|
||||
#include "third_party/python/Modules/hashlib.h"
|
||||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_hashlib");
|
||||
|
||||
/* Module that wraps all OpenSSL hash algorithms */
|
||||
/*
|
||||
* Copyright (C) 2005-2010 Gregory P. Smith (greg@krypto.org)
|
||||
* Licensed to PSF under a Contributor Agreement.
|
||||
*
|
||||
* Derived from a skeleton of shamodule.c containing work performed by:
|
||||
*
|
||||
* Andrew Kuchling (amk@amk.ca)
|
||||
* Greg Stein (gstein@lyra.org)
|
||||
*
|
||||
*/
|
||||
|
||||
/* EVP is the preferred interface to hashing in OpenSSL */
|
||||
#include <openssl/evp.h>
|
||||
/* We use the object interface to discover what hashes OpenSSL supports. */
|
||||
#include <openssl/objects.h>
|
||||
#include "openssl/err.h"
|
||||
PYTHON_PROVIDE("_hashlib.HASH");
|
||||
PYTHON_PROVIDE("_hashlib.__doc__");
|
||||
PYTHON_PROVIDE("_hashlib.__loader__");
|
||||
PYTHON_PROVIDE("_hashlib.__name__");
|
||||
PYTHON_PROVIDE("_hashlib.__package__");
|
||||
PYTHON_PROVIDE("_hashlib.__spec__");
|
||||
PYTHON_PROVIDE("_hashlib.new");
|
||||
PYTHON_PROVIDE("_hashlib.openssl_md5");
|
||||
PYTHON_PROVIDE("_hashlib.openssl_md_meth_names");
|
||||
PYTHON_PROVIDE("_hashlib.openssl_sha1");
|
||||
PYTHON_PROVIDE("_hashlib.openssl_sha224");
|
||||
PYTHON_PROVIDE("_hashlib.openssl_sha256");
|
||||
PYTHON_PROVIDE("_hashlib.openssl_sha384");
|
||||
PYTHON_PROVIDE("_hashlib.openssl_sha512");
|
||||
|
||||
#include "third_party/python/Modules/clinic/_hashopenssl.inc"
|
||||
/*[clinic input]
|
||||
|
@ -38,34 +41,26 @@ module _hashlib
|
|||
#define HASH_OBJ_CONSTRUCTOR 0
|
||||
#endif
|
||||
|
||||
#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
/* OpenSSL < 1.1.0 */
|
||||
#define EVP_MD_CTX_new EVP_MD_CTX_create
|
||||
#define EVP_MD_CTX_free EVP_MD_CTX_destroy
|
||||
#define HAS_FAST_PKCS5_PBKDF2_HMAC 0
|
||||
#include <openssl/hmac.h>
|
||||
#else
|
||||
/* OpenSSL >= 1.1.0 */
|
||||
#define HAS_FAST_PKCS5_PBKDF2_HMAC 1
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
PyObject *name; /* name of this hash algorithm */
|
||||
EVP_MD_CTX *ctx; /* OpenSSL message digest context */
|
||||
PyObject *name;
|
||||
mbedtls_md_context_t *ctx;
|
||||
#ifdef WITH_THREAD
|
||||
PyThread_type_lock lock; /* OpenSSL context lock */
|
||||
PyThread_type_lock lock;
|
||||
#endif
|
||||
} EVPobject;
|
||||
|
||||
|
||||
static PyTypeObject EVPtype;
|
||||
|
||||
static PyObject *CONST_md5_name_obj;
|
||||
static PyObject *CONST_sha1_name_obj;
|
||||
static PyObject *CONST_sha224_name_obj;
|
||||
static PyObject *CONST_sha256_name_obj;
|
||||
static PyObject *CONST_sha384_name_obj;
|
||||
static PyObject *CONST_sha512_name_obj;
|
||||
|
||||
#define DEFINE_CONSTS_FOR_NEW(Name) \
|
||||
static PyObject *CONST_ ## Name ## _name_obj = NULL; \
|
||||
static EVP_MD_CTX *CONST_new_ ## Name ## _ctx_p = NULL;
|
||||
static mbedtls_md_context_t *CONST_new_ ## Name ## _ctx_p = NULL;
|
||||
|
||||
DEFINE_CONSTS_FOR_NEW(md5)
|
||||
DEFINE_CONSTS_FOR_NEW(sha1)
|
||||
|
@ -74,34 +69,31 @@ DEFINE_CONSTS_FOR_NEW(sha256)
|
|||
DEFINE_CONSTS_FOR_NEW(sha384)
|
||||
DEFINE_CONSTS_FOR_NEW(sha512)
|
||||
|
||||
|
||||
/* LCOV_EXCL_START */
|
||||
static PyObject *
|
||||
_setException(PyObject *exc)
|
||||
{
|
||||
unsigned long errcode;
|
||||
const char *lib, *func, *reason;
|
||||
|
||||
errcode = ERR_peek_last_error();
|
||||
if (!errcode) {
|
||||
PyErr_SetString(exc, "unknown reasons");
|
||||
return NULL;
|
||||
}
|
||||
ERR_clear_error();
|
||||
|
||||
lib = ERR_lib_error_string(errcode);
|
||||
func = ERR_func_error_string(errcode);
|
||||
reason = ERR_reason_error_string(errcode);
|
||||
|
||||
if (lib && func) {
|
||||
PyErr_Format(exc, "[%s: %s] %s", lib, func, reason);
|
||||
}
|
||||
else if (lib) {
|
||||
PyErr_Format(exc, "[%s] %s", lib, reason);
|
||||
}
|
||||
else {
|
||||
PyErr_SetString(exc, reason);
|
||||
}
|
||||
/* unsigned long errcode; */
|
||||
/* const char *lib, *func, *reason; */
|
||||
/* errcode = ERR_peek_last_error(); */
|
||||
/* if (!errcode) { */
|
||||
/* PyErr_SetString(exc, "unknown reasons"); */
|
||||
/* return NULL; */
|
||||
/* } */
|
||||
/* ERR_clear_error(); */
|
||||
/* lib = ERR_lib_error_string(errcode); */
|
||||
/* func = ERR_func_error_string(errcode); */
|
||||
/* reason = ERR_reason_error_string(errcode); */
|
||||
/* if (lib && func) { */
|
||||
/* PyErr_Format(exc, "[%s: %s] %s", lib, func, reason); */
|
||||
/* } */
|
||||
/* else if (lib) { */
|
||||
/* PyErr_Format(exc, "[%s] %s", lib, reason); */
|
||||
/* } */
|
||||
/* else { */
|
||||
/* PyErr_SetString(exc, reason); */
|
||||
/* } */
|
||||
PyErr_SetString(exc, "failhouse");
|
||||
return NULL;
|
||||
}
|
||||
/* LCOV_EXCL_STOP */
|
||||
|
@ -113,20 +105,17 @@ newEVPobject(PyObject *name)
|
|||
if (retval == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
retval->ctx = EVP_MD_CTX_new();
|
||||
retval->ctx = calloc(1, sizeof(mbedtls_md_context_t));
|
||||
if (retval->ctx == NULL) {
|
||||
PyErr_NoMemory();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* save the name for .name to return */
|
||||
Py_INCREF(name);
|
||||
retval->name = name;
|
||||
#ifdef WITH_THREAD
|
||||
retval->lock = NULL;
|
||||
#endif
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
@ -140,7 +129,7 @@ EVP_hash(EVPobject *self, const void *vp, Py_ssize_t len)
|
|||
process = MUNCH_SIZE;
|
||||
else
|
||||
process = Py_SAFE_DOWNCAST(len, Py_ssize_t, unsigned int);
|
||||
if (!EVP_DigestUpdate(self->ctx, (const void*)cp, process)) {
|
||||
if (!mbedtls_md_update(self->ctx, (const void*)cp, process)) {
|
||||
_setException(PyExc_ValueError);
|
||||
break;
|
||||
}
|
||||
|
@ -158,17 +147,19 @@ EVP_dealloc(EVPobject *self)
|
|||
if (self->lock != NULL)
|
||||
PyThread_free_lock(self->lock);
|
||||
#endif
|
||||
EVP_MD_CTX_free(self->ctx);
|
||||
mbedtls_md_free(self->ctx);
|
||||
free(self->ctx);
|
||||
Py_XDECREF(self->name);
|
||||
PyObject_Del(self);
|
||||
}
|
||||
|
||||
static int
|
||||
locked_EVP_MD_CTX_copy(EVP_MD_CTX *new_ctx_p, EVPobject *self)
|
||||
locked_mbedtls_md_clone(mbedtls_md_context_t *new_ctx_p, EVPobject *self)
|
||||
{
|
||||
int result;
|
||||
ENTER_HASHLIB(self);
|
||||
result = EVP_MD_CTX_copy(new_ctx_p, self->ctx);
|
||||
result = mbedtls_md_clone(new_ctx_p, self->ctx);
|
||||
result = 0;
|
||||
LEAVE_HASHLIB(self);
|
||||
return result;
|
||||
}
|
||||
|
@ -177,16 +168,13 @@ locked_EVP_MD_CTX_copy(EVP_MD_CTX *new_ctx_p, EVPobject *self)
|
|||
|
||||
PyDoc_STRVAR(EVP_copy__doc__, "Return a copy of the hash object.");
|
||||
|
||||
|
||||
static PyObject *
|
||||
EVP_copy(EVPobject *self, PyObject *unused)
|
||||
{
|
||||
EVPobject *newobj;
|
||||
|
||||
if ( (newobj = newEVPobject(self->name))==NULL)
|
||||
return NULL;
|
||||
|
||||
if (!locked_EVP_MD_CTX_copy(newobj->ctx, self)) {
|
||||
if (!locked_mbedtls_md_clone(newobj->ctx, self)) {
|
||||
return _setException(PyExc_ValueError);
|
||||
}
|
||||
return (PyObject *)newobj;
|
||||
|
@ -198,28 +186,25 @@ PyDoc_STRVAR(EVP_digest__doc__,
|
|||
static PyObject *
|
||||
EVP_digest(EVPobject *self, PyObject *unused)
|
||||
{
|
||||
unsigned char digest[EVP_MAX_MD_SIZE];
|
||||
EVP_MD_CTX *temp_ctx;
|
||||
unsigned char digest[MBEDTLS_MD_MAX_SIZE];
|
||||
mbedtls_md_context_t *temp_ctx;
|
||||
PyObject *retval;
|
||||
unsigned int digest_size;
|
||||
|
||||
temp_ctx = EVP_MD_CTX_new();
|
||||
temp_ctx = calloc(1, sizeof(mbedtls_md_context_t));
|
||||
if (temp_ctx == NULL) {
|
||||
PyErr_NoMemory();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!locked_EVP_MD_CTX_copy(temp_ctx, self)) {
|
||||
if (!locked_mbedtls_md_clone(temp_ctx, self)) {
|
||||
return _setException(PyExc_ValueError);
|
||||
}
|
||||
digest_size = EVP_MD_CTX_size(temp_ctx);
|
||||
if (!EVP_DigestFinal(temp_ctx, digest, NULL)) {
|
||||
digest_size = mbedtls_md_get_size(temp_ctx->md_info);
|
||||
if (!mbedtls_md_finish(temp_ctx, digest)) {
|
||||
_setException(PyExc_ValueError);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
retval = PyBytes_FromStringAndSize((const char *)digest, digest_size);
|
||||
EVP_MD_CTX_free(temp_ctx);
|
||||
mbedtls_md_free(temp_ctx);
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
@ -229,28 +214,24 @@ PyDoc_STRVAR(EVP_hexdigest__doc__,
|
|||
static PyObject *
|
||||
EVP_hexdigest(EVPobject *self, PyObject *unused)
|
||||
{
|
||||
unsigned char digest[EVP_MAX_MD_SIZE];
|
||||
EVP_MD_CTX *temp_ctx;
|
||||
unsigned char digest[MBEDTLS_MD_MAX_SIZE];
|
||||
mbedtls_md_context_t *temp_ctx;
|
||||
unsigned int digest_size;
|
||||
|
||||
temp_ctx = EVP_MD_CTX_new();
|
||||
temp_ctx = calloc(1, sizeof(mbedtls_md_context_t));
|
||||
if (temp_ctx == NULL) {
|
||||
PyErr_NoMemory();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Get the raw (binary) digest value */
|
||||
if (!locked_EVP_MD_CTX_copy(temp_ctx, self)) {
|
||||
if (!locked_mbedtls_md_clone(temp_ctx, self)) {
|
||||
return _setException(PyExc_ValueError);
|
||||
}
|
||||
digest_size = EVP_MD_CTX_size(temp_ctx);
|
||||
if (!EVP_DigestFinal(temp_ctx, digest, NULL)) {
|
||||
digest_size = mbedtls_md_get_size(temp_ctx->md_info);
|
||||
if (!mbedtls_md_finish(temp_ctx, digest)) {
|
||||
_setException(PyExc_ValueError);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
EVP_MD_CTX_free(temp_ctx);
|
||||
|
||||
mbedtls_md_free(temp_ctx);
|
||||
return _Py_strhex((const char *)digest, digest_size);
|
||||
}
|
||||
|
||||
|
@ -262,18 +243,14 @@ EVP_update(EVPobject *self, PyObject *args)
|
|||
{
|
||||
PyObject *obj;
|
||||
Py_buffer view;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "O:update", &obj))
|
||||
return NULL;
|
||||
|
||||
GET_BUFFER_VIEW_OR_ERROUT(obj, &view);
|
||||
|
||||
#ifdef WITH_THREAD
|
||||
if (self->lock == NULL && view.len >= HASHLIB_GIL_MINSIZE) {
|
||||
self->lock = PyThread_allocate_lock();
|
||||
/* fail? lock = NULL and we fail over to non-threaded code. */
|
||||
}
|
||||
|
||||
if (self->lock != NULL) {
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
PyThread_acquire_lock(self->lock, 1);
|
||||
|
@ -286,7 +263,6 @@ EVP_update(EVPobject *self, PyObject *args)
|
|||
#else
|
||||
EVP_hash(self, view.buf, view.len);
|
||||
#endif
|
||||
|
||||
PyBuffer_Release(&view);
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
@ -303,7 +279,7 @@ static PyObject *
|
|||
EVP_get_block_size(EVPobject *self, void *closure)
|
||||
{
|
||||
long block_size;
|
||||
block_size = EVP_MD_CTX_block_size(self->ctx);
|
||||
block_size = mbedtls_md_get_block_size(self->ctx->md_info);
|
||||
return PyLong_FromLong(block_size);
|
||||
}
|
||||
|
||||
|
@ -311,7 +287,7 @@ static PyObject *
|
|||
EVP_get_digest_size(EVPobject *self, void *closure)
|
||||
{
|
||||
long size;
|
||||
size = EVP_MD_CTX_size(self->ctx);
|
||||
size = mbedtls_md_get_size(self->ctx->md_info);
|
||||
return PyLong_FromLong(size);
|
||||
}
|
||||
|
||||
|
@ -348,24 +324,20 @@ EVP_tp_init(EVPobject *self, PyObject *args, PyObject *kwds)
|
|||
PyObject *data_obj = NULL;
|
||||
Py_buffer view;
|
||||
char *nameStr;
|
||||
const EVP_MD *digest;
|
||||
|
||||
const mbedtls_md_info_t *digest;
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:HASH", kwlist,
|
||||
&name_obj, &data_obj)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (data_obj)
|
||||
GET_BUFFER_VIEW_OR_ERROUT(data_obj, &view);
|
||||
|
||||
if (!PyArg_Parse(name_obj, "s", &nameStr)) {
|
||||
PyErr_SetString(PyExc_TypeError, "name must be a string");
|
||||
if (data_obj)
|
||||
PyBuffer_Release(&view);
|
||||
return -1;
|
||||
}
|
||||
|
||||
digest = EVP_get_digestbyname(nameStr);
|
||||
digest = mbedtls_md_info_from_string(nameStr);
|
||||
if (!digest) {
|
||||
PyErr_SetString(PyExc_ValueError, "unknown hash function");
|
||||
if (data_obj)
|
||||
|
@ -378,10 +350,8 @@ EVP_tp_init(EVPobject *self, PyObject *args, PyObject *kwds)
|
|||
PyBuffer_Release(&view);
|
||||
return -1;
|
||||
}
|
||||
|
||||
Py_INCREF(name_obj);
|
||||
Py_XSETREF(self->name, name_obj);
|
||||
|
||||
if (data_obj) {
|
||||
if (view.len >= HASHLIB_GIL_MINSIZE) {
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
|
@ -392,12 +362,10 @@ EVP_tp_init(EVPobject *self, PyObject *args, PyObject *kwds)
|
|||
}
|
||||
PyBuffer_Release(&view);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
PyDoc_STRVAR(hashtype_doc,
|
||||
"A hash represents the object used to calculate a checksum of a\n\
|
||||
string of information.\n\
|
||||
|
@ -460,29 +428,26 @@ static PyTypeObject EVPtype = {
|
|||
|
||||
static PyObject *
|
||||
EVPnew(PyObject *name_obj,
|
||||
const EVP_MD *digest, const EVP_MD_CTX *initial_ctx,
|
||||
const mbedtls_md_info_t *digest,
|
||||
const mbedtls_md_context_t *initial_ctx,
|
||||
const unsigned char *cp, Py_ssize_t len)
|
||||
{
|
||||
EVPobject *self;
|
||||
|
||||
if (!digest && !initial_ctx) {
|
||||
PyErr_SetString(PyExc_ValueError, "unsupported hash type");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ((self = newEVPobject(name_obj)) == NULL)
|
||||
return NULL;
|
||||
|
||||
if (initial_ctx) {
|
||||
EVP_MD_CTX_copy(self->ctx, initial_ctx);
|
||||
mbedtls_md_clone(self->ctx, initial_ctx);
|
||||
} else {
|
||||
if (!EVP_DigestInit(self->ctx, digest)) {
|
||||
if (!mbedtls_md_setup(self->ctx, digest, 0)) {
|
||||
_setException(PyExc_ValueError);
|
||||
Py_DECREF(self);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (cp && len) {
|
||||
if (len >= HASHLIB_GIL_MINSIZE) {
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
|
@ -492,7 +457,6 @@ EVPnew(PyObject *name_obj,
|
|||
EVP_hash(self, cp, len);
|
||||
}
|
||||
}
|
||||
|
||||
return (PyObject *)self;
|
||||
}
|
||||
|
||||
|
@ -515,32 +479,24 @@ EVP_new(PyObject *self, PyObject *args, PyObject *kwdict)
|
|||
Py_buffer view = { 0 };
|
||||
PyObject *ret_obj;
|
||||
char *name;
|
||||
const EVP_MD *digest;
|
||||
|
||||
const mbedtls_md_info_t *digest;
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwdict, "O|O:new", kwlist,
|
||||
&name_obj, &data_obj)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyArg_Parse(name_obj, "s", &name)) {
|
||||
PyErr_SetString(PyExc_TypeError, "name must be a string");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (data_obj)
|
||||
GET_BUFFER_VIEW_OR_ERROUT(data_obj, &view);
|
||||
|
||||
digest = EVP_get_digestbyname(name);
|
||||
|
||||
digest = mbedtls_md_info_from_string(name);
|
||||
ret_obj = EVPnew(name_obj, digest, NULL, (unsigned char*)view.buf, view.len);
|
||||
|
||||
if (data_obj)
|
||||
PyBuffer_Release(&view);
|
||||
return ret_obj;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if (OPENSSL_VERSION_NUMBER >= 0x10000000 && !defined(OPENSSL_NO_HMAC) \
|
||||
&& !defined(OPENSSL_NO_SHA))
|
||||
|
||||
|
@ -560,15 +516,15 @@ EVP_new(PyObject *self, PyObject *args, PyObject *kwdict)
|
|||
static int
|
||||
PKCS5_PBKDF2_HMAC_fast(const char *pass, int passlen,
|
||||
const unsigned char *salt, int saltlen,
|
||||
int iter, const EVP_MD *digest,
|
||||
int iter, const mbedtls_md_info_t *digest,
|
||||
int keylen, unsigned char *out)
|
||||
{
|
||||
unsigned char digtmp[EVP_MAX_MD_SIZE], *p, itmp[4];
|
||||
unsigned char digtmp[MBEDTLS_MD_MAX_SIZE], *p, itmp[4];
|
||||
int cplen, j, k, tkeylen, mdlen;
|
||||
unsigned long i = 1;
|
||||
HMAC_CTX hctx_tpl, hctx;
|
||||
|
||||
mdlen = EVP_MD_size(digest);
|
||||
mdlen = mbedtls_md_get_size(digest);
|
||||
if (mdlen < 0)
|
||||
return 0;
|
||||
|
||||
|
@ -647,7 +603,7 @@ pbkdf2_hmac(PyObject *self, PyObject *args, PyObject *kwdict)
|
|||
Py_buffer password, salt;
|
||||
long iterations, dklen;
|
||||
int retval;
|
||||
const EVP_MD *digest;
|
||||
const mbedtls_md_info_t *digest;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwdict, "sy*y*l|O:pbkdf2_hmac",
|
||||
kwlist, &name, &password, &salt,
|
||||
|
@ -655,7 +611,7 @@ pbkdf2_hmac(PyObject *self, PyObject *args, PyObject *kwdict)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
digest = EVP_get_digestbyname(name);
|
||||
digest = mbedtls_md_info_from_string(name);
|
||||
if (digest == NULL) {
|
||||
PyErr_SetString(PyExc_ValueError, "unsupported hash type");
|
||||
goto end;
|
||||
|
@ -685,7 +641,7 @@ pbkdf2_hmac(PyObject *self, PyObject *args, PyObject *kwdict)
|
|||
}
|
||||
|
||||
if (dklen_obj == Py_None) {
|
||||
dklen = EVP_MD_size(digest);
|
||||
dklen = mbedtls_md_get_size(digest);
|
||||
} else {
|
||||
dklen = PyLong_AsLong(dklen_obj);
|
||||
if ((dklen == -1) && PyErr_Occurred()) {
|
||||
|
@ -740,7 +696,6 @@ pbkdf2_hmac(PyObject *self, PyObject *args, PyObject *kwdict)
|
|||
|
||||
#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(OPENSSL_NO_SCRYPT) && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
#define PY_SCRYPT 1
|
||||
|
||||
/* XXX: Parameters salt, n, r and p should be required keyword-only parameters.
|
||||
They are optional in the Argument Clinic declaration only due to a
|
||||
limitation of PyArg_ParseTupleAndKeywords. */
|
||||
|
@ -760,7 +715,6 @@ _hashlib.scrypt
|
|||
|
||||
scrypt password-based key derivation function.
|
||||
[clinic start generated code]*/
|
||||
|
||||
static PyObject *
|
||||
_hashlib_scrypt_impl(PyObject *module, Py_buffer *password, Py_buffer *salt,
|
||||
PyObject *n_obj, PyObject *r_obj, PyObject *p_obj,
|
||||
|
@ -771,13 +725,11 @@ _hashlib_scrypt_impl(PyObject *module, Py_buffer *password, Py_buffer *salt,
|
|||
char *key;
|
||||
int retval;
|
||||
unsigned long n, r, p;
|
||||
|
||||
if (password->len > INT_MAX) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"password is too long.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (salt->buf == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"salt is required");
|
||||
|
@ -788,7 +740,6 @@ _hashlib_scrypt_impl(PyObject *module, Py_buffer *password, Py_buffer *salt,
|
|||
"salt is too long.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
n = PyLong_AsUnsignedLong(n_obj);
|
||||
if (n == (unsigned long) -1 && PyErr_Occurred()) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
|
@ -800,21 +751,18 @@ _hashlib_scrypt_impl(PyObject *module, Py_buffer *password, Py_buffer *salt,
|
|||
"n must be a power of 2.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
r = PyLong_AsUnsignedLong(r_obj);
|
||||
if (r == (unsigned long) -1 && PyErr_Occurred()) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"r is required and must be an unsigned int");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
p = PyLong_AsUnsignedLong(p_obj);
|
||||
if (p == (unsigned long) -1 && PyErr_Occurred()) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"p is required and must be an unsigned int");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (maxmem < 0 || maxmem > INT_MAX) {
|
||||
/* OpenSSL 1.1.0 restricts maxmem to 32MB. It may change in the
|
||||
future. The maxmem constant is private to OpenSSL. */
|
||||
|
@ -823,14 +771,12 @@ _hashlib_scrypt_impl(PyObject *module, Py_buffer *password, Py_buffer *salt,
|
|||
INT_MAX);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (dklen < 1 || dklen > INT_MAX) {
|
||||
PyErr_Format(PyExc_ValueError,
|
||||
"dklen must be greater than 0 and smaller than %d",
|
||||
INT_MAX);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* let OpenSSL validate the rest */
|
||||
retval = EVP_PBE_scrypt(NULL, 0, NULL, 0, n, r, p, maxmem, NULL, 0);
|
||||
if (!retval) {
|
||||
|
@ -839,13 +785,11 @@ _hashlib_scrypt_impl(PyObject *module, Py_buffer *password, Py_buffer *salt,
|
|||
"Invalid paramemter combination for n, r, p, maxmem.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
key_obj = PyBytes_FromStringAndSize(NULL, dklen);
|
||||
if (key_obj == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
key = PyBytes_AS_STRING(key_obj);
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
retval = EVP_PBE_scrypt(
|
||||
(const char*)password->buf, (size_t)password->len,
|
||||
|
@ -854,7 +798,6 @@ _hashlib_scrypt_impl(PyObject *module, Py_buffer *password, Py_buffer *salt,
|
|||
(unsigned char *)key, (size_t)dklen
|
||||
);
|
||||
Py_END_ALLOW_THREADS
|
||||
|
||||
if (!retval) {
|
||||
Py_CLEAR(key_obj);
|
||||
_setException(PyExc_ValueError);
|
||||
|
@ -864,61 +807,21 @@ _hashlib_scrypt_impl(PyObject *module, Py_buffer *password, Py_buffer *salt,
|
|||
}
|
||||
#endif
|
||||
|
||||
/* State for our callback function so that it can accumulate a result. */
|
||||
typedef struct _internal_name_mapper_state {
|
||||
PyObject *set;
|
||||
int error;
|
||||
} _InternalNameMapperState;
|
||||
|
||||
|
||||
/* A callback function to pass to OpenSSL's OBJ_NAME_do_all(...) */
|
||||
static void
|
||||
_openssl_hash_name_mapper(const OBJ_NAME *openssl_obj_name, void *arg)
|
||||
{
|
||||
_InternalNameMapperState *state = (_InternalNameMapperState *)arg;
|
||||
PyObject *py_name;
|
||||
|
||||
assert(state != NULL);
|
||||
if (openssl_obj_name == NULL)
|
||||
return;
|
||||
/* Ignore aliased names, they pollute the list and OpenSSL appears to
|
||||
* have its own definition of alias as the resulting list still
|
||||
* contains duplicate and alternate names for several algorithms. */
|
||||
if (openssl_obj_name->alias)
|
||||
return;
|
||||
|
||||
py_name = PyUnicode_FromString(openssl_obj_name->name);
|
||||
if (py_name == NULL) {
|
||||
state->error = 1;
|
||||
} else {
|
||||
if (PySet_Add(state->set, py_name) != 0) {
|
||||
state->error = 1;
|
||||
}
|
||||
Py_DECREF(py_name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Ask OpenSSL for a list of supported ciphers, filling in a Python set. */
|
||||
static PyObject*
|
||||
static PyObject *
|
||||
generate_hash_name_list(void)
|
||||
{
|
||||
_InternalNameMapperState state;
|
||||
state.set = PyFrozenSet_New(NULL);
|
||||
if (state.set == NULL)
|
||||
return NULL;
|
||||
state.error = 0;
|
||||
|
||||
OBJ_NAME_do_all(OBJ_NAME_TYPE_MD_METH, &_openssl_hash_name_mapper, &state);
|
||||
|
||||
if (state.error) {
|
||||
Py_DECREF(state.set);
|
||||
return NULL;
|
||||
uint8_t *p;
|
||||
PyObject *set, *name;
|
||||
if ((set = PyFrozenSet_New(0))) {
|
||||
for (p = mbedtls_md_list(); *p != MBEDTLS_MD_NONE; ++p) {
|
||||
name = PyUnicode_FromString(mbedtls_md_info_from_type(*p)->name);
|
||||
PySet_Add(set, name);
|
||||
Py_DECREF(name);
|
||||
}
|
||||
}
|
||||
return state.set;
|
||||
return set;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* This macro generates constructor function definitions for specific
|
||||
* hash algorithms. These constructors are much faster than calling
|
||||
|
@ -941,11 +844,11 @@ generate_hash_name_list(void)
|
|||
} \
|
||||
\
|
||||
if (CONST_new_ ## NAME ## _ctx_p == NULL) { \
|
||||
EVP_MD_CTX *ctx_p = EVP_MD_CTX_new(); \
|
||||
if (!EVP_get_digestbyname(#NAME) || \
|
||||
!EVP_DigestInit(ctx_p, EVP_get_digestbyname(#NAME))) { \
|
||||
mbedtls_md_context_t *ctx_p = calloc(1, sizeof(mbedtls_md_context_t)); \
|
||||
if (!mbedtls_md_info_from_string(#NAME) || \
|
||||
!mbedtls_md_setup(ctx_p, mbedtls_md_info_from_string(#NAME), 0)) { \
|
||||
_setException(PyExc_ValueError); \
|
||||
EVP_MD_CTX_free(ctx_p); \
|
||||
mbedtls_md_free(ctx_p); \
|
||||
return NULL; \
|
||||
} \
|
||||
CONST_new_ ## NAME ## _ctx_p = ctx_p; \
|
||||
|
@ -975,11 +878,10 @@ generate_hash_name_list(void)
|
|||
|
||||
/* used in the init function to setup a constructor: initialize OpenSSL
|
||||
constructor constants if they haven't been initialized already. */
|
||||
#define INIT_CONSTRUCTOR_CONSTANTS(NAME) do { \
|
||||
#define INIT_CONSTRUCTOR_CONSTANTS(NAME) \
|
||||
if (CONST_ ## NAME ## _name_obj == NULL) { \
|
||||
CONST_ ## NAME ## _name_obj = PyUnicode_FromString(#NAME); \
|
||||
} \
|
||||
} while (0);
|
||||
CONST_ ## NAME ## _name_obj = PyUnicode_FromString(#NAME);\
|
||||
}
|
||||
|
||||
GEN_CONSTRUCTOR(md5)
|
||||
GEN_CONSTRUCTOR(sha1)
|
||||
|
@ -1006,10 +908,6 @@ static struct PyMethodDef EVP_functions[] = {
|
|||
{NULL, NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
|
||||
/* Initialize this module. */
|
||||
|
||||
|
||||
static struct PyModuleDef _hashlibmodule = {
|
||||
PyModuleDef_HEAD_INIT,
|
||||
"_hashlib",
|
||||
|
@ -1026,26 +924,16 @@ PyMODINIT_FUNC
|
|||
PyInit__hashlib(void)
|
||||
{
|
||||
PyObject *m, *openssl_md_meth_names;
|
||||
|
||||
#ifndef OPENSSL_VERSION_1_1
|
||||
/* Load all digest algorithms and initialize cpuid */
|
||||
OPENSSL_add_all_algorithms_noconf();
|
||||
ERR_load_crypto_strings();
|
||||
#endif
|
||||
|
||||
/* TODO build EVP_functions openssl_* entries dynamically based
|
||||
* on what hashes are supported rather than listing many
|
||||
* but having some be unsupported. Only init appropriate
|
||||
* constants. */
|
||||
|
||||
Py_TYPE(&EVPtype) = &PyType_Type;
|
||||
if (PyType_Ready(&EVPtype) < 0)
|
||||
return NULL;
|
||||
|
||||
m = PyModule_Create(&_hashlibmodule);
|
||||
if (m == NULL)
|
||||
return NULL;
|
||||
|
||||
openssl_md_meth_names = generate_hash_name_list();
|
||||
if (openssl_md_meth_names == NULL) {
|
||||
Py_DECREF(m);
|
||||
|
@ -1055,16 +943,14 @@ PyInit__hashlib(void)
|
|||
Py_DECREF(m);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Py_INCREF((PyObject *)&EVPtype);
|
||||
PyModule_AddObject(m, "HASH", (PyObject *)&EVPtype);
|
||||
|
||||
/* these constants are used by the convenience constructors */
|
||||
INIT_CONSTRUCTOR_CONSTANTS(md5);
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha1);
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha224);
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha256);
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha384);
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha512);
|
||||
INIT_CONSTRUCTOR_CONSTANTS(md5)
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha1)
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha224)
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha256)
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha384)
|
||||
INIT_CONSTRUCTOR_CONSTANTS(sha512)
|
||||
return m;
|
||||
}
|
||||
|
|
8
third_party/python/Modules/_heapqmodule.c
vendored
8
third_party/python/Modules/_heapqmodule.c
vendored
|
@ -13,6 +13,14 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_heapq");
|
||||
PYTHON_PROVIDE("_heapq._heapify_max");
|
||||
PYTHON_PROVIDE("_heapq._heappop_max");
|
||||
PYTHON_PROVIDE("_heapq._heapreplace_max");
|
||||
PYTHON_PROVIDE("_heapq.heapify");
|
||||
PYTHON_PROVIDE("_heapq.heappop");
|
||||
PYTHON_PROVIDE("_heapq.heappush");
|
||||
PYTHON_PROVIDE("_heapq.heappushpop");
|
||||
PYTHON_PROVIDE("_heapq.heapreplace");
|
||||
|
||||
/* Drop in replacement for heapq.py
|
||||
|
||||
|
|
17
third_party/python/Modules/_io/_iomodule.c
vendored
17
third_party/python/Modules/_io/_iomodule.c
vendored
|
@ -24,6 +24,23 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_io");
|
||||
PYTHON_PROVIDE("_io.BlockingIOError");
|
||||
PYTHON_PROVIDE("_io.BufferedRWPair");
|
||||
PYTHON_PROVIDE("_io.BufferedRandom");
|
||||
PYTHON_PROVIDE("_io.BufferedReader");
|
||||
PYTHON_PROVIDE("_io.BufferedWriter");
|
||||
PYTHON_PROVIDE("_io.BytesIO");
|
||||
PYTHON_PROVIDE("_io.DEFAULT_BUFFER_SIZE");
|
||||
PYTHON_PROVIDE("_io.FileIO");
|
||||
PYTHON_PROVIDE("_io.IncrementalNewlineDecoder");
|
||||
PYTHON_PROVIDE("_io.StringIO");
|
||||
PYTHON_PROVIDE("_io.TextIOWrapper");
|
||||
PYTHON_PROVIDE("_io.UnsupportedOperation");
|
||||
PYTHON_PROVIDE("_io._BufferedIOBase");
|
||||
PYTHON_PROVIDE("_io._IOBase");
|
||||
PYTHON_PROVIDE("_io._RawIOBase");
|
||||
PYTHON_PROVIDE("_io._TextIOBase");
|
||||
PYTHON_PROVIDE("_io.open");
|
||||
|
||||
/*
|
||||
An implementation of the new I/O lib as defined by PEP 3116 - "New I/O"
|
||||
|
|
5
third_party/python/Modules/_json.c
vendored
5
third_party/python/Modules/_json.c
vendored
|
@ -21,6 +21,11 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_json");
|
||||
PYTHON_PROVIDE("_json.encode_basestring");
|
||||
PYTHON_PROVIDE("_json.encode_basestring_ascii");
|
||||
PYTHON_PROVIDE("_json.make_encoder");
|
||||
PYTHON_PROVIDE("_json.make_scanner");
|
||||
PYTHON_PROVIDE("_json.scanstring");
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define UNUSED __attribute__((__unused__))
|
||||
|
|
11
third_party/python/Modules/_localemodule.c
vendored
11
third_party/python/Modules/_localemodule.c
vendored
|
@ -20,6 +20,17 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_locale");
|
||||
PYTHON_PROVIDE("_locale.CHAR_MAX");
|
||||
PYTHON_PROVIDE("_locale.Error");
|
||||
PYTHON_PROVIDE("_locale.LC_ALL");
|
||||
PYTHON_PROVIDE("_locale.LC_COLLATE");
|
||||
PYTHON_PROVIDE("_locale.LC_CTYPE");
|
||||
PYTHON_PROVIDE("_locale.LC_MESSAGES");
|
||||
PYTHON_PROVIDE("_locale.LC_MONETARY");
|
||||
PYTHON_PROVIDE("_locale.LC_NUMERIC");
|
||||
PYTHON_PROVIDE("_locale.LC_TIME");
|
||||
PYTHON_PROVIDE("_locale.localeconv");
|
||||
PYTHON_PROVIDE("_locale.setlocale");
|
||||
|
||||
/***********************************************************
|
||||
Copyright (C) 1997, 2002, 2003, 2007, 2008 Martin von Loewis
|
||||
|
|
3
third_party/python/Modules/_lsprof.c
vendored
3
third_party/python/Modules/_lsprof.c
vendored
|
@ -18,6 +18,9 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_lsprof");
|
||||
PYTHON_PROVIDE("_lsprof.Profiler");
|
||||
PYTHON_PROVIDE("_lsprof.profiler_entry");
|
||||
PYTHON_PROVIDE("_lsprof.profiler_subentry");
|
||||
|
||||
/*** Selection of a high-precision timer ***/
|
||||
|
||||
|
|
34
third_party/python/Modules/_lzmamodule.c
vendored
34
third_party/python/Modules/_lzmamodule.c
vendored
|
@ -10,6 +10,40 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_lzma");
|
||||
PYTHON_PROVIDE("_lzma.CHECK_CRC32");
|
||||
PYTHON_PROVIDE("_lzma.CHECK_CRC64");
|
||||
PYTHON_PROVIDE("_lzma.CHECK_ID_MAX");
|
||||
PYTHON_PROVIDE("_lzma.CHECK_NONE");
|
||||
PYTHON_PROVIDE("_lzma.CHECK_SHA256");
|
||||
PYTHON_PROVIDE("_lzma.CHECK_UNKNOWN");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_ARM");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_ARMTHUMB");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_DELTA");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_IA64");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_LZMA1");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_LZMA2");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_POWERPC");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_SPARC");
|
||||
PYTHON_PROVIDE("_lzma.FILTER_X86");
|
||||
PYTHON_PROVIDE("_lzma.FORMAT_ALONE");
|
||||
PYTHON_PROVIDE("_lzma.FORMAT_AUTO");
|
||||
PYTHON_PROVIDE("_lzma.FORMAT_RAW");
|
||||
PYTHON_PROVIDE("_lzma.FORMAT_XZ");
|
||||
PYTHON_PROVIDE("_lzma.LZMACompressor");
|
||||
PYTHON_PROVIDE("_lzma.LZMADecompressor");
|
||||
PYTHON_PROVIDE("_lzma.LZMAError");
|
||||
PYTHON_PROVIDE("_lzma.MF_BT2");
|
||||
PYTHON_PROVIDE("_lzma.MF_BT3");
|
||||
PYTHON_PROVIDE("_lzma.MF_BT4");
|
||||
PYTHON_PROVIDE("_lzma.MF_HC3");
|
||||
PYTHON_PROVIDE("_lzma.MF_HC4");
|
||||
PYTHON_PROVIDE("_lzma.MODE_FAST");
|
||||
PYTHON_PROVIDE("_lzma.MODE_NORMAL");
|
||||
PYTHON_PROVIDE("_lzma.PRESET_DEFAULT");
|
||||
PYTHON_PROVIDE("_lzma.PRESET_EXTREME");
|
||||
PYTHON_PROVIDE("_lzma._decode_filter_properties");
|
||||
PYTHON_PROVIDE("_lzma._encode_filter_properties");
|
||||
PYTHON_PROVIDE("_lzma.is_check_supported");
|
||||
|
||||
/* _lzma - Low-level Python interface to liblzma.
|
||||
|
||||
|
|
6
third_party/python/Modules/_math.c
vendored
6
third_party/python/Modules/_math.c
vendored
|
@ -1,3 +1,9 @@
|
|||
/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:4;tab-width:8;coding:utf-8 -*-│
|
||||
│vi: set net ft=c ts=4 sts=4 sw=4 fenc=utf-8 :vi│
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Python 3 │
|
||||
│ https://docs.python.org/3/license.html │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/errno.h"
|
||||
#include "third_party/python/Include/pymath.h"
|
||||
#include "third_party/python/Modules/_math.h"
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_multiprocessing");
|
||||
PYTHON_PROVIDE("_multiprocessing.flags");
|
||||
|
||||
/*
|
||||
* Extension module used by multiprocessing package
|
||||
|
|
1
third_party/python/Modules/_opcode.c
vendored
1
third_party/python/Modules/_opcode.c
vendored
|
@ -15,6 +15,7 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_opcode");
|
||||
PYTHON_PROVIDE("_opcode.stack_effect");
|
||||
|
||||
/*[clinic input]
|
||||
module _opcode
|
||||
|
|
60
third_party/python/Modules/_operator.c
vendored
60
third_party/python/Modules/_operator.c
vendored
|
@ -18,6 +18,66 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_operator");
|
||||
PYTHON_PROVIDE("_operator.__doc__");
|
||||
PYTHON_PROVIDE("_operator.__loader__");
|
||||
PYTHON_PROVIDE("_operator.__name__");
|
||||
PYTHON_PROVIDE("_operator.__package__");
|
||||
PYTHON_PROVIDE("_operator.__spec__");
|
||||
PYTHON_PROVIDE("_operator._compare_digest");
|
||||
PYTHON_PROVIDE("_operator.abs");
|
||||
PYTHON_PROVIDE("_operator.add");
|
||||
PYTHON_PROVIDE("_operator.and_");
|
||||
PYTHON_PROVIDE("_operator.attrgetter");
|
||||
PYTHON_PROVIDE("_operator.concat");
|
||||
PYTHON_PROVIDE("_operator.contains");
|
||||
PYTHON_PROVIDE("_operator.countOf");
|
||||
PYTHON_PROVIDE("_operator.delitem");
|
||||
PYTHON_PROVIDE("_operator.eq");
|
||||
PYTHON_PROVIDE("_operator.floordiv");
|
||||
PYTHON_PROVIDE("_operator.ge");
|
||||
PYTHON_PROVIDE("_operator.getitem");
|
||||
PYTHON_PROVIDE("_operator.gt");
|
||||
PYTHON_PROVIDE("_operator.iadd");
|
||||
PYTHON_PROVIDE("_operator.iand");
|
||||
PYTHON_PROVIDE("_operator.iconcat");
|
||||
PYTHON_PROVIDE("_operator.ifloordiv");
|
||||
PYTHON_PROVIDE("_operator.ilshift");
|
||||
PYTHON_PROVIDE("_operator.imatmul");
|
||||
PYTHON_PROVIDE("_operator.imod");
|
||||
PYTHON_PROVIDE("_operator.imul");
|
||||
PYTHON_PROVIDE("_operator.index");
|
||||
PYTHON_PROVIDE("_operator.indexOf");
|
||||
PYTHON_PROVIDE("_operator.inv");
|
||||
PYTHON_PROVIDE("_operator.invert");
|
||||
PYTHON_PROVIDE("_operator.ior");
|
||||
PYTHON_PROVIDE("_operator.ipow");
|
||||
PYTHON_PROVIDE("_operator.irshift");
|
||||
PYTHON_PROVIDE("_operator.is_");
|
||||
PYTHON_PROVIDE("_operator.is_not");
|
||||
PYTHON_PROVIDE("_operator.isub");
|
||||
PYTHON_PROVIDE("_operator.itemgetter");
|
||||
PYTHON_PROVIDE("_operator.itruediv");
|
||||
PYTHON_PROVIDE("_operator.ixor");
|
||||
PYTHON_PROVIDE("_operator.le");
|
||||
PYTHON_PROVIDE("_operator.length_hint");
|
||||
PYTHON_PROVIDE("_operator.lshift");
|
||||
PYTHON_PROVIDE("_operator.lt");
|
||||
PYTHON_PROVIDE("_operator.matmul");
|
||||
PYTHON_PROVIDE("_operator.methodcaller");
|
||||
PYTHON_PROVIDE("_operator.mod");
|
||||
PYTHON_PROVIDE("_operator.mul");
|
||||
PYTHON_PROVIDE("_operator.ne");
|
||||
PYTHON_PROVIDE("_operator.neg");
|
||||
PYTHON_PROVIDE("_operator.not_");
|
||||
PYTHON_PROVIDE("_operator.or_");
|
||||
PYTHON_PROVIDE("_operator.pos");
|
||||
PYTHON_PROVIDE("_operator.pow");
|
||||
PYTHON_PROVIDE("_operator.rshift");
|
||||
PYTHON_PROVIDE("_operator.setitem");
|
||||
PYTHON_PROVIDE("_operator.sub");
|
||||
PYTHON_PROVIDE("_operator.truediv");
|
||||
PYTHON_PROVIDE("_operator.truth");
|
||||
PYTHON_PROVIDE("_operator.xor");
|
||||
|
||||
PyDoc_STRVAR(operator_doc,
|
||||
"Operator interface.\n\
|
||||
|
|
9
third_party/python/Modules/_pickle.c
vendored
9
third_party/python/Modules/_pickle.c
vendored
|
@ -34,6 +34,15 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_pickle");
|
||||
PYTHON_PROVIDE("_pickle.PickleError");
|
||||
PYTHON_PROVIDE("_pickle.Pickler");
|
||||
PYTHON_PROVIDE("_pickle.PicklingError");
|
||||
PYTHON_PROVIDE("_pickle.Unpickler");
|
||||
PYTHON_PROVIDE("_pickle.UnpicklingError");
|
||||
PYTHON_PROVIDE("_pickle.dump");
|
||||
PYTHON_PROVIDE("_pickle.dumps");
|
||||
PYTHON_PROVIDE("_pickle.load");
|
||||
PYTHON_PROVIDE("_pickle.loads");
|
||||
|
||||
PyDoc_STRVAR(pickle_module_doc,
|
||||
"Optimized C implementation for the Python pickle module.");
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_posixsubprocess");
|
||||
PYTHON_PROVIDE("_posixsubprocess.fork_exec");
|
||||
|
||||
/* Authors: Gregory P. Smith & Jeffrey Yasskin */
|
||||
|
||||
|
|
1
third_party/python/Modules/_randommodule.c
vendored
1
third_party/python/Modules/_randommodule.c
vendored
|
@ -19,6 +19,7 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_random");
|
||||
PYTHON_PROVIDE("_random.Random");
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
The code in this module was based on a download from:
|
||||
|
|
13
third_party/python/Modules/_sre.c
vendored
13
third_party/python/Modules/_sre.c
vendored
|
@ -25,6 +25,19 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_sre");
|
||||
PYTHON_PROVIDE("_sre.CODESIZE");
|
||||
PYTHON_PROVIDE("_sre.MAGIC");
|
||||
PYTHON_PROVIDE("_sre.MAXGROUPS");
|
||||
PYTHON_PROVIDE("_sre.MAXREPEAT");
|
||||
PYTHON_PROVIDE("_sre.__doc__");
|
||||
PYTHON_PROVIDE("_sre.__loader__");
|
||||
PYTHON_PROVIDE("_sre.__name__");
|
||||
PYTHON_PROVIDE("_sre.__package__");
|
||||
PYTHON_PROVIDE("_sre.__spec__");
|
||||
PYTHON_PROVIDE("_sre.compile");
|
||||
PYTHON_PROVIDE("_sre.copyright");
|
||||
PYTHON_PROVIDE("_sre.getcodesize");
|
||||
PYTHON_PROVIDE("_sre.getlower");
|
||||
|
||||
/*
|
||||
* Secret Labs' Regular Expression Engine
|
||||
|
|
64
third_party/python/Modules/_stat.c
vendored
64
third_party/python/Modules/_stat.c
vendored
|
@ -20,6 +20,70 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_stat");
|
||||
PYTHON_PROVIDE("_stat.SF_APPEND");
|
||||
PYTHON_PROVIDE("_stat.SF_ARCHIVED");
|
||||
PYTHON_PROVIDE("_stat.SF_IMMUTABLE");
|
||||
PYTHON_PROVIDE("_stat.SF_NOUNLINK");
|
||||
PYTHON_PROVIDE("_stat.SF_SNAPSHOT");
|
||||
PYTHON_PROVIDE("_stat.ST_ATIME");
|
||||
PYTHON_PROVIDE("_stat.ST_CTIME");
|
||||
PYTHON_PROVIDE("_stat.ST_DEV");
|
||||
PYTHON_PROVIDE("_stat.ST_GID");
|
||||
PYTHON_PROVIDE("_stat.ST_INO");
|
||||
PYTHON_PROVIDE("_stat.ST_MODE");
|
||||
PYTHON_PROVIDE("_stat.ST_MTIME");
|
||||
PYTHON_PROVIDE("_stat.ST_NLINK");
|
||||
PYTHON_PROVIDE("_stat.ST_SIZE");
|
||||
PYTHON_PROVIDE("_stat.ST_UID");
|
||||
PYTHON_PROVIDE("_stat.S_ENFMT");
|
||||
PYTHON_PROVIDE("_stat.S_IEXEC");
|
||||
PYTHON_PROVIDE("_stat.S_IFBLK");
|
||||
PYTHON_PROVIDE("_stat.S_IFCHR");
|
||||
PYTHON_PROVIDE("_stat.S_IFDIR");
|
||||
PYTHON_PROVIDE("_stat.S_IFDOOR");
|
||||
PYTHON_PROVIDE("_stat.S_IFIFO");
|
||||
PYTHON_PROVIDE("_stat.S_IFLNK");
|
||||
PYTHON_PROVIDE("_stat.S_IFMT");
|
||||
PYTHON_PROVIDE("_stat.S_IFPORT");
|
||||
PYTHON_PROVIDE("_stat.S_IFREG");
|
||||
PYTHON_PROVIDE("_stat.S_IFSOCK");
|
||||
PYTHON_PROVIDE("_stat.S_IFWHT");
|
||||
PYTHON_PROVIDE("_stat.S_IMODE");
|
||||
PYTHON_PROVIDE("_stat.S_IREAD");
|
||||
PYTHON_PROVIDE("_stat.S_IRGRP");
|
||||
PYTHON_PROVIDE("_stat.S_IROTH");
|
||||
PYTHON_PROVIDE("_stat.S_IRUSR");
|
||||
PYTHON_PROVIDE("_stat.S_IRWXG");
|
||||
PYTHON_PROVIDE("_stat.S_IRWXO");
|
||||
PYTHON_PROVIDE("_stat.S_IRWXU");
|
||||
PYTHON_PROVIDE("_stat.S_ISBLK");
|
||||
PYTHON_PROVIDE("_stat.S_ISCHR");
|
||||
PYTHON_PROVIDE("_stat.S_ISDIR");
|
||||
PYTHON_PROVIDE("_stat.S_ISDOOR");
|
||||
PYTHON_PROVIDE("_stat.S_ISFIFO");
|
||||
PYTHON_PROVIDE("_stat.S_ISGID");
|
||||
PYTHON_PROVIDE("_stat.S_ISLNK");
|
||||
PYTHON_PROVIDE("_stat.S_ISPORT");
|
||||
PYTHON_PROVIDE("_stat.S_ISREG");
|
||||
PYTHON_PROVIDE("_stat.S_ISSOCK");
|
||||
PYTHON_PROVIDE("_stat.S_ISUID");
|
||||
PYTHON_PROVIDE("_stat.S_ISVTX");
|
||||
PYTHON_PROVIDE("_stat.S_ISWHT");
|
||||
PYTHON_PROVIDE("_stat.S_IWGRP");
|
||||
PYTHON_PROVIDE("_stat.S_IWOTH");
|
||||
PYTHON_PROVIDE("_stat.S_IWRITE");
|
||||
PYTHON_PROVIDE("_stat.S_IWUSR");
|
||||
PYTHON_PROVIDE("_stat.S_IXGRP");
|
||||
PYTHON_PROVIDE("_stat.S_IXOTH");
|
||||
PYTHON_PROVIDE("_stat.S_IXUSR");
|
||||
PYTHON_PROVIDE("_stat.UF_APPEND");
|
||||
PYTHON_PROVIDE("_stat.UF_COMPRESSED");
|
||||
PYTHON_PROVIDE("_stat.UF_HIDDEN");
|
||||
PYTHON_PROVIDE("_stat.UF_IMMUTABLE");
|
||||
PYTHON_PROVIDE("_stat.UF_NODUMP");
|
||||
PYTHON_PROVIDE("_stat.UF_NOUNLINK");
|
||||
PYTHON_PROVIDE("_stat.UF_OPAQUE");
|
||||
PYTHON_PROVIDE("_stat.filemode");
|
||||
|
||||
/* stat.h interface
|
||||
*
|
||||
|
|
14
third_party/python/Modules/_struct.c
vendored
14
third_party/python/Modules/_struct.c
vendored
|
@ -25,6 +25,20 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_struct");
|
||||
PYTHON_PROVIDE("_struct.Struct");
|
||||
PYTHON_PROVIDE("_struct.__doc__");
|
||||
PYTHON_PROVIDE("_struct.__loader__");
|
||||
PYTHON_PROVIDE("_struct.__name__");
|
||||
PYTHON_PROVIDE("_struct.__package__");
|
||||
PYTHON_PROVIDE("_struct.__spec__");
|
||||
PYTHON_PROVIDE("_struct._clearcache");
|
||||
PYTHON_PROVIDE("_struct.calcsize");
|
||||
PYTHON_PROVIDE("_struct.error");
|
||||
PYTHON_PROVIDE("_struct.iter_unpack");
|
||||
PYTHON_PROVIDE("_struct.pack");
|
||||
PYTHON_PROVIDE("_struct.pack_into");
|
||||
PYTHON_PROVIDE("_struct.unpack");
|
||||
PYTHON_PROVIDE("_struct.unpack_from");
|
||||
|
||||
/* struct module -- pack values into and (out of) bytes objects */
|
||||
|
||||
|
|
37
third_party/python/Modules/_testbuffer.c
vendored
37
third_party/python/Modules/_testbuffer.c
vendored
|
@ -23,6 +23,43 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_testbuffer");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_FORTRAN");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_GETBUF_FAIL");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_GETBUF_UNDEFINED");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_MAX_NDIM");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_PIL");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_REDIRECT");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_SCALAR");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_VAREXPORT");
|
||||
PYTHON_PROVIDE("_testbuffer.ND_WRITABLE");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_ANY_CONTIGUOUS");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_CONTIG");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_CONTIG_RO");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_C_CONTIGUOUS");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_FORMAT");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_FULL");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_FULL_RO");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_F_CONTIGUOUS");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_INDIRECT");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_ND");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_READ");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_RECORDS");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_RECORDS_RO");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_SIMPLE");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_STRIDED");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_STRIDED_RO");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_STRIDES");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_WRITABLE");
|
||||
PYTHON_PROVIDE("_testbuffer.PyBUF_WRITE");
|
||||
PYTHON_PROVIDE("_testbuffer.cmp_contig");
|
||||
PYTHON_PROVIDE("_testbuffer.get_contiguous");
|
||||
PYTHON_PROVIDE("_testbuffer.get_pointer");
|
||||
PYTHON_PROVIDE("_testbuffer.get_sizeof_void_p");
|
||||
PYTHON_PROVIDE("_testbuffer.is_contiguous");
|
||||
PYTHON_PROVIDE("_testbuffer.ndarray");
|
||||
PYTHON_PROVIDE("_testbuffer.py_buffer_to_contiguous");
|
||||
PYTHON_PROVIDE("_testbuffer.slice_indices");
|
||||
PYTHON_PROVIDE("_testbuffer.staticarray");
|
||||
|
||||
/* C Extension module to test all aspects of PEP-3118.
|
||||
Written by Stefan Krah. */
|
||||
|
|
183
third_party/python/Modules/_testcapimodule.c
vendored
183
third_party/python/Modules/_testcapimodule.c
vendored
|
@ -46,6 +46,189 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_testcapi");
|
||||
PYTHON_PROVIDE("_testcapi.CHAR_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.CHAR_MIN");
|
||||
PYTHON_PROVIDE("_testcapi.DBL_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.DBL_MIN");
|
||||
PYTHON_PROVIDE("_testcapi.FLT_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.FLT_MIN");
|
||||
PYTHON_PROVIDE("_testcapi.INT_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.INT_MIN");
|
||||
PYTHON_PROVIDE("_testcapi.LLONG_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.LLONG_MIN");
|
||||
PYTHON_PROVIDE("_testcapi.LONG_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.LONG_MIN");
|
||||
PYTHON_PROVIDE("_testcapi.PY_SSIZE_T_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.PY_SSIZE_T_MIN");
|
||||
PYTHON_PROVIDE("_testcapi.PyTime_AsMicroseconds");
|
||||
PYTHON_PROVIDE("_testcapi.PyTime_AsMilliseconds");
|
||||
PYTHON_PROVIDE("_testcapi.PyTime_AsSecondsDouble");
|
||||
PYTHON_PROVIDE("_testcapi.PyTime_AsTimespec");
|
||||
PYTHON_PROVIDE("_testcapi.PyTime_AsTimeval");
|
||||
PYTHON_PROVIDE("_testcapi.PyTime_FromSeconds");
|
||||
PYTHON_PROVIDE("_testcapi.PyTime_FromSecondsObject");
|
||||
PYTHON_PROVIDE("_testcapi.RecursingInfinitelyError");
|
||||
PYTHON_PROVIDE("_testcapi.SHRT_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.SHRT_MIN");
|
||||
PYTHON_PROVIDE("_testcapi.SIZEOF_PYGC_HEAD");
|
||||
PYTHON_PROVIDE("_testcapi.SIZEOF_TIME_T");
|
||||
PYTHON_PROVIDE("_testcapi.UCHAR_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.UINT_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.ULLONG_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.ULONG_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.USHRT_MAX");
|
||||
PYTHON_PROVIDE("_testcapi.W_STOPCODE");
|
||||
PYTHON_PROVIDE("_testcapi._test_structmembersType");
|
||||
PYTHON_PROVIDE("_testcapi.argparsing");
|
||||
PYTHON_PROVIDE("_testcapi.awaitType");
|
||||
PYTHON_PROVIDE("_testcapi.code_newempty");
|
||||
PYTHON_PROVIDE("_testcapi.codec_incrementaldecoder");
|
||||
PYTHON_PROVIDE("_testcapi.codec_incrementalencoder");
|
||||
PYTHON_PROVIDE("_testcapi.crash_no_current_thread");
|
||||
PYTHON_PROVIDE("_testcapi.create_cfunction");
|
||||
PYTHON_PROVIDE("_testcapi.dict_get_version");
|
||||
PYTHON_PROVIDE("_testcapi.dict_getitem_knownhash");
|
||||
PYTHON_PROVIDE("_testcapi.dict_hassplittable");
|
||||
PYTHON_PROVIDE("_testcapi.docstring_empty");
|
||||
PYTHON_PROVIDE("_testcapi.docstring_no_signature");
|
||||
PYTHON_PROVIDE("_testcapi.docstring_with_invalid_signature");
|
||||
PYTHON_PROVIDE("_testcapi.docstring_with_invalid_signature2");
|
||||
PYTHON_PROVIDE("_testcapi.docstring_with_signature");
|
||||
PYTHON_PROVIDE("_testcapi.docstring_with_signature_and_extra_newlines");
|
||||
PYTHON_PROVIDE("_testcapi.docstring_with_signature_but_no_doc");
|
||||
PYTHON_PROVIDE("_testcapi.docstring_with_signature_with_defaults");
|
||||
PYTHON_PROVIDE("_testcapi.error");
|
||||
PYTHON_PROVIDE("_testcapi.exception_print");
|
||||
PYTHON_PROVIDE("_testcapi.get_args");
|
||||
PYTHON_PROVIDE("_testcapi.get_kwargs");
|
||||
PYTHON_PROVIDE("_testcapi.get_recursion_depth");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_B");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_C");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_D");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_H");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_I");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_K");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_L");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_S");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_U");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_Y");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_Z");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_Z_hash");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_b");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_c");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_d");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_es");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_es_hash");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_et");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_et_hash");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_f");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_h");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_i");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_k");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_keyword_only");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_keywords");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_l");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_n");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_p");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_positional_only_and_keywords");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_s");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_s_hash");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_s_star");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_tuple");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_u");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_u_hash");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_w_star");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_y");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_y_hash");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_y_star");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_z");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_z_hash");
|
||||
PYTHON_PROVIDE("_testcapi.getargs_z_star");
|
||||
PYTHON_PROVIDE("_testcapi.getbuffer_with_null_view");
|
||||
PYTHON_PROVIDE("_testcapi.instancemethod");
|
||||
PYTHON_PROVIDE("_testcapi.make_exception_with_doc");
|
||||
PYTHON_PROVIDE("_testcapi.make_memoryview_from_NULL_pointer");
|
||||
PYTHON_PROVIDE("_testcapi.matmulType");
|
||||
PYTHON_PROVIDE("_testcapi.no_docstring");
|
||||
PYTHON_PROVIDE("_testcapi.parse_tuple_and_keywords");
|
||||
PYTHON_PROVIDE("_testcapi.profile_int");
|
||||
PYTHON_PROVIDE("_testcapi.pymarshal_read_last_object_from_file");
|
||||
PYTHON_PROVIDE("_testcapi.pymarshal_read_long_from_file");
|
||||
PYTHON_PROVIDE("_testcapi.pymarshal_read_object_from_file");
|
||||
PYTHON_PROVIDE("_testcapi.pymarshal_read_short_from_file");
|
||||
PYTHON_PROVIDE("_testcapi.pymarshal_write_long_to_file");
|
||||
PYTHON_PROVIDE("_testcapi.pymarshal_write_object_to_file");
|
||||
PYTHON_PROVIDE("_testcapi.pymem_api_misuse");
|
||||
PYTHON_PROVIDE("_testcapi.pymem_buffer_overflow");
|
||||
PYTHON_PROVIDE("_testcapi.pymem_malloc_without_gil");
|
||||
PYTHON_PROVIDE("_testcapi.pyobject_fastcall");
|
||||
PYTHON_PROVIDE("_testcapi.pyobject_fastcalldict");
|
||||
PYTHON_PROVIDE("_testcapi.pyobject_fastcallkeywords");
|
||||
PYTHON_PROVIDE("_testcapi.pyobject_malloc_without_gil");
|
||||
PYTHON_PROVIDE("_testcapi.pytime_object_to_time_t");
|
||||
PYTHON_PROVIDE("_testcapi.pytime_object_to_timespec");
|
||||
PYTHON_PROVIDE("_testcapi.pytime_object_to_timeval");
|
||||
PYTHON_PROVIDE("_testcapi.raise_SIGINT_then_send_None");
|
||||
PYTHON_PROVIDE("_testcapi.raise_exception");
|
||||
PYTHON_PROVIDE("_testcapi.raise_memoryerror");
|
||||
PYTHON_PROVIDE("_testcapi.raise_signal");
|
||||
PYTHON_PROVIDE("_testcapi.remove_mem_hooks");
|
||||
PYTHON_PROVIDE("_testcapi.return_null_without_error");
|
||||
PYTHON_PROVIDE("_testcapi.return_result_with_error");
|
||||
PYTHON_PROVIDE("_testcapi.run_in_subinterp");
|
||||
PYTHON_PROVIDE("_testcapi.set_errno");
|
||||
PYTHON_PROVIDE("_testcapi.set_exc_info");
|
||||
PYTHON_PROVIDE("_testcapi.set_nomemory");
|
||||
PYTHON_PROVIDE("_testcapi.test_L_code");
|
||||
PYTHON_PROVIDE("_testcapi.test_Z_code");
|
||||
PYTHON_PROVIDE("_testcapi.test_buildvalue_N");
|
||||
PYTHON_PROVIDE("_testcapi.test_capsule");
|
||||
PYTHON_PROVIDE("_testcapi.test_config");
|
||||
PYTHON_PROVIDE("_testcapi.test_datetime_capi");
|
||||
PYTHON_PROVIDE("_testcapi.test_decref_doesnt_leak");
|
||||
PYTHON_PROVIDE("_testcapi.test_dict_iteration");
|
||||
PYTHON_PROVIDE("_testcapi.test_empty_argparse");
|
||||
PYTHON_PROVIDE("_testcapi.test_from_contiguous");
|
||||
PYTHON_PROVIDE("_testcapi.test_incref_decref_API");
|
||||
PYTHON_PROVIDE("_testcapi.test_incref_doesnt_leak");
|
||||
PYTHON_PROVIDE("_testcapi.test_k_code");
|
||||
PYTHON_PROVIDE("_testcapi.test_lazy_hash_inheritance");
|
||||
PYTHON_PROVIDE("_testcapi.test_list_api");
|
||||
PYTHON_PROVIDE("_testcapi.test_long_and_overflow");
|
||||
PYTHON_PROVIDE("_testcapi.test_long_api");
|
||||
PYTHON_PROVIDE("_testcapi.test_long_as_double");
|
||||
PYTHON_PROVIDE("_testcapi.test_long_as_size_t");
|
||||
PYTHON_PROVIDE("_testcapi.test_long_long_and_overflow");
|
||||
PYTHON_PROVIDE("_testcapi.test_long_numbits");
|
||||
PYTHON_PROVIDE("_testcapi.test_longlong_api");
|
||||
PYTHON_PROVIDE("_testcapi.test_null_strings");
|
||||
PYTHON_PROVIDE("_testcapi.test_pymem_alloc0");
|
||||
PYTHON_PROVIDE("_testcapi.test_pymem_setallocators");
|
||||
PYTHON_PROVIDE("_testcapi.test_pymem_setrawallocators");
|
||||
PYTHON_PROVIDE("_testcapi.test_pyobject_setallocators");
|
||||
PYTHON_PROVIDE("_testcapi.test_s_code");
|
||||
PYTHON_PROVIDE("_testcapi.test_sizeof_c_types");
|
||||
PYTHON_PROVIDE("_testcapi.test_string_from_format");
|
||||
PYTHON_PROVIDE("_testcapi.test_string_to_double");
|
||||
PYTHON_PROVIDE("_testcapi.test_u_code");
|
||||
PYTHON_PROVIDE("_testcapi.test_unicode_compare_with_ascii");
|
||||
PYTHON_PROVIDE("_testcapi.test_widechar");
|
||||
PYTHON_PROVIDE("_testcapi.test_with_docstring");
|
||||
PYTHON_PROVIDE("_testcapi.test_xdecref_doesnt_leak");
|
||||
PYTHON_PROVIDE("_testcapi.test_xincref_doesnt_leak");
|
||||
PYTHON_PROVIDE("_testcapi.the_number_three");
|
||||
PYTHON_PROVIDE("_testcapi.traceback_print");
|
||||
PYTHON_PROVIDE("_testcapi.tracemalloc_get_traceback");
|
||||
PYTHON_PROVIDE("_testcapi.tracemalloc_track");
|
||||
PYTHON_PROVIDE("_testcapi.tracemalloc_untrack");
|
||||
PYTHON_PROVIDE("_testcapi.unicode_asucs4");
|
||||
PYTHON_PROVIDE("_testcapi.unicode_aswidechar");
|
||||
PYTHON_PROVIDE("_testcapi.unicode_aswidecharstring");
|
||||
PYTHON_PROVIDE("_testcapi.unicode_copycharacters");
|
||||
PYTHON_PROVIDE("_testcapi.unicode_encodedecimal");
|
||||
PYTHON_PROVIDE("_testcapi.unicode_legacy_string");
|
||||
PYTHON_PROVIDE("_testcapi.unicode_transformdecimaltoascii");
|
||||
PYTHON_PROVIDE("_testcapi.with_tp_del");
|
||||
|
||||
/*
|
||||
* C Extension module to test Python interpreter C APIs.
|
||||
|
|
7
third_party/python/Modules/_testmultiphase.c
vendored
7
third_party/python/Modules/_testmultiphase.c
vendored
|
@ -17,6 +17,13 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_testmultiphase");
|
||||
PYTHON_PROVIDE("_testmultiphase.Example");
|
||||
PYTHON_PROVIDE("_testmultiphase.Str");
|
||||
PYTHON_PROVIDE("_testmultiphase.call_state_registration_func");
|
||||
PYTHON_PROVIDE("_testmultiphase.error");
|
||||
PYTHON_PROVIDE("_testmultiphase.foo");
|
||||
PYTHON_PROVIDE("_testmultiphase.int_const");
|
||||
PYTHON_PROVIDE("_testmultiphase.str_const");
|
||||
|
||||
/* Testing module for multi-phase initialization of extension modules (PEP 489)
|
||||
*/
|
||||
|
|
16
third_party/python/Modules/_threadmodule.c
vendored
16
third_party/python/Modules/_threadmodule.c
vendored
|
@ -9,6 +9,22 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_thread");
|
||||
PYTHON_PROVIDE("_thread.LockType");
|
||||
PYTHON_PROVIDE("_thread.RLock");
|
||||
PYTHON_PROVIDE("_thread.TIMEOUT_MAX");
|
||||
PYTHON_PROVIDE("_thread._count");
|
||||
PYTHON_PROVIDE("_thread._local");
|
||||
PYTHON_PROVIDE("_thread._set_sentinel");
|
||||
PYTHON_PROVIDE("_thread.allocate");
|
||||
PYTHON_PROVIDE("_thread.allocate_lock");
|
||||
PYTHON_PROVIDE("_thread.error");
|
||||
PYTHON_PROVIDE("_thread.exit");
|
||||
PYTHON_PROVIDE("_thread.exit_thread");
|
||||
PYTHON_PROVIDE("_thread.get_ident");
|
||||
PYTHON_PROVIDE("_thread.interrupt_main");
|
||||
PYTHON_PROVIDE("_thread.stack_size");
|
||||
PYTHON_PROVIDE("_thread.start_new");
|
||||
PYTHON_PROVIDE("_thread.start_new_thread");
|
||||
|
||||
/* Thread module */
|
||||
/* Interface to Sjoerd's portable C thread library */
|
||||
|
|
9
third_party/python/Modules/_tracemalloc.c
vendored
9
third_party/python/Modules/_tracemalloc.c
vendored
|
@ -30,6 +30,15 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_tracemalloc");
|
||||
PYTHON_PROVIDE("_tracemalloc._get_object_traceback");
|
||||
PYTHON_PROVIDE("_tracemalloc._get_traces");
|
||||
PYTHON_PROVIDE("_tracemalloc.clear_traces");
|
||||
PYTHON_PROVIDE("_tracemalloc.get_traceback_limit");
|
||||
PYTHON_PROVIDE("_tracemalloc.get_traced_memory");
|
||||
PYTHON_PROVIDE("_tracemalloc.get_tracemalloc_memory");
|
||||
PYTHON_PROVIDE("_tracemalloc.is_tracing");
|
||||
PYTHON_PROVIDE("_tracemalloc.start");
|
||||
PYTHON_PROVIDE("_tracemalloc.stop");
|
||||
|
||||
/* Trace memory blocks allocated by PyMem_RawMalloc() */
|
||||
#define TRACE_RAW_MALLOC
|
||||
|
|
8
third_party/python/Modules/_weakref.c
vendored
8
third_party/python/Modules/_weakref.c
vendored
|
@ -16,6 +16,14 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_weakref");
|
||||
PYTHON_PROVIDE("_weakref.CallableProxyType");
|
||||
PYTHON_PROVIDE("_weakref.ProxyType");
|
||||
PYTHON_PROVIDE("_weakref.ReferenceType");
|
||||
PYTHON_PROVIDE("_weakref._remove_dead_weakref");
|
||||
PYTHON_PROVIDE("_weakref.getweakrefcount");
|
||||
PYTHON_PROVIDE("_weakref.getweakrefs");
|
||||
PYTHON_PROVIDE("_weakref.proxy");
|
||||
PYTHON_PROVIDE("_weakref.ref");
|
||||
|
||||
#define GET_WEAKREFS_LISTPTR(o) \
|
||||
((PyWeakReference **) PyObject_GET_WEAKREFS_LISTPTR(o))
|
||||
|
|
4
third_party/python/Modules/arraymodule.c
vendored
4
third_party/python/Modules/arraymodule.c
vendored
|
@ -25,6 +25,10 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("array");
|
||||
PYTHON_PROVIDE("array.ArrayType");
|
||||
PYTHON_PROVIDE("array._array_reconstructor");
|
||||
PYTHON_PROVIDE("array.array");
|
||||
PYTHON_PROVIDE("array.typecodes");
|
||||
|
||||
/* Array object implementation */
|
||||
|
||||
|
|
5
third_party/python/Modules/atexitmodule.c
vendored
5
third_party/python/Modules/atexitmodule.c
vendored
|
@ -21,6 +21,11 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("atexit");
|
||||
PYTHON_PROVIDE("atexit._clear");
|
||||
PYTHON_PROVIDE("atexit._ncallbacks");
|
||||
PYTHON_PROVIDE("atexit._run_exitfuncs");
|
||||
PYTHON_PROVIDE("atexit.register");
|
||||
PYTHON_PROVIDE("atexit.unregister");
|
||||
|
||||
/*
|
||||
* atexit - allow programmer to define multiple exit functions to be executed
|
||||
|
|
27
third_party/python/Modules/audioop.c
vendored
27
third_party/python/Modules/audioop.c
vendored
|
@ -19,6 +19,33 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("audioop");
|
||||
PYTHON_PROVIDE("audioop.add");
|
||||
PYTHON_PROVIDE("audioop.adpcm2lin");
|
||||
PYTHON_PROVIDE("audioop.alaw2lin");
|
||||
PYTHON_PROVIDE("audioop.avg");
|
||||
PYTHON_PROVIDE("audioop.avgpp");
|
||||
PYTHON_PROVIDE("audioop.bias");
|
||||
PYTHON_PROVIDE("audioop.byteswap");
|
||||
PYTHON_PROVIDE("audioop.cross");
|
||||
PYTHON_PROVIDE("audioop.error");
|
||||
PYTHON_PROVIDE("audioop.findfactor");
|
||||
PYTHON_PROVIDE("audioop.findfit");
|
||||
PYTHON_PROVIDE("audioop.findmax");
|
||||
PYTHON_PROVIDE("audioop.getsample");
|
||||
PYTHON_PROVIDE("audioop.lin2adpcm");
|
||||
PYTHON_PROVIDE("audioop.lin2alaw");
|
||||
PYTHON_PROVIDE("audioop.lin2lin");
|
||||
PYTHON_PROVIDE("audioop.lin2ulaw");
|
||||
PYTHON_PROVIDE("audioop.max");
|
||||
PYTHON_PROVIDE("audioop.maxpp");
|
||||
PYTHON_PROVIDE("audioop.minmax");
|
||||
PYTHON_PROVIDE("audioop.mul");
|
||||
PYTHON_PROVIDE("audioop.ratecv");
|
||||
PYTHON_PROVIDE("audioop.reverse");
|
||||
PYTHON_PROVIDE("audioop.rms");
|
||||
PYTHON_PROVIDE("audioop.tomono");
|
||||
PYTHON_PROVIDE("audioop.tostereo");
|
||||
PYTHON_PROVIDE("audioop.ulaw2lin");
|
||||
|
||||
/* audioopmodule - Module to detect peak values in arrays */
|
||||
|
||||
|
|
18
third_party/python/Modules/binascii.c
vendored
18
third_party/python/Modules/binascii.c
vendored
|
@ -21,6 +21,24 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("binascii");
|
||||
PYTHON_PROVIDE("binascii.Error");
|
||||
PYTHON_PROVIDE("binascii.Incomplete");
|
||||
PYTHON_PROVIDE("binascii.a2b_base64");
|
||||
PYTHON_PROVIDE("binascii.a2b_hex");
|
||||
PYTHON_PROVIDE("binascii.a2b_hqx");
|
||||
PYTHON_PROVIDE("binascii.a2b_qp");
|
||||
PYTHON_PROVIDE("binascii.a2b_uu");
|
||||
PYTHON_PROVIDE("binascii.b2a_base64");
|
||||
PYTHON_PROVIDE("binascii.b2a_hex");
|
||||
PYTHON_PROVIDE("binascii.b2a_hqx");
|
||||
PYTHON_PROVIDE("binascii.b2a_qp");
|
||||
PYTHON_PROVIDE("binascii.b2a_uu");
|
||||
PYTHON_PROVIDE("binascii.crc32");
|
||||
PYTHON_PROVIDE("binascii.crc_hqx");
|
||||
PYTHON_PROVIDE("binascii.hexlify");
|
||||
PYTHON_PROVIDE("binascii.rlecode_hqx");
|
||||
PYTHON_PROVIDE("binascii.rledecode_hqx");
|
||||
PYTHON_PROVIDE("binascii.unhexlify");
|
||||
|
||||
/*
|
||||
** Routines to represent binary data in ASCII and vice-versa
|
||||
|
|
|
@ -10,6 +10,11 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_codecs_cn");
|
||||
PYTHON_PROVIDE("_codecs_cn.__map_gb18030ext");
|
||||
PYTHON_PROVIDE("_codecs_cn.__map_gb2312");
|
||||
PYTHON_PROVIDE("_codecs_cn.__map_gbcommon");
|
||||
PYTHON_PROVIDE("_codecs_cn.__map_gbkext");
|
||||
PYTHON_PROVIDE("_codecs_cn.getcodec");
|
||||
|
||||
/*
|
||||
* _codecs_cn.c: Codecs collection for Mainland Chinese encodings
|
||||
|
|
|
@ -11,6 +11,10 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_codecs_hk");
|
||||
PYTHON_PROVIDE("_codecs_hk.__map_big5hkscs");
|
||||
PYTHON_PROVIDE("_codecs_hk.__map_big5hkscs_bmp");
|
||||
PYTHON_PROVIDE("_codecs_hk.__map_big5hkscs_nonbmp");
|
||||
PYTHON_PROVIDE("_codecs_hk.getcodec");
|
||||
|
||||
/*
|
||||
* _codecs_hk.c: Codecs collection for encodings from Hong Kong
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "third_party/python/Modules/cjkcodecs/mappings_jisx0213_pair.inc"
|
||||
|
||||
PYTHON_PROVIDE("_codecs_iso2022");
|
||||
PYTHON_PROVIDE("_codecs_iso2022.getcodec");
|
||||
|
||||
/* STATE
|
||||
|
||||
|
|
|
@ -22,6 +22,18 @@
|
|||
#include "third_party/python/Modules/cjkcodecs/emu_jisx0213_2000.inc"
|
||||
|
||||
PYTHON_PROVIDE("_codecs_jp");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_cp932ext");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0208");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0212");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0213_1_bmp");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0213_1_emp");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0213_2_bmp");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0213_2_emp");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0213_bmp");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0213_emp");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisx0213_pair");
|
||||
PYTHON_PROVIDE("_codecs_jp.__map_jisxcommon");
|
||||
PYTHON_PROVIDE("_codecs_jp.getcodec");
|
||||
|
||||
/*
|
||||
* CP932 codec
|
||||
|
|
|
@ -17,6 +17,10 @@
|
|||
#include "third_party/python/Modules/cjkcodecs/mappings_kr.inc"
|
||||
|
||||
PYTHON_PROVIDE("_codecs_kr");
|
||||
PYTHON_PROVIDE("_codecs_kr.__map_cp949");
|
||||
PYTHON_PROVIDE("_codecs_kr.__map_cp949ext");
|
||||
PYTHON_PROVIDE("_codecs_kr.__map_ksx1001");
|
||||
PYTHON_PROVIDE("_codecs_kr.getcodec");
|
||||
|
||||
/*
|
||||
* EUC-KR codec
|
||||
|
|
|
@ -10,6 +10,9 @@
|
|||
#include "third_party/python/Modules/cjkcodecs/mappings_tw.inc"
|
||||
|
||||
PYTHON_PROVIDE("_codecs_tw");
|
||||
PYTHON_PROVIDE("_codecs_tw.__map_big5");
|
||||
PYTHON_PROVIDE("_codecs_tw.__map_cp950ext");
|
||||
PYTHON_PROVIDE("_codecs_tw.getcodec");
|
||||
|
||||
/*
|
||||
* BIG5 codec
|
||||
|
|
|
@ -22,6 +22,11 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_multibytecodec");
|
||||
PYTHON_PROVIDE("_multibytecodec.MultibyteIncrementalDecoder");
|
||||
PYTHON_PROVIDE("_multibytecodec.MultibyteIncrementalEncoder");
|
||||
PYTHON_PROVIDE("_multibytecodec.MultibyteStreamReader");
|
||||
PYTHON_PROVIDE("_multibytecodec.MultibyteStreamWriter");
|
||||
PYTHON_PROVIDE("_multibytecodec.__create_codec");
|
||||
|
||||
#include "third_party/python/Modules/cjkcodecs/clinic/multibytecodec.inc"
|
||||
|
||||
|
|
30
third_party/python/Modules/cmathmodule.c
vendored
30
third_party/python/Modules/cmathmodule.c
vendored
|
@ -23,6 +23,36 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("cmath");
|
||||
PYTHON_PROVIDE("cmath.acos");
|
||||
PYTHON_PROVIDE("cmath.acosh");
|
||||
PYTHON_PROVIDE("cmath.asin");
|
||||
PYTHON_PROVIDE("cmath.asinh");
|
||||
PYTHON_PROVIDE("cmath.atan");
|
||||
PYTHON_PROVIDE("cmath.atanh");
|
||||
PYTHON_PROVIDE("cmath.cos");
|
||||
PYTHON_PROVIDE("cmath.cosh");
|
||||
PYTHON_PROVIDE("cmath.e");
|
||||
PYTHON_PROVIDE("cmath.exp");
|
||||
PYTHON_PROVIDE("cmath.inf");
|
||||
PYTHON_PROVIDE("cmath.infj");
|
||||
PYTHON_PROVIDE("cmath.isclose");
|
||||
PYTHON_PROVIDE("cmath.isfinite");
|
||||
PYTHON_PROVIDE("cmath.isinf");
|
||||
PYTHON_PROVIDE("cmath.isnan");
|
||||
PYTHON_PROVIDE("cmath.log");
|
||||
PYTHON_PROVIDE("cmath.log10");
|
||||
PYTHON_PROVIDE("cmath.nan");
|
||||
PYTHON_PROVIDE("cmath.nanj");
|
||||
PYTHON_PROVIDE("cmath.phase");
|
||||
PYTHON_PROVIDE("cmath.pi");
|
||||
PYTHON_PROVIDE("cmath.polar");
|
||||
PYTHON_PROVIDE("cmath.rect");
|
||||
PYTHON_PROVIDE("cmath.sin");
|
||||
PYTHON_PROVIDE("cmath.sinh");
|
||||
PYTHON_PROVIDE("cmath.sqrt");
|
||||
PYTHON_PROVIDE("cmath.tan");
|
||||
PYTHON_PROVIDE("cmath.tanh");
|
||||
PYTHON_PROVIDE("cmath.tau");
|
||||
|
||||
/* Complex math module */
|
||||
|
||||
|
|
5
third_party/python/Modules/config.c
vendored
5
third_party/python/Modules/config.c
vendored
|
@ -27,6 +27,7 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|||
#include "third_party/python/Include/pyport.h"
|
||||
#include "third_party/python/Include/pyport.h"
|
||||
#include "third_party/python/Include/Python.h"
|
||||
#include "third_party/python/Include/import.h"
|
||||
#include "third_party/python/Include/cosmo.h"
|
||||
|
||||
PyObject* PyInit__decimal(void);
|
||||
|
@ -48,6 +49,7 @@ PyObject* PyInit__locale(void);
|
|||
PyObject* PyInit__io(void);
|
||||
PyObject* PyInit_zipimport(void);
|
||||
PyObject* PyInit_faulthandler(void);
|
||||
PyObject* PyInit__hashlib(void);
|
||||
#ifdef MODE_DBG
|
||||
PyObject* PyInit__tracemalloc(void);
|
||||
#endif
|
||||
|
@ -66,6 +68,7 @@ PyObject* PyInit__bisect(void);
|
|||
PyObject* PyInit__heapq(void);
|
||||
PyObject* PyInit_unicodedata(void);
|
||||
PyObject* PyInit_fcntl(void);
|
||||
PyObject* PyInit__bz2(void);
|
||||
PyObject* PyInit_grp(void);
|
||||
PyObject* PyInit_select(void);
|
||||
PyObject* PyInit_mmap(void);
|
||||
|
@ -131,6 +134,8 @@ struct _inittab _PyImport_Inittab[] = {
|
|||
{"_tracemalloc", PyInit__tracemalloc},
|
||||
#endif
|
||||
{"_symtable", PyInit__symtable},
|
||||
{"_hashlib", PyInit__hashlib},
|
||||
{"_bz2module", PyInit__bz2},
|
||||
{"array", PyInit_array},
|
||||
{"cmath", PyInit_cmath},
|
||||
{"math", PyInit_math},
|
||||
|
|
132
third_party/python/Modules/errnomodule.c
vendored
132
third_party/python/Modules/errnomodule.c
vendored
|
@ -19,6 +19,138 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("errno");
|
||||
PYTHON_PROVIDE("errno.E2BIG");
|
||||
PYTHON_PROVIDE("errno.EACCES");
|
||||
PYTHON_PROVIDE("errno.EADDRINUSE");
|
||||
PYTHON_PROVIDE("errno.EADDRNOTAVAIL");
|
||||
PYTHON_PROVIDE("errno.EADV");
|
||||
PYTHON_PROVIDE("errno.EAFNOSUPPORT");
|
||||
PYTHON_PROVIDE("errno.EAGAIN");
|
||||
PYTHON_PROVIDE("errno.EALREADY");
|
||||
PYTHON_PROVIDE("errno.EBADE");
|
||||
PYTHON_PROVIDE("errno.EBADF");
|
||||
PYTHON_PROVIDE("errno.EBADFD");
|
||||
PYTHON_PROVIDE("errno.EBADMSG");
|
||||
PYTHON_PROVIDE("errno.EBADR");
|
||||
PYTHON_PROVIDE("errno.EBADRQC");
|
||||
PYTHON_PROVIDE("errno.EBADSLT");
|
||||
PYTHON_PROVIDE("errno.EBUSY");
|
||||
PYTHON_PROVIDE("errno.ECANCELED");
|
||||
PYTHON_PROVIDE("errno.ECHILD");
|
||||
PYTHON_PROVIDE("errno.ECHRNG");
|
||||
PYTHON_PROVIDE("errno.ECOMM");
|
||||
PYTHON_PROVIDE("errno.ECONNABORTED");
|
||||
PYTHON_PROVIDE("errno.ECONNREFUSED");
|
||||
PYTHON_PROVIDE("errno.ECONNRESET");
|
||||
PYTHON_PROVIDE("errno.EDEADLK");
|
||||
PYTHON_PROVIDE("errno.EDESTADDRREQ");
|
||||
PYTHON_PROVIDE("errno.EDOM");
|
||||
PYTHON_PROVIDE("errno.EDOTDOT");
|
||||
PYTHON_PROVIDE("errno.EDQUOT");
|
||||
PYTHON_PROVIDE("errno.EEXIST");
|
||||
PYTHON_PROVIDE("errno.EFAULT");
|
||||
PYTHON_PROVIDE("errno.EFBIG");
|
||||
PYTHON_PROVIDE("errno.EHOSTDOWN");
|
||||
PYTHON_PROVIDE("errno.EHOSTUNREACH");
|
||||
PYTHON_PROVIDE("errno.EIDRM");
|
||||
PYTHON_PROVIDE("errno.EILSEQ");
|
||||
PYTHON_PROVIDE("errno.EINPROGRESS");
|
||||
PYTHON_PROVIDE("errno.EINTR");
|
||||
PYTHON_PROVIDE("errno.EINVAL");
|
||||
PYTHON_PROVIDE("errno.EIO");
|
||||
PYTHON_PROVIDE("errno.EISCONN");
|
||||
PYTHON_PROVIDE("errno.EISDIR");
|
||||
PYTHON_PROVIDE("errno.EISNAM");
|
||||
PYTHON_PROVIDE("errno.EKEYEXPIRED");
|
||||
PYTHON_PROVIDE("errno.EKEYREJECTED");
|
||||
PYTHON_PROVIDE("errno.EKEYREVOKED");
|
||||
PYTHON_PROVIDE("errno.EL2HLT");
|
||||
PYTHON_PROVIDE("errno.EL2NSYNC");
|
||||
PYTHON_PROVIDE("errno.EL3HLT");
|
||||
PYTHON_PROVIDE("errno.EL3RST");
|
||||
PYTHON_PROVIDE("errno.ELIBACC");
|
||||
PYTHON_PROVIDE("errno.ELIBBAD");
|
||||
PYTHON_PROVIDE("errno.ELIBEXEC");
|
||||
PYTHON_PROVIDE("errno.ELIBMAX");
|
||||
PYTHON_PROVIDE("errno.ELIBSCN");
|
||||
PYTHON_PROVIDE("errno.ELNRNG");
|
||||
PYTHON_PROVIDE("errno.ELOOP");
|
||||
PYTHON_PROVIDE("errno.EMEDIUMTYPE");
|
||||
PYTHON_PROVIDE("errno.EMFILE");
|
||||
PYTHON_PROVIDE("errno.EMLINK");
|
||||
PYTHON_PROVIDE("errno.EMSGSIZE");
|
||||
PYTHON_PROVIDE("errno.EMULTIHOP");
|
||||
PYTHON_PROVIDE("errno.ENAMETOOLONG");
|
||||
PYTHON_PROVIDE("errno.ENAVAIL");
|
||||
PYTHON_PROVIDE("errno.ENETDOWN");
|
||||
PYTHON_PROVIDE("errno.ENETRESET");
|
||||
PYTHON_PROVIDE("errno.ENETUNREACH");
|
||||
PYTHON_PROVIDE("errno.ENFILE");
|
||||
PYTHON_PROVIDE("errno.ENOANO");
|
||||
PYTHON_PROVIDE("errno.ENOBUFS");
|
||||
PYTHON_PROVIDE("errno.ENOCSI");
|
||||
PYTHON_PROVIDE("errno.ENODATA");
|
||||
PYTHON_PROVIDE("errno.ENODEV");
|
||||
PYTHON_PROVIDE("errno.ENOENT");
|
||||
PYTHON_PROVIDE("errno.ENOEXEC");
|
||||
PYTHON_PROVIDE("errno.ENOKEY");
|
||||
PYTHON_PROVIDE("errno.ENOLCK");
|
||||
PYTHON_PROVIDE("errno.ENOLINK");
|
||||
PYTHON_PROVIDE("errno.ENOMEDIUM");
|
||||
PYTHON_PROVIDE("errno.ENOMEM");
|
||||
PYTHON_PROVIDE("errno.ENOMSG");
|
||||
PYTHON_PROVIDE("errno.ENONET");
|
||||
PYTHON_PROVIDE("errno.ENOPKG");
|
||||
PYTHON_PROVIDE("errno.ENOPROTOOPT");
|
||||
PYTHON_PROVIDE("errno.ENOSPC");
|
||||
PYTHON_PROVIDE("errno.ENOSR");
|
||||
PYTHON_PROVIDE("errno.ENOSTR");
|
||||
PYTHON_PROVIDE("errno.ENOSYS");
|
||||
PYTHON_PROVIDE("errno.ENOTBLK");
|
||||
PYTHON_PROVIDE("errno.ENOTCONN");
|
||||
PYTHON_PROVIDE("errno.ENOTDIR");
|
||||
PYTHON_PROVIDE("errno.ENOTEMPTY");
|
||||
PYTHON_PROVIDE("errno.ENOTNAM");
|
||||
PYTHON_PROVIDE("errno.ENOTRECOVERABLE");
|
||||
PYTHON_PROVIDE("errno.ENOTSOCK");
|
||||
PYTHON_PROVIDE("errno.ENOTSUP");
|
||||
PYTHON_PROVIDE("errno.ENOTTY");
|
||||
PYTHON_PROVIDE("errno.ENOTUNIQ");
|
||||
PYTHON_PROVIDE("errno.ENXIO");
|
||||
PYTHON_PROVIDE("errno.EOPNOTSUPP");
|
||||
PYTHON_PROVIDE("errno.EOVERFLOW");
|
||||
PYTHON_PROVIDE("errno.EOWNERDEAD");
|
||||
PYTHON_PROVIDE("errno.EPERM");
|
||||
PYTHON_PROVIDE("errno.EPFNOSUPPORT");
|
||||
PYTHON_PROVIDE("errno.EPIPE");
|
||||
PYTHON_PROVIDE("errno.EPROTO");
|
||||
PYTHON_PROVIDE("errno.EPROTONOSUPPORT");
|
||||
PYTHON_PROVIDE("errno.EPROTOTYPE");
|
||||
PYTHON_PROVIDE("errno.ERANGE");
|
||||
PYTHON_PROVIDE("errno.EREMCHG");
|
||||
PYTHON_PROVIDE("errno.EREMOTE");
|
||||
PYTHON_PROVIDE("errno.EREMOTEIO");
|
||||
PYTHON_PROVIDE("errno.ERESTART");
|
||||
PYTHON_PROVIDE("errno.ERFKILL");
|
||||
PYTHON_PROVIDE("errno.EROFS");
|
||||
PYTHON_PROVIDE("errno.ESHUTDOWN");
|
||||
PYTHON_PROVIDE("errno.ESOCKTNOSUPPORT");
|
||||
PYTHON_PROVIDE("errno.ESPIPE");
|
||||
PYTHON_PROVIDE("errno.ESRCH");
|
||||
PYTHON_PROVIDE("errno.ESRMNT");
|
||||
PYTHON_PROVIDE("errno.ESTALE");
|
||||
PYTHON_PROVIDE("errno.ESTRPIPE");
|
||||
PYTHON_PROVIDE("errno.ETIME");
|
||||
PYTHON_PROVIDE("errno.ETIMEDOUT");
|
||||
PYTHON_PROVIDE("errno.ETOOMANYREFS");
|
||||
PYTHON_PROVIDE("errno.ETXTBSY");
|
||||
PYTHON_PROVIDE("errno.EUCLEAN");
|
||||
PYTHON_PROVIDE("errno.EUNATCH");
|
||||
PYTHON_PROVIDE("errno.EUSERS");
|
||||
PYTHON_PROVIDE("errno.EWOULDBLOCK");
|
||||
PYTHON_PROVIDE("errno.EXDEV");
|
||||
PYTHON_PROVIDE("errno.EXFULL");
|
||||
PYTHON_PROVIDE("errno.errorcode");
|
||||
|
||||
static PyMethodDef errno_methods[] = {
|
||||
{NULL, NULL}
|
||||
|
|
15
third_party/python/Modules/faulthandler.c
vendored
15
third_party/python/Modules/faulthandler.c
vendored
|
@ -33,6 +33,21 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("faulthandler");
|
||||
PYTHON_PROVIDE("faulthandler._fatal_error");
|
||||
PYTHON_PROVIDE("faulthandler._fatal_error_c_thread");
|
||||
PYTHON_PROVIDE("faulthandler._read_null");
|
||||
PYTHON_PROVIDE("faulthandler._sigabrt");
|
||||
PYTHON_PROVIDE("faulthandler._sigfpe");
|
||||
PYTHON_PROVIDE("faulthandler._sigsegv");
|
||||
PYTHON_PROVIDE("faulthandler._stack_overflow");
|
||||
PYTHON_PROVIDE("faulthandler.cancel_dump_traceback_later");
|
||||
PYTHON_PROVIDE("faulthandler.disable");
|
||||
PYTHON_PROVIDE("faulthandler.dump_traceback");
|
||||
PYTHON_PROVIDE("faulthandler.dump_traceback_later");
|
||||
PYTHON_PROVIDE("faulthandler.enable");
|
||||
PYTHON_PROVIDE("faulthandler.is_enabled");
|
||||
PYTHON_PROVIDE("faulthandler.register");
|
||||
PYTHON_PROVIDE("faulthandler.unregister");
|
||||
|
||||
/* Allocate at maximum 100 MB of the stack to raise the stack overflow */
|
||||
#define STACK_OVERFLOW_MAX_SIZE (100*1024*1024)
|
||||
|
|
31
third_party/python/Modules/fcntlmodule.c
vendored
31
third_party/python/Modules/fcntlmodule.c
vendored
|
@ -25,6 +25,37 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("fcntl");
|
||||
PYTHON_PROVIDE("fcntl.FD_CLOEXEC");
|
||||
PYTHON_PROVIDE("fcntl.F_DUPFD");
|
||||
PYTHON_PROVIDE("fcntl.F_DUPFD_CLOEXEC");
|
||||
PYTHON_PROVIDE("fcntl.F_GETFD");
|
||||
PYTHON_PROVIDE("fcntl.F_GETFL");
|
||||
PYTHON_PROVIDE("fcntl.F_GETLEASE");
|
||||
PYTHON_PROVIDE("fcntl.F_GETLK");
|
||||
PYTHON_PROVIDE("fcntl.F_GETLK64");
|
||||
PYTHON_PROVIDE("fcntl.F_GETOWN");
|
||||
PYTHON_PROVIDE("fcntl.F_GETSIG");
|
||||
PYTHON_PROVIDE("fcntl.F_NOTIFY");
|
||||
PYTHON_PROVIDE("fcntl.F_RDLCK");
|
||||
PYTHON_PROVIDE("fcntl.F_SETFD");
|
||||
PYTHON_PROVIDE("fcntl.F_SETFL");
|
||||
PYTHON_PROVIDE("fcntl.F_SETLEASE");
|
||||
PYTHON_PROVIDE("fcntl.F_SETLK");
|
||||
PYTHON_PROVIDE("fcntl.F_SETLK64");
|
||||
PYTHON_PROVIDE("fcntl.F_SETLKW");
|
||||
PYTHON_PROVIDE("fcntl.F_SETLKW64");
|
||||
PYTHON_PROVIDE("fcntl.F_SETOWN");
|
||||
PYTHON_PROVIDE("fcntl.F_SETSIG");
|
||||
PYTHON_PROVIDE("fcntl.F_UNLCK");
|
||||
PYTHON_PROVIDE("fcntl.F_WRLCK");
|
||||
PYTHON_PROVIDE("fcntl.LOCK_EX");
|
||||
PYTHON_PROVIDE("fcntl.LOCK_NB");
|
||||
PYTHON_PROVIDE("fcntl.LOCK_SH");
|
||||
PYTHON_PROVIDE("fcntl.LOCK_UN");
|
||||
PYTHON_PROVIDE("fcntl.fcntl");
|
||||
PYTHON_PROVIDE("fcntl.flock");
|
||||
PYTHON_PROVIDE("fcntl.ioctl");
|
||||
PYTHON_PROVIDE("fcntl.lockf");
|
||||
|
||||
/* fcntl module */
|
||||
|
||||
|
|
21
third_party/python/Modules/gcmodule.c
vendored
21
third_party/python/Modules/gcmodule.c
vendored
|
@ -26,6 +26,27 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("gc");
|
||||
PYTHON_PROVIDE("gc.DEBUG_COLLECTABLE");
|
||||
PYTHON_PROVIDE("gc.DEBUG_LEAK");
|
||||
PYTHON_PROVIDE("gc.DEBUG_SAVEALL");
|
||||
PYTHON_PROVIDE("gc.DEBUG_STATS");
|
||||
PYTHON_PROVIDE("gc.DEBUG_UNCOLLECTABLE");
|
||||
PYTHON_PROVIDE("gc.callbacks");
|
||||
PYTHON_PROVIDE("gc.collect");
|
||||
PYTHON_PROVIDE("gc.disable");
|
||||
PYTHON_PROVIDE("gc.enable");
|
||||
PYTHON_PROVIDE("gc.garbage");
|
||||
PYTHON_PROVIDE("gc.get_count");
|
||||
PYTHON_PROVIDE("gc.get_debug");
|
||||
PYTHON_PROVIDE("gc.get_objects");
|
||||
PYTHON_PROVIDE("gc.get_referents");
|
||||
PYTHON_PROVIDE("gc.get_referrers");
|
||||
PYTHON_PROVIDE("gc.get_stats");
|
||||
PYTHON_PROVIDE("gc.get_threshold");
|
||||
PYTHON_PROVIDE("gc.is_tracked");
|
||||
PYTHON_PROVIDE("gc.isenabled");
|
||||
PYTHON_PROVIDE("gc.set_debug");
|
||||
PYTHON_PROVIDE("gc.set_threshold");
|
||||
|
||||
/*
|
||||
|
||||
|
|
4
third_party/python/Modules/grpmodule.c
vendored
4
third_party/python/Modules/grpmodule.c
vendored
|
@ -22,6 +22,10 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("grp");
|
||||
PYTHON_PROVIDE("grp.getgrall");
|
||||
PYTHON_PROVIDE("grp.getgrgid");
|
||||
PYTHON_PROVIDE("grp.getgrnam");
|
||||
PYTHON_PROVIDE("grp.struct_group");
|
||||
|
||||
/* UNIX group file access module */
|
||||
|
||||
|
|
21
third_party/python/Modules/itertoolsmodule.c
vendored
21
third_party/python/Modules/itertoolsmodule.c
vendored
|
@ -17,6 +17,27 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("itertools");
|
||||
PYTHON_PROVIDE("itertools._grouper");
|
||||
PYTHON_PROVIDE("itertools._tee");
|
||||
PYTHON_PROVIDE("itertools._tee_dataobject");
|
||||
PYTHON_PROVIDE("itertools.accumulate");
|
||||
PYTHON_PROVIDE("itertools.chain");
|
||||
PYTHON_PROVIDE("itertools.combinations");
|
||||
PYTHON_PROVIDE("itertools.combinations_with_replacement");
|
||||
PYTHON_PROVIDE("itertools.compress");
|
||||
PYTHON_PROVIDE("itertools.count");
|
||||
PYTHON_PROVIDE("itertools.cycle");
|
||||
PYTHON_PROVIDE("itertools.dropwhile");
|
||||
PYTHON_PROVIDE("itertools.filterfalse");
|
||||
PYTHON_PROVIDE("itertools.groupby");
|
||||
PYTHON_PROVIDE("itertools.islice");
|
||||
PYTHON_PROVIDE("itertools.permutations");
|
||||
PYTHON_PROVIDE("itertools.product");
|
||||
PYTHON_PROVIDE("itertools.repeat");
|
||||
PYTHON_PROVIDE("itertools.starmap");
|
||||
PYTHON_PROVIDE("itertools.takewhile");
|
||||
PYTHON_PROVIDE("itertools.tee");
|
||||
PYTHON_PROVIDE("itertools.zip_longest");
|
||||
|
||||
/* Itertools module written and maintained
|
||||
by Raymond D. Hettinger <python@rcn.com>
|
||||
|
|
3
third_party/python/Modules/main.c
vendored
3
third_party/python/Modules/main.c
vendored
|
@ -47,8 +47,9 @@ PYTHON_YOINK("struct"); // for memoryobject.o
|
|||
|
||||
PYTHON_YOINK("_bootlocale");
|
||||
PYTHON_YOINK("_locale");
|
||||
PYTHON_YOINK("locale");
|
||||
PYTHON_YOINK("_sysconfigdata_m_cosmo_x86_64-cosmo");
|
||||
PYTHON_YOINK("locale");
|
||||
PYTHON_YOINK("runpy");
|
||||
PYTHON_YOINK("sysconfig");
|
||||
|
||||
/* Python interpreter main program */
|
||||
|
|
49
third_party/python/Modules/mathmodule.c
vendored
49
third_party/python/Modules/mathmodule.c
vendored
|
@ -25,6 +25,55 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("math");
|
||||
PYTHON_PROVIDE("math.acos");
|
||||
PYTHON_PROVIDE("math.acosh");
|
||||
PYTHON_PROVIDE("math.asin");
|
||||
PYTHON_PROVIDE("math.asinh");
|
||||
PYTHON_PROVIDE("math.atan");
|
||||
PYTHON_PROVIDE("math.atan2");
|
||||
PYTHON_PROVIDE("math.atanh");
|
||||
PYTHON_PROVIDE("math.ceil");
|
||||
PYTHON_PROVIDE("math.copysign");
|
||||
PYTHON_PROVIDE("math.cos");
|
||||
PYTHON_PROVIDE("math.cosh");
|
||||
PYTHON_PROVIDE("math.degrees");
|
||||
PYTHON_PROVIDE("math.e");
|
||||
PYTHON_PROVIDE("math.erf");
|
||||
PYTHON_PROVIDE("math.erfc");
|
||||
PYTHON_PROVIDE("math.exp");
|
||||
PYTHON_PROVIDE("math.expm1");
|
||||
PYTHON_PROVIDE("math.fabs");
|
||||
PYTHON_PROVIDE("math.factorial");
|
||||
PYTHON_PROVIDE("math.floor");
|
||||
PYTHON_PROVIDE("math.fmod");
|
||||
PYTHON_PROVIDE("math.frexp");
|
||||
PYTHON_PROVIDE("math.fsum");
|
||||
PYTHON_PROVIDE("math.gamma");
|
||||
PYTHON_PROVIDE("math.gcd");
|
||||
PYTHON_PROVIDE("math.hypot");
|
||||
PYTHON_PROVIDE("math.inf");
|
||||
PYTHON_PROVIDE("math.isclose");
|
||||
PYTHON_PROVIDE("math.isfinite");
|
||||
PYTHON_PROVIDE("math.isinf");
|
||||
PYTHON_PROVIDE("math.isnan");
|
||||
PYTHON_PROVIDE("math.ldexp");
|
||||
PYTHON_PROVIDE("math.lgamma");
|
||||
PYTHON_PROVIDE("math.log");
|
||||
PYTHON_PROVIDE("math.log10");
|
||||
PYTHON_PROVIDE("math.log1p");
|
||||
PYTHON_PROVIDE("math.log2");
|
||||
PYTHON_PROVIDE("math.modf");
|
||||
PYTHON_PROVIDE("math.nan");
|
||||
PYTHON_PROVIDE("math.pi");
|
||||
PYTHON_PROVIDE("math.pow");
|
||||
PYTHON_PROVIDE("math.radians");
|
||||
PYTHON_PROVIDE("math.sin");
|
||||
PYTHON_PROVIDE("math.sinh");
|
||||
PYTHON_PROVIDE("math.sqrt");
|
||||
PYTHON_PROVIDE("math.tan");
|
||||
PYTHON_PROVIDE("math.tanh");
|
||||
PYTHON_PROVIDE("math.tau");
|
||||
PYTHON_PROVIDE("math.trunc");
|
||||
|
||||
/* Math module -- standard C math library functions, pi and e */
|
||||
|
||||
|
|
2
third_party/python/Modules/md5module.c
vendored
2
third_party/python/Modules/md5module.c
vendored
|
@ -18,6 +18,8 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_md5");
|
||||
PYTHON_PROVIDE("_md5.MD5Type");
|
||||
PYTHON_PROVIDE("_md5.md5");
|
||||
|
||||
/* See below for information about the original code this module was
|
||||
based upon. Additional work performed by:
|
||||
|
|
16
third_party/python/Modules/mmapmodule.c
vendored
16
third_party/python/Modules/mmapmodule.c
vendored
|
@ -30,6 +30,22 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("mmap");
|
||||
PYTHON_PROVIDE("mmap.ACCESS_COPY");
|
||||
PYTHON_PROVIDE("mmap.ACCESS_READ");
|
||||
PYTHON_PROVIDE("mmap.ACCESS_WRITE");
|
||||
PYTHON_PROVIDE("mmap.ALLOCATIONGRANULARITY");
|
||||
PYTHON_PROVIDE("mmap.MAP_ANON");
|
||||
PYTHON_PROVIDE("mmap.MAP_ANONYMOUS");
|
||||
PYTHON_PROVIDE("mmap.MAP_DENYWRITE");
|
||||
PYTHON_PROVIDE("mmap.MAP_EXECUTABLE");
|
||||
PYTHON_PROVIDE("mmap.MAP_PRIVATE");
|
||||
PYTHON_PROVIDE("mmap.MAP_SHARED");
|
||||
PYTHON_PROVIDE("mmap.PAGESIZE");
|
||||
PYTHON_PROVIDE("mmap.PROT_EXEC");
|
||||
PYTHON_PROVIDE("mmap.PROT_READ");
|
||||
PYTHON_PROVIDE("mmap.PROT_WRITE");
|
||||
PYTHON_PROVIDE("mmap.error");
|
||||
PYTHON_PROVIDE("mmap.mmap");
|
||||
|
||||
/*
|
||||
/ Author: Sam Rushing <rushing@nightmare.com>
|
||||
|
|
118
third_party/python/Modules/ossaudiodev.c
vendored
118
third_party/python/Modules/ossaudiodev.c
vendored
|
@ -11,6 +11,124 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("ossaudiodev");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_AC3");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_A_LAW");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_IMA_ADPCM");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_MPEG");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_MU_LAW");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_QUERY");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_S16_BE");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_S16_LE");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_S16_NE");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_S8");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_U16_BE");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_U16_LE");
|
||||
PYTHON_PROVIDE("ossaudiodev.AFMT_U8");
|
||||
PYTHON_PROVIDE("ossaudiodev.OSSAudioError");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_HALT");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_LOAD");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_RCODE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_RCVMSG");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_RDATA");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_RESET");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_RUN");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_SENDMSG");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_WCODE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_COPR_WDATA");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_BIND_CHANNEL");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_CHANNELS");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETBLKSIZE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETCAPS");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETCHANNELMASK");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETFMTS");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETIPTR");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETISPACE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETODELAY");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETOPTR");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETOSPACE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETSPDIF");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_GETTRIGGER");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_MAPINBUF");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_MAPOUTBUF");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_NONBLOCK");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_POST");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_PROFILE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_RESET");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SAMPLESIZE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SETDUPLEX");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SETFMT");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SETFRAGMENT");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SETSPDIF");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SETSYNCRO");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SETTRIGGER");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SPEED");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_STEREO");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SUBDIVIDE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_DSP_SYNC");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_FM_4OP_ENABLE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_FM_LOAD_INSTR");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_MIDI_INFO");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_MIDI_MPUCMD");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_MIDI_MPUMODE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_MIDI_PRETIME");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_CTRLRATE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_GETINCOUNT");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_GETOUTCOUNT");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_GETTIME");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_NRMIDIS");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_NRSYNTHS");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_OUTOFBAND");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_PANIC");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_PERCMODE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_RESET");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_RESETSAMPLES");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_SYNC");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_TESTMIDI");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SEQ_THRESHOLD");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SYNTH_CONTROL");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SYNTH_ID");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SYNTH_INFO");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SYNTH_MEMAVL");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_TMR_CONTINUE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_TMR_METRONOME");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_TMR_SELECT");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_TMR_SOURCE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_TMR_START");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_TMR_STOP");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_TMR_TEMPO");
|
||||
PYTHON_PROVIDE("ossaudiodev.SNDCTL_TMR_TIMEBASE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_ALTPCM");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_BASS");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_CD");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_DIGITAL1");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_DIGITAL2");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_DIGITAL3");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_IGAIN");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_IMIX");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_LINE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_LINE1");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_LINE2");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_LINE3");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_MIC");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_MONITOR");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_NRDEVICES");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_OGAIN");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_PCM");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_PHONEIN");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_PHONEOUT");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_RADIO");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_RECLEV");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_SPEAKER");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_SYNTH");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_TREBLE");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_VIDEO");
|
||||
PYTHON_PROVIDE("ossaudiodev.SOUND_MIXER_VOLUME");
|
||||
PYTHON_PROVIDE("ossaudiodev.control_labels");
|
||||
PYTHON_PROVIDE("ossaudiodev.control_names");
|
||||
PYTHON_PROVIDE("ossaudiodev.error");
|
||||
PYTHON_PROVIDE("ossaudiodev.open");
|
||||
PYTHON_PROVIDE("ossaudiodev.openmixer");
|
||||
|
||||
/*
|
||||
* ossaudiodev -- Python interface to the OSS (Open Sound System) API.
|
||||
|
|
12
third_party/python/Modules/parsermodule.c
vendored
12
third_party/python/Modules/parsermodule.c
vendored
|
@ -28,6 +28,18 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("parser");
|
||||
PYTHON_PROVIDE("parser.ParserError");
|
||||
PYTHON_PROVIDE("parser.STType");
|
||||
PYTHON_PROVIDE("parser._pickler");
|
||||
PYTHON_PROVIDE("parser.compilest");
|
||||
PYTHON_PROVIDE("parser.expr");
|
||||
PYTHON_PROVIDE("parser.isexpr");
|
||||
PYTHON_PROVIDE("parser.issuite");
|
||||
PYTHON_PROVIDE("parser.sequence2st");
|
||||
PYTHON_PROVIDE("parser.st2list");
|
||||
PYTHON_PROVIDE("parser.st2tuple");
|
||||
PYTHON_PROVIDE("parser.suite");
|
||||
PYTHON_PROVIDE("parser.tuple2st");
|
||||
|
||||
/* parsermodule.c
|
||||
*
|
||||
|
|
4
third_party/python/Modules/pwdmodule.c
vendored
4
third_party/python/Modules/pwdmodule.c
vendored
|
@ -19,6 +19,10 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("pwd");
|
||||
PYTHON_PROVIDE("pwd.getpwall");
|
||||
PYTHON_PROVIDE("pwd.getpwnam");
|
||||
PYTHON_PROVIDE("pwd.getpwuid");
|
||||
PYTHON_PROVIDE("pwd.struct_passwd");
|
||||
|
||||
/* UNIX password file access module */
|
||||
|
||||
|
|
20
third_party/python/Modules/pyexpat.c
vendored
20
third_party/python/Modules/pyexpat.c
vendored
|
@ -25,6 +25,26 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("pyexpat");
|
||||
PYTHON_PROVIDE("pyexpat.EXPAT_VERSION");
|
||||
PYTHON_PROVIDE("pyexpat.ErrorString");
|
||||
PYTHON_PROVIDE("pyexpat.ExpatError");
|
||||
PYTHON_PROVIDE("pyexpat.ParserCreate");
|
||||
PYTHON_PROVIDE("pyexpat.XMLParserType");
|
||||
PYTHON_PROVIDE("pyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS");
|
||||
PYTHON_PROVIDE("pyexpat.XML_PARAM_ENTITY_PARSING_NEVER");
|
||||
PYTHON_PROVIDE("pyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE");
|
||||
PYTHON_PROVIDE("pyexpat.__doc__");
|
||||
PYTHON_PROVIDE("pyexpat.__loader__");
|
||||
PYTHON_PROVIDE("pyexpat.__name__");
|
||||
PYTHON_PROVIDE("pyexpat.__package__");
|
||||
PYTHON_PROVIDE("pyexpat.__spec__");
|
||||
PYTHON_PROVIDE("pyexpat.error");
|
||||
PYTHON_PROVIDE("pyexpat.errors");
|
||||
PYTHON_PROVIDE("pyexpat.expat_CAPI");
|
||||
PYTHON_PROVIDE("pyexpat.features");
|
||||
PYTHON_PROVIDE("pyexpat.model");
|
||||
PYTHON_PROVIDE("pyexpat.native_encoding");
|
||||
PYTHON_PROVIDE("pyexpat.version_info");
|
||||
|
||||
/* Do not emit Clinic output to a file as that wreaks havoc with conditionally
|
||||
included methods. */
|
||||
|
|
27
third_party/python/Modules/resource.c
vendored
27
third_party/python/Modules/resource.c
vendored
|
@ -24,6 +24,33 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("resource");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_AS");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_CORE");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_CPU");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_DATA");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_FSIZE");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_MEMLOCK");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_MSGQUEUE");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_NICE");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_NOFILE");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_NPROC");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_RSS");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_RTPRIO");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_RTTIME");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_SIGPENDING");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_STACK");
|
||||
PYTHON_PROVIDE("resource.RLIMIT_VMEM");
|
||||
PYTHON_PROVIDE("resource.RLIM_INFINITY");
|
||||
PYTHON_PROVIDE("resource.RUSAGE_BOTH");
|
||||
PYTHON_PROVIDE("resource.RUSAGE_CHILDREN");
|
||||
PYTHON_PROVIDE("resource.RUSAGE_SELF");
|
||||
PYTHON_PROVIDE("resource.RUSAGE_THREAD");
|
||||
PYTHON_PROVIDE("resource.error");
|
||||
PYTHON_PROVIDE("resource.getpagesize");
|
||||
PYTHON_PROVIDE("resource.getrlimit");
|
||||
PYTHON_PROVIDE("resource.getrusage");
|
||||
PYTHON_PROVIDE("resource.setrlimit");
|
||||
PYTHON_PROVIDE("resource.struct_rusage");
|
||||
|
||||
/* On some systems, these aren't in any header file.
|
||||
On others they are, with inconsistent prototypes.
|
||||
|
|
30
third_party/python/Modules/selectmodule.c
vendored
30
third_party/python/Modules/selectmodule.c
vendored
|
@ -34,6 +34,36 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("select");
|
||||
PYTHON_PROVIDE("select.EPOLLERR");
|
||||
PYTHON_PROVIDE("select.EPOLLET");
|
||||
PYTHON_PROVIDE("select.EPOLLEXCLUSIVE");
|
||||
PYTHON_PROVIDE("select.EPOLLHUP");
|
||||
PYTHON_PROVIDE("select.EPOLLIN");
|
||||
PYTHON_PROVIDE("select.EPOLLMSG");
|
||||
PYTHON_PROVIDE("select.EPOLLONESHOT");
|
||||
PYTHON_PROVIDE("select.EPOLLOUT");
|
||||
PYTHON_PROVIDE("select.EPOLLPRI");
|
||||
PYTHON_PROVIDE("select.EPOLLRDBAND");
|
||||
PYTHON_PROVIDE("select.EPOLLRDHUP");
|
||||
PYTHON_PROVIDE("select.EPOLLRDNORM");
|
||||
PYTHON_PROVIDE("select.EPOLLWRBAND");
|
||||
PYTHON_PROVIDE("select.EPOLLWRNORM");
|
||||
PYTHON_PROVIDE("select.EPOLL_CLOEXEC");
|
||||
PYTHON_PROVIDE("select.POLLERR");
|
||||
PYTHON_PROVIDE("select.POLLHUP");
|
||||
PYTHON_PROVIDE("select.POLLIN");
|
||||
PYTHON_PROVIDE("select.POLLNVAL");
|
||||
PYTHON_PROVIDE("select.POLLOUT");
|
||||
PYTHON_PROVIDE("select.POLLPRI");
|
||||
PYTHON_PROVIDE("select.POLLRDBAND");
|
||||
PYTHON_PROVIDE("select.POLLRDHUP");
|
||||
PYTHON_PROVIDE("select.POLLRDNORM");
|
||||
PYTHON_PROVIDE("select.POLLWRBAND");
|
||||
PYTHON_PROVIDE("select.POLLWRNORM");
|
||||
PYTHON_PROVIDE("select.epoll");
|
||||
PYTHON_PROVIDE("select.error");
|
||||
PYTHON_PROVIDE("select.poll");
|
||||
PYTHON_PROVIDE("select.select");
|
||||
|
||||
/* select - Module containing unix select(2) call.
|
||||
Under Unix, the file descriptors are small integers.
|
||||
|
|
2
third_party/python/Modules/sha1module.c
vendored
2
third_party/python/Modules/sha1module.c
vendored
|
@ -18,6 +18,8 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_sha1");
|
||||
PYTHON_PROVIDE("_sha1.SHA1Type");
|
||||
PYTHON_PROVIDE("_sha1.sha1");
|
||||
|
||||
/* SHA1 module */
|
||||
|
||||
|
|
4
third_party/python/Modules/sha256module.c
vendored
4
third_party/python/Modules/sha256module.c
vendored
|
@ -20,6 +20,10 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_sha256");
|
||||
PYTHON_PROVIDE("_sha256.SHA224Type");
|
||||
PYTHON_PROVIDE("_sha256.SHA256Type");
|
||||
PYTHON_PROVIDE("_sha256.sha224");
|
||||
PYTHON_PROVIDE("_sha256.sha256");
|
||||
|
||||
/* This module provides an interface to NIST's SHA-256 and SHA-224 Algorithms */
|
||||
|
||||
|
|
4
third_party/python/Modules/sha512module.c
vendored
4
third_party/python/Modules/sha512module.c
vendored
|
@ -19,6 +19,10 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_sha512");
|
||||
PYTHON_PROVIDE("_sha512.SHA384Type");
|
||||
PYTHON_PROVIDE("_sha512.SHA512Type");
|
||||
PYTHON_PROVIDE("_sha512.sha384");
|
||||
PYTHON_PROVIDE("_sha512.sha512");
|
||||
|
||||
/* This module provides an interface to NIST's SHA-512 and SHA-384 Algorithms */
|
||||
|
||||
|
|
60
third_party/python/Modules/signalmodule.c
vendored
60
third_party/python/Modules/signalmodule.c
vendored
|
@ -32,6 +32,66 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_signal");
|
||||
PYTHON_PROVIDE("_signal.ITIMER_PROF");
|
||||
PYTHON_PROVIDE("_signal.ITIMER_REAL");
|
||||
PYTHON_PROVIDE("_signal.ITIMER_VIRTUAL");
|
||||
PYTHON_PROVIDE("_signal.ItimerError");
|
||||
PYTHON_PROVIDE("_signal.NSIG");
|
||||
PYTHON_PROVIDE("_signal.SIGABRT");
|
||||
PYTHON_PROVIDE("_signal.SIGALRM");
|
||||
PYTHON_PROVIDE("_signal.SIGBUS");
|
||||
PYTHON_PROVIDE("_signal.SIGCHLD");
|
||||
PYTHON_PROVIDE("_signal.SIGCONT");
|
||||
PYTHON_PROVIDE("_signal.SIGFPE");
|
||||
PYTHON_PROVIDE("_signal.SIGHUP");
|
||||
PYTHON_PROVIDE("_signal.SIGILL");
|
||||
PYTHON_PROVIDE("_signal.SIGINT");
|
||||
PYTHON_PROVIDE("_signal.SIGIO");
|
||||
PYTHON_PROVIDE("_signal.SIGIOT");
|
||||
PYTHON_PROVIDE("_signal.SIGKILL");
|
||||
PYTHON_PROVIDE("_signal.SIGPIPE");
|
||||
PYTHON_PROVIDE("_signal.SIGPOLL");
|
||||
PYTHON_PROVIDE("_signal.SIGPROF");
|
||||
PYTHON_PROVIDE("_signal.SIGPWR");
|
||||
PYTHON_PROVIDE("_signal.SIGQUIT");
|
||||
PYTHON_PROVIDE("_signal.SIGRTMAX");
|
||||
PYTHON_PROVIDE("_signal.SIGRTMIN");
|
||||
PYTHON_PROVIDE("_signal.SIGSEGV");
|
||||
PYTHON_PROVIDE("_signal.SIGSTOP");
|
||||
PYTHON_PROVIDE("_signal.SIGSYS");
|
||||
PYTHON_PROVIDE("_signal.SIGTERM");
|
||||
PYTHON_PROVIDE("_signal.SIGTRAP");
|
||||
PYTHON_PROVIDE("_signal.SIGTSTP");
|
||||
PYTHON_PROVIDE("_signal.SIGTTIN");
|
||||
PYTHON_PROVIDE("_signal.SIGTTOU");
|
||||
PYTHON_PROVIDE("_signal.SIGURG");
|
||||
PYTHON_PROVIDE("_signal.SIGUSR1");
|
||||
PYTHON_PROVIDE("_signal.SIGUSR2");
|
||||
PYTHON_PROVIDE("_signal.SIGVTALRM");
|
||||
PYTHON_PROVIDE("_signal.SIGWINCH");
|
||||
PYTHON_PROVIDE("_signal.SIGXCPU");
|
||||
PYTHON_PROVIDE("_signal.SIGXFSZ");
|
||||
PYTHON_PROVIDE("_signal.SIG_BLOCK");
|
||||
PYTHON_PROVIDE("_signal.SIG_DFL");
|
||||
PYTHON_PROVIDE("_signal.SIG_IGN");
|
||||
PYTHON_PROVIDE("_signal.SIG_SETMASK");
|
||||
PYTHON_PROVIDE("_signal.SIG_UNBLOCK");
|
||||
PYTHON_PROVIDE("_signal.alarm");
|
||||
PYTHON_PROVIDE("_signal.default_int_handler");
|
||||
PYTHON_PROVIDE("_signal.getitimer");
|
||||
PYTHON_PROVIDE("_signal.getsignal");
|
||||
PYTHON_PROVIDE("_signal.pause");
|
||||
PYTHON_PROVIDE("_signal.pthread_kill");
|
||||
PYTHON_PROVIDE("_signal.pthread_sigmask");
|
||||
PYTHON_PROVIDE("_signal.set_wakeup_fd");
|
||||
PYTHON_PROVIDE("_signal.setitimer");
|
||||
PYTHON_PROVIDE("_signal.siginterrupt");
|
||||
PYTHON_PROVIDE("_signal.signal");
|
||||
PYTHON_PROVIDE("_signal.sigpending");
|
||||
PYTHON_PROVIDE("_signal.sigtimedwait");
|
||||
PYTHON_PROVIDE("_signal.sigwait");
|
||||
PYTHON_PROVIDE("_signal.sigwaitinfo");
|
||||
PYTHON_PROVIDE("_signal.struct_siginfo");
|
||||
|
||||
/* Signal module -- many thanks to Lance Ellinghaus */
|
||||
|
||||
|
|
211
third_party/python/Modules/socketmodule.c
vendored
211
third_party/python/Modules/socketmodule.c
vendored
|
@ -56,6 +56,217 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_socket");
|
||||
PYTHON_PROVIDE("_socket.AF_APPLETALK");
|
||||
PYTHON_PROVIDE("_socket.AF_ASH");
|
||||
PYTHON_PROVIDE("_socket.AF_ATMPVC");
|
||||
PYTHON_PROVIDE("_socket.AF_ATMSVC");
|
||||
PYTHON_PROVIDE("_socket.AF_AX25");
|
||||
PYTHON_PROVIDE("_socket.AF_BRIDGE");
|
||||
PYTHON_PROVIDE("_socket.AF_CAN");
|
||||
PYTHON_PROVIDE("_socket.AF_ECONET");
|
||||
PYTHON_PROVIDE("_socket.AF_INET");
|
||||
PYTHON_PROVIDE("_socket.AF_INET6");
|
||||
PYTHON_PROVIDE("_socket.AF_IPX");
|
||||
PYTHON_PROVIDE("_socket.AF_IRDA");
|
||||
PYTHON_PROVIDE("_socket.AF_KEY");
|
||||
PYTHON_PROVIDE("_socket.AF_LLC");
|
||||
PYTHON_PROVIDE("_socket.AF_NETBEUI");
|
||||
PYTHON_PROVIDE("_socket.AF_NETROM");
|
||||
PYTHON_PROVIDE("_socket.AF_PACKET");
|
||||
PYTHON_PROVIDE("_socket.AF_PPPOX");
|
||||
PYTHON_PROVIDE("_socket.AF_RDS");
|
||||
PYTHON_PROVIDE("_socket.AF_ROSE");
|
||||
PYTHON_PROVIDE("_socket.AF_ROUTE");
|
||||
PYTHON_PROVIDE("_socket.AF_SECURITY");
|
||||
PYTHON_PROVIDE("_socket.AF_SNA");
|
||||
PYTHON_PROVIDE("_socket.AF_UNIX");
|
||||
PYTHON_PROVIDE("_socket.AF_UNSPEC");
|
||||
PYTHON_PROVIDE("_socket.AF_X25");
|
||||
PYTHON_PROVIDE("_socket.AI_ADDRCONFIG");
|
||||
PYTHON_PROVIDE("_socket.AI_ALL");
|
||||
PYTHON_PROVIDE("_socket.AI_CANONNAME");
|
||||
PYTHON_PROVIDE("_socket.AI_NUMERICHOST");
|
||||
PYTHON_PROVIDE("_socket.AI_NUMERICSERV");
|
||||
PYTHON_PROVIDE("_socket.AI_PASSIVE");
|
||||
PYTHON_PROVIDE("_socket.AI_V4MAPPED");
|
||||
PYTHON_PROVIDE("_socket.CAPI");
|
||||
PYTHON_PROVIDE("_socket.EAI_ADDRFAMILY");
|
||||
PYTHON_PROVIDE("_socket.EAI_AGAIN");
|
||||
PYTHON_PROVIDE("_socket.EAI_BADFLAGS");
|
||||
PYTHON_PROVIDE("_socket.EAI_FAIL");
|
||||
PYTHON_PROVIDE("_socket.EAI_FAMILY");
|
||||
PYTHON_PROVIDE("_socket.EAI_MEMORY");
|
||||
PYTHON_PROVIDE("_socket.EAI_NODATA");
|
||||
PYTHON_PROVIDE("_socket.EAI_NONAME");
|
||||
PYTHON_PROVIDE("_socket.EAI_OVERFLOW");
|
||||
PYTHON_PROVIDE("_socket.EAI_SERVICE");
|
||||
PYTHON_PROVIDE("_socket.EAI_SOCKTYPE");
|
||||
PYTHON_PROVIDE("_socket.EAI_SYSTEM");
|
||||
PYTHON_PROVIDE("_socket.INADDR_ALLHOSTS_GROUP");
|
||||
PYTHON_PROVIDE("_socket.INADDR_ANY");
|
||||
PYTHON_PROVIDE("_socket.INADDR_BROADCAST");
|
||||
PYTHON_PROVIDE("_socket.INADDR_LOOPBACK");
|
||||
PYTHON_PROVIDE("_socket.INADDR_MAX_LOCAL_GROUP");
|
||||
PYTHON_PROVIDE("_socket.INADDR_NONE");
|
||||
PYTHON_PROVIDE("_socket.INADDR_UNSPEC_GROUP");
|
||||
PYTHON_PROVIDE("_socket.IPPORT_RESERVED");
|
||||
PYTHON_PROVIDE("_socket.IPPORT_USERRESERVED");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_AH");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_DSTOPTS");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_EGP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_ESP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_FRAGMENT");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_GRE");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_HOPOPTS");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_ICMP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_ICMPV6");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_IDP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_IGMP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_IP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_IPIP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_IPV6");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_MAX");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_NONE");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_PIM");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_PUP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_RAW");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_ROUTING");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_RSVP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_SCTP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_TCP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_TP");
|
||||
PYTHON_PROVIDE("_socket.IPPROTO_UDP");
|
||||
PYTHON_PROVIDE("_socket.IP_ADD_MEMBERSHIP");
|
||||
PYTHON_PROVIDE("_socket.IP_DEFAULT_MULTICAST_LOOP");
|
||||
PYTHON_PROVIDE("_socket.IP_DEFAULT_MULTICAST_TTL");
|
||||
PYTHON_PROVIDE("_socket.IP_DROP_MEMBERSHIP");
|
||||
PYTHON_PROVIDE("_socket.IP_HDRINCL");
|
||||
PYTHON_PROVIDE("_socket.IP_MAX_MEMBERSHIPS");
|
||||
PYTHON_PROVIDE("_socket.IP_MULTICAST_IF");
|
||||
PYTHON_PROVIDE("_socket.IP_MULTICAST_LOOP");
|
||||
PYTHON_PROVIDE("_socket.IP_MULTICAST_TTL");
|
||||
PYTHON_PROVIDE("_socket.IP_OPTIONS");
|
||||
PYTHON_PROVIDE("_socket.IP_RECVOPTS");
|
||||
PYTHON_PROVIDE("_socket.IP_RECVRETOPTS");
|
||||
PYTHON_PROVIDE("_socket.IP_RETOPTS");
|
||||
PYTHON_PROVIDE("_socket.IP_TOS");
|
||||
PYTHON_PROVIDE("_socket.IP_TRANSPARENT");
|
||||
PYTHON_PROVIDE("_socket.IP_TTL");
|
||||
PYTHON_PROVIDE("_socket.MSG_CMSG_CLOEXEC");
|
||||
PYTHON_PROVIDE("_socket.MSG_CONFIRM");
|
||||
PYTHON_PROVIDE("_socket.MSG_CTRUNC");
|
||||
PYTHON_PROVIDE("_socket.MSG_DONTROUTE");
|
||||
PYTHON_PROVIDE("_socket.MSG_DONTWAIT");
|
||||
PYTHON_PROVIDE("_socket.MSG_EOF");
|
||||
PYTHON_PROVIDE("_socket.MSG_EOR");
|
||||
PYTHON_PROVIDE("_socket.MSG_ERRQUEUE");
|
||||
PYTHON_PROVIDE("_socket.MSG_FASTOPEN");
|
||||
PYTHON_PROVIDE("_socket.MSG_MORE");
|
||||
PYTHON_PROVIDE("_socket.MSG_NOSIGNAL");
|
||||
PYTHON_PROVIDE("_socket.MSG_NOTIFICATION");
|
||||
PYTHON_PROVIDE("_socket.MSG_OOB");
|
||||
PYTHON_PROVIDE("_socket.MSG_PEEK");
|
||||
PYTHON_PROVIDE("_socket.MSG_TRUNC");
|
||||
PYTHON_PROVIDE("_socket.MSG_WAITALL");
|
||||
PYTHON_PROVIDE("_socket.NI_DGRAM");
|
||||
PYTHON_PROVIDE("_socket.NI_MAXHOST");
|
||||
PYTHON_PROVIDE("_socket.NI_MAXSERV");
|
||||
PYTHON_PROVIDE("_socket.NI_NAMEREQD");
|
||||
PYTHON_PROVIDE("_socket.NI_NOFQDN");
|
||||
PYTHON_PROVIDE("_socket.NI_NUMERICHOST");
|
||||
PYTHON_PROVIDE("_socket.NI_NUMERICSERV");
|
||||
PYTHON_PROVIDE("_socket.PF_CAN");
|
||||
PYTHON_PROVIDE("_socket.PF_PACKET");
|
||||
PYTHON_PROVIDE("_socket.PF_RDS");
|
||||
PYTHON_PROVIDE("_socket.SHUT_RD");
|
||||
PYTHON_PROVIDE("_socket.SHUT_RDWR");
|
||||
PYTHON_PROVIDE("_socket.SHUT_WR");
|
||||
PYTHON_PROVIDE("_socket.SOCK_CLOEXEC");
|
||||
PYTHON_PROVIDE("_socket.SOCK_DGRAM");
|
||||
PYTHON_PROVIDE("_socket.SOCK_NONBLOCK");
|
||||
PYTHON_PROVIDE("_socket.SOCK_RAW");
|
||||
PYTHON_PROVIDE("_socket.SOCK_RDM");
|
||||
PYTHON_PROVIDE("_socket.SOCK_SEQPACKET");
|
||||
PYTHON_PROVIDE("_socket.SOCK_STREAM");
|
||||
PYTHON_PROVIDE("_socket.SOL_IP");
|
||||
PYTHON_PROVIDE("_socket.SOL_RDS");
|
||||
PYTHON_PROVIDE("_socket.SOL_SOCKET");
|
||||
PYTHON_PROVIDE("_socket.SOL_TCP");
|
||||
PYTHON_PROVIDE("_socket.SOL_UDP");
|
||||
PYTHON_PROVIDE("_socket.SOMAXCONN");
|
||||
PYTHON_PROVIDE("_socket.SO_ACCEPTCONN");
|
||||
PYTHON_PROVIDE("_socket.SO_BINDTODEVICE");
|
||||
PYTHON_PROVIDE("_socket.SO_BROADCAST");
|
||||
PYTHON_PROVIDE("_socket.SO_DEBUG");
|
||||
PYTHON_PROVIDE("_socket.SO_DOMAIN");
|
||||
PYTHON_PROVIDE("_socket.SO_DONTROUTE");
|
||||
PYTHON_PROVIDE("_socket.SO_ERROR");
|
||||
PYTHON_PROVIDE("_socket.SO_KEEPALIVE");
|
||||
PYTHON_PROVIDE("_socket.SO_LINGER");
|
||||
PYTHON_PROVIDE("_socket.SO_MARK");
|
||||
PYTHON_PROVIDE("_socket.SO_OOBINLINE");
|
||||
PYTHON_PROVIDE("_socket.SO_PASSCRED");
|
||||
PYTHON_PROVIDE("_socket.SO_PASSSEC");
|
||||
PYTHON_PROVIDE("_socket.SO_PEERCRED");
|
||||
PYTHON_PROVIDE("_socket.SO_PEERSEC");
|
||||
PYTHON_PROVIDE("_socket.SO_PRIORITY");
|
||||
PYTHON_PROVIDE("_socket.SO_PROTOCOL");
|
||||
PYTHON_PROVIDE("_socket.SO_RCVBUF");
|
||||
PYTHON_PROVIDE("_socket.SO_RCVLOWAT");
|
||||
PYTHON_PROVIDE("_socket.SO_RCVTIMEO");
|
||||
PYTHON_PROVIDE("_socket.SO_REUSEADDR");
|
||||
PYTHON_PROVIDE("_socket.SO_REUSEPORT");
|
||||
PYTHON_PROVIDE("_socket.SO_SNDBUF");
|
||||
PYTHON_PROVIDE("_socket.SO_SNDLOWAT");
|
||||
PYTHON_PROVIDE("_socket.SO_SNDTIMEO");
|
||||
PYTHON_PROVIDE("_socket.SO_TYPE");
|
||||
PYTHON_PROVIDE("_socket.SocketType");
|
||||
PYTHON_PROVIDE("_socket.TCP_CONGESTION");
|
||||
PYTHON_PROVIDE("_socket.TCP_CORK");
|
||||
PYTHON_PROVIDE("_socket.TCP_DEFER_ACCEPT");
|
||||
PYTHON_PROVIDE("_socket.TCP_FASTOPEN");
|
||||
PYTHON_PROVIDE("_socket.TCP_FASTOPEN_CONNECT");
|
||||
PYTHON_PROVIDE("_socket.TCP_INFO");
|
||||
PYTHON_PROVIDE("_socket.TCP_KEEPCNT");
|
||||
PYTHON_PROVIDE("_socket.TCP_KEEPIDLE");
|
||||
PYTHON_PROVIDE("_socket.TCP_KEEPINTVL");
|
||||
PYTHON_PROVIDE("_socket.TCP_LINGER2");
|
||||
PYTHON_PROVIDE("_socket.TCP_MAXSEG");
|
||||
PYTHON_PROVIDE("_socket.TCP_NODELAY");
|
||||
PYTHON_PROVIDE("_socket.TCP_QUICKACK");
|
||||
PYTHON_PROVIDE("_socket.TCP_SAVED_SYN");
|
||||
PYTHON_PROVIDE("_socket.TCP_SAVE_SYN");
|
||||
PYTHON_PROVIDE("_socket.TCP_SYNCNT");
|
||||
PYTHON_PROVIDE("_socket.TCP_USER_TIMEOUT");
|
||||
PYTHON_PROVIDE("_socket.TCP_WINDOW_CLAMP");
|
||||
PYTHON_PROVIDE("_socket.dup");
|
||||
PYTHON_PROVIDE("_socket.error");
|
||||
PYTHON_PROVIDE("_socket.gaierror");
|
||||
PYTHON_PROVIDE("_socket.getaddrinfo");
|
||||
PYTHON_PROVIDE("_socket.getdefaulttimeout");
|
||||
PYTHON_PROVIDE("_socket.gethostbyaddr");
|
||||
PYTHON_PROVIDE("_socket.gethostbyname");
|
||||
PYTHON_PROVIDE("_socket.gethostbyname_ex");
|
||||
PYTHON_PROVIDE("_socket.gethostname");
|
||||
PYTHON_PROVIDE("_socket.getnameinfo");
|
||||
PYTHON_PROVIDE("_socket.getprotobyname");
|
||||
PYTHON_PROVIDE("_socket.getservbyname");
|
||||
PYTHON_PROVIDE("_socket.getservbyport");
|
||||
PYTHON_PROVIDE("_socket.has_ipv6");
|
||||
PYTHON_PROVIDE("_socket.herror");
|
||||
PYTHON_PROVIDE("_socket.htonl");
|
||||
PYTHON_PROVIDE("_socket.htons");
|
||||
PYTHON_PROVIDE("_socket.inet_aton");
|
||||
PYTHON_PROVIDE("_socket.inet_ntoa");
|
||||
PYTHON_PROVIDE("_socket.inet_ntop");
|
||||
PYTHON_PROVIDE("_socket.inet_pton");
|
||||
PYTHON_PROVIDE("_socket.ntohl");
|
||||
PYTHON_PROVIDE("_socket.ntohs");
|
||||
PYTHON_PROVIDE("_socket.setdefaulttimeout");
|
||||
PYTHON_PROVIDE("_socket.sethostname");
|
||||
PYTHON_PROVIDE("_socket.socket");
|
||||
PYTHON_PROVIDE("_socket.socketpair");
|
||||
PYTHON_PROVIDE("_socket.timeout");
|
||||
|
||||
/*
|
||||
|
||||
|
|
3
third_party/python/Modules/spwdmodule.c
vendored
3
third_party/python/Modules/spwdmodule.c
vendored
|
@ -13,6 +13,9 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("spwd");
|
||||
PYTHON_PROVIDE("spwd.getspall");
|
||||
PYTHON_PROVIDE("spwd.getspnam");
|
||||
PYTHON_PROVIDE("spwd.struct_spwd");
|
||||
|
||||
/* UNIX shadow password file access module */
|
||||
/* A lot of code has been taken from pwdmodule.c */
|
||||
|
|
20
third_party/python/Modules/symtablemodule.c
vendored
20
third_party/python/Modules/symtablemodule.c
vendored
|
@ -16,6 +16,26 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("_symtable");
|
||||
PYTHON_PROVIDE("_symtable.CELL");
|
||||
PYTHON_PROVIDE("_symtable.DEF_ANNOT");
|
||||
PYTHON_PROVIDE("_symtable.DEF_BOUND");
|
||||
PYTHON_PROVIDE("_symtable.DEF_FREE");
|
||||
PYTHON_PROVIDE("_symtable.DEF_FREE_CLASS");
|
||||
PYTHON_PROVIDE("_symtable.DEF_GLOBAL");
|
||||
PYTHON_PROVIDE("_symtable.DEF_IMPORT");
|
||||
PYTHON_PROVIDE("_symtable.DEF_LOCAL");
|
||||
PYTHON_PROVIDE("_symtable.DEF_PARAM");
|
||||
PYTHON_PROVIDE("_symtable.FREE");
|
||||
PYTHON_PROVIDE("_symtable.GLOBAL_EXPLICIT");
|
||||
PYTHON_PROVIDE("_symtable.GLOBAL_IMPLICIT");
|
||||
PYTHON_PROVIDE("_symtable.LOCAL");
|
||||
PYTHON_PROVIDE("_symtable.SCOPE_MASK");
|
||||
PYTHON_PROVIDE("_symtable.SCOPE_OFF");
|
||||
PYTHON_PROVIDE("_symtable.TYPE_CLASS");
|
||||
PYTHON_PROVIDE("_symtable.TYPE_FUNCTION");
|
||||
PYTHON_PROVIDE("_symtable.TYPE_MODULE");
|
||||
PYTHON_PROVIDE("_symtable.USE");
|
||||
PYTHON_PROVIDE("_symtable.symtable");
|
||||
|
||||
static PyObject *
|
||||
symtable_symtable(PyObject *self, PyObject *args)
|
||||
|
|
38
third_party/python/Modules/syslogmodule.c
vendored
38
third_party/python/Modules/syslogmodule.c
vendored
|
@ -20,6 +20,44 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("syslog");
|
||||
PYTHON_PROVIDE("syslog.LOG_ALERT");
|
||||
PYTHON_PROVIDE("syslog.LOG_AUTH");
|
||||
PYTHON_PROVIDE("syslog.LOG_CONS");
|
||||
PYTHON_PROVIDE("syslog.LOG_CRIT");
|
||||
PYTHON_PROVIDE("syslog.LOG_CRON");
|
||||
PYTHON_PROVIDE("syslog.LOG_DAEMON");
|
||||
PYTHON_PROVIDE("syslog.LOG_DEBUG");
|
||||
PYTHON_PROVIDE("syslog.LOG_EMERG");
|
||||
PYTHON_PROVIDE("syslog.LOG_ERR");
|
||||
PYTHON_PROVIDE("syslog.LOG_INFO");
|
||||
PYTHON_PROVIDE("syslog.LOG_KERN");
|
||||
PYTHON_PROVIDE("syslog.LOG_LOCAL0");
|
||||
PYTHON_PROVIDE("syslog.LOG_LOCAL1");
|
||||
PYTHON_PROVIDE("syslog.LOG_LOCAL2");
|
||||
PYTHON_PROVIDE("syslog.LOG_LOCAL3");
|
||||
PYTHON_PROVIDE("syslog.LOG_LOCAL4");
|
||||
PYTHON_PROVIDE("syslog.LOG_LOCAL5");
|
||||
PYTHON_PROVIDE("syslog.LOG_LOCAL6");
|
||||
PYTHON_PROVIDE("syslog.LOG_LOCAL7");
|
||||
PYTHON_PROVIDE("syslog.LOG_LPR");
|
||||
PYTHON_PROVIDE("syslog.LOG_MAIL");
|
||||
PYTHON_PROVIDE("syslog.LOG_MASK");
|
||||
PYTHON_PROVIDE("syslog.LOG_NDELAY");
|
||||
PYTHON_PROVIDE("syslog.LOG_NEWS");
|
||||
PYTHON_PROVIDE("syslog.LOG_NOTICE");
|
||||
PYTHON_PROVIDE("syslog.LOG_NOWAIT");
|
||||
PYTHON_PROVIDE("syslog.LOG_ODELAY");
|
||||
PYTHON_PROVIDE("syslog.LOG_PERROR");
|
||||
PYTHON_PROVIDE("syslog.LOG_PID");
|
||||
PYTHON_PROVIDE("syslog.LOG_SYSLOG");
|
||||
PYTHON_PROVIDE("syslog.LOG_UPTO");
|
||||
PYTHON_PROVIDE("syslog.LOG_USER");
|
||||
PYTHON_PROVIDE("syslog.LOG_UUCP");
|
||||
PYTHON_PROVIDE("syslog.LOG_WARNING");
|
||||
PYTHON_PROVIDE("syslog.closelog");
|
||||
PYTHON_PROVIDE("syslog.openlog");
|
||||
PYTHON_PROVIDE("syslog.setlogmask");
|
||||
PYTHON_PROVIDE("syslog.syslog");
|
||||
|
||||
/***********************************************************
|
||||
Copyright 1994 by Lance Ellinghouse,
|
||||
|
|
198
third_party/python/Modules/termios.c
vendored
198
third_party/python/Modules/termios.c
vendored
|
@ -26,6 +26,204 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("termios");
|
||||
PYTHON_PROVIDE("termios.B1000000");
|
||||
PYTHON_PROVIDE("termios.B110");
|
||||
PYTHON_PROVIDE("termios.B115200");
|
||||
PYTHON_PROVIDE("termios.B1152000");
|
||||
PYTHON_PROVIDE("termios.B1200");
|
||||
PYTHON_PROVIDE("termios.B134");
|
||||
PYTHON_PROVIDE("termios.B150");
|
||||
PYTHON_PROVIDE("termios.B1500000");
|
||||
PYTHON_PROVIDE("termios.B1800");
|
||||
PYTHON_PROVIDE("termios.B19200");
|
||||
PYTHON_PROVIDE("termios.B200");
|
||||
PYTHON_PROVIDE("termios.B2000000");
|
||||
PYTHON_PROVIDE("termios.B230400");
|
||||
PYTHON_PROVIDE("termios.B2400");
|
||||
PYTHON_PROVIDE("termios.B2500000");
|
||||
PYTHON_PROVIDE("termios.B300");
|
||||
PYTHON_PROVIDE("termios.B3000000");
|
||||
PYTHON_PROVIDE("termios.B3500000");
|
||||
PYTHON_PROVIDE("termios.B38400");
|
||||
PYTHON_PROVIDE("termios.B4000000");
|
||||
PYTHON_PROVIDE("termios.B4800");
|
||||
PYTHON_PROVIDE("termios.B50");
|
||||
PYTHON_PROVIDE("termios.B500000");
|
||||
PYTHON_PROVIDE("termios.B57600");
|
||||
PYTHON_PROVIDE("termios.B576000");
|
||||
PYTHON_PROVIDE("termios.B600");
|
||||
PYTHON_PROVIDE("termios.B75");
|
||||
PYTHON_PROVIDE("termios.B9600");
|
||||
PYTHON_PROVIDE("termios.BRKINT");
|
||||
PYTHON_PROVIDE("termios.BS0");
|
||||
PYTHON_PROVIDE("termios.BS1");
|
||||
PYTHON_PROVIDE("termios.BSDLY");
|
||||
PYTHON_PROVIDE("termios.CBAUD");
|
||||
PYTHON_PROVIDE("termios.CBAUDEX");
|
||||
PYTHON_PROVIDE("termios.CDSUSP");
|
||||
PYTHON_PROVIDE("termios.CEOF");
|
||||
PYTHON_PROVIDE("termios.CEOL");
|
||||
PYTHON_PROVIDE("termios.CEOT");
|
||||
PYTHON_PROVIDE("termios.CERASE");
|
||||
PYTHON_PROVIDE("termios.CFLUSH");
|
||||
PYTHON_PROVIDE("termios.CIBAUD");
|
||||
PYTHON_PROVIDE("termios.CINTR");
|
||||
PYTHON_PROVIDE("termios.CKILL");
|
||||
PYTHON_PROVIDE("termios.CLNEXT");
|
||||
PYTHON_PROVIDE("termios.CLOCAL");
|
||||
PYTHON_PROVIDE("termios.CQUIT");
|
||||
PYTHON_PROVIDE("termios.CR0");
|
||||
PYTHON_PROVIDE("termios.CR1");
|
||||
PYTHON_PROVIDE("termios.CR2");
|
||||
PYTHON_PROVIDE("termios.CR3");
|
||||
PYTHON_PROVIDE("termios.CRDLY");
|
||||
PYTHON_PROVIDE("termios.CREAD");
|
||||
PYTHON_PROVIDE("termios.CRPRNT");
|
||||
PYTHON_PROVIDE("termios.CS5");
|
||||
PYTHON_PROVIDE("termios.CS6");
|
||||
PYTHON_PROVIDE("termios.CS7");
|
||||
PYTHON_PROVIDE("termios.CS8");
|
||||
PYTHON_PROVIDE("termios.CSIZE");
|
||||
PYTHON_PROVIDE("termios.CSTART");
|
||||
PYTHON_PROVIDE("termios.CSTOP");
|
||||
PYTHON_PROVIDE("termios.CSTOPB");
|
||||
PYTHON_PROVIDE("termios.CSUSP");
|
||||
PYTHON_PROVIDE("termios.CWERASE");
|
||||
PYTHON_PROVIDE("termios.ECHO");
|
||||
PYTHON_PROVIDE("termios.ECHOCTL");
|
||||
PYTHON_PROVIDE("termios.ECHOE");
|
||||
PYTHON_PROVIDE("termios.ECHOK");
|
||||
PYTHON_PROVIDE("termios.ECHOKE");
|
||||
PYTHON_PROVIDE("termios.ECHONL");
|
||||
PYTHON_PROVIDE("termios.ECHOPRT");
|
||||
PYTHON_PROVIDE("termios.EXTA");
|
||||
PYTHON_PROVIDE("termios.EXTB");
|
||||
PYTHON_PROVIDE("termios.FF0");
|
||||
PYTHON_PROVIDE("termios.FF1");
|
||||
PYTHON_PROVIDE("termios.FFDLY");
|
||||
PYTHON_PROVIDE("termios.FIOASYNC");
|
||||
PYTHON_PROVIDE("termios.FIOCLEX");
|
||||
PYTHON_PROVIDE("termios.FIONBIO");
|
||||
PYTHON_PROVIDE("termios.FIONCLEX");
|
||||
PYTHON_PROVIDE("termios.FIONREAD");
|
||||
PYTHON_PROVIDE("termios.FLUSHO");
|
||||
PYTHON_PROVIDE("termios.HUPCL");
|
||||
PYTHON_PROVIDE("termios.ICANON");
|
||||
PYTHON_PROVIDE("termios.ICRNL");
|
||||
PYTHON_PROVIDE("termios.IEXTEN");
|
||||
PYTHON_PROVIDE("termios.IGNBRK");
|
||||
PYTHON_PROVIDE("termios.IGNCR");
|
||||
PYTHON_PROVIDE("termios.IGNPAR");
|
||||
PYTHON_PROVIDE("termios.IMAXBEL");
|
||||
PYTHON_PROVIDE("termios.INLCR");
|
||||
PYTHON_PROVIDE("termios.INPCK");
|
||||
PYTHON_PROVIDE("termios.ISIG");
|
||||
PYTHON_PROVIDE("termios.ISTRIP");
|
||||
PYTHON_PROVIDE("termios.IUCLC");
|
||||
PYTHON_PROVIDE("termios.IXANY");
|
||||
PYTHON_PROVIDE("termios.IXOFF");
|
||||
PYTHON_PROVIDE("termios.IXON");
|
||||
PYTHON_PROVIDE("termios.NCCS");
|
||||
PYTHON_PROVIDE("termios.NL0");
|
||||
PYTHON_PROVIDE("termios.NL1");
|
||||
PYTHON_PROVIDE("termios.NLDLY");
|
||||
PYTHON_PROVIDE("termios.NOFLSH");
|
||||
PYTHON_PROVIDE("termios.OCRNL");
|
||||
PYTHON_PROVIDE("termios.OFDEL");
|
||||
PYTHON_PROVIDE("termios.OFILL");
|
||||
PYTHON_PROVIDE("termios.OLCUC");
|
||||
PYTHON_PROVIDE("termios.ONLCR");
|
||||
PYTHON_PROVIDE("termios.ONLRET");
|
||||
PYTHON_PROVIDE("termios.ONOCR");
|
||||
PYTHON_PROVIDE("termios.OPOST");
|
||||
PYTHON_PROVIDE("termios.PARENB");
|
||||
PYTHON_PROVIDE("termios.PARMRK");
|
||||
PYTHON_PROVIDE("termios.PARODD");
|
||||
PYTHON_PROVIDE("termios.PENDIN");
|
||||
PYTHON_PROVIDE("termios.TAB0");
|
||||
PYTHON_PROVIDE("termios.TAB1");
|
||||
PYTHON_PROVIDE("termios.TAB2");
|
||||
PYTHON_PROVIDE("termios.TAB3");
|
||||
PYTHON_PROVIDE("termios.TABDLY");
|
||||
PYTHON_PROVIDE("termios.TCFLSH");
|
||||
PYTHON_PROVIDE("termios.TCGETS");
|
||||
PYTHON_PROVIDE("termios.TCIFLUSH");
|
||||
PYTHON_PROVIDE("termios.TCIOFF");
|
||||
PYTHON_PROVIDE("termios.TCIOFLUSH");
|
||||
PYTHON_PROVIDE("termios.TCION");
|
||||
PYTHON_PROVIDE("termios.TCOFLUSH");
|
||||
PYTHON_PROVIDE("termios.TCOOFF");
|
||||
PYTHON_PROVIDE("termios.TCOON");
|
||||
PYTHON_PROVIDE("termios.TCSADRAIN");
|
||||
PYTHON_PROVIDE("termios.TCSAFLUSH");
|
||||
PYTHON_PROVIDE("termios.TCSANOW");
|
||||
PYTHON_PROVIDE("termios.TCSBRK");
|
||||
PYTHON_PROVIDE("termios.TCSETS");
|
||||
PYTHON_PROVIDE("termios.TCSETSF");
|
||||
PYTHON_PROVIDE("termios.TCSETSW");
|
||||
PYTHON_PROVIDE("termios.TCXONC");
|
||||
PYTHON_PROVIDE("termios.TIOCCONS");
|
||||
PYTHON_PROVIDE("termios.TIOCGETD");
|
||||
PYTHON_PROVIDE("termios.TIOCGPGRP");
|
||||
PYTHON_PROVIDE("termios.TIOCGWINSZ");
|
||||
PYTHON_PROVIDE("termios.TIOCMBIC");
|
||||
PYTHON_PROVIDE("termios.TIOCMBIS");
|
||||
PYTHON_PROVIDE("termios.TIOCMGET");
|
||||
PYTHON_PROVIDE("termios.TIOCMSET");
|
||||
PYTHON_PROVIDE("termios.TIOCM_CAR");
|
||||
PYTHON_PROVIDE("termios.TIOCM_CD");
|
||||
PYTHON_PROVIDE("termios.TIOCM_CTS");
|
||||
PYTHON_PROVIDE("termios.TIOCM_DSR");
|
||||
PYTHON_PROVIDE("termios.TIOCM_DTR");
|
||||
PYTHON_PROVIDE("termios.TIOCM_LE");
|
||||
PYTHON_PROVIDE("termios.TIOCM_RI");
|
||||
PYTHON_PROVIDE("termios.TIOCM_RNG");
|
||||
PYTHON_PROVIDE("termios.TIOCM_RTS");
|
||||
PYTHON_PROVIDE("termios.TIOCM_SR");
|
||||
PYTHON_PROVIDE("termios.TIOCM_ST");
|
||||
PYTHON_PROVIDE("termios.TIOCNOTTY");
|
||||
PYTHON_PROVIDE("termios.TIOCNXCL");
|
||||
PYTHON_PROVIDE("termios.TIOCOUTQ");
|
||||
PYTHON_PROVIDE("termios.TIOCPKT");
|
||||
PYTHON_PROVIDE("termios.TIOCSCTTY");
|
||||
PYTHON_PROVIDE("termios.TIOCSERGETLSR");
|
||||
PYTHON_PROVIDE("termios.TIOCSERGETMULTI");
|
||||
PYTHON_PROVIDE("termios.TIOCSERSETMULTI");
|
||||
PYTHON_PROVIDE("termios.TIOCSER_TEMT");
|
||||
PYTHON_PROVIDE("termios.TIOCSETD");
|
||||
PYTHON_PROVIDE("termios.TIOCSPGRP");
|
||||
PYTHON_PROVIDE("termios.TIOCSTI");
|
||||
PYTHON_PROVIDE("termios.TIOCSWINSZ");
|
||||
PYTHON_PROVIDE("termios.TOSTOP");
|
||||
PYTHON_PROVIDE("termios.VDISCARD");
|
||||
PYTHON_PROVIDE("termios.VEOF");
|
||||
PYTHON_PROVIDE("termios.VEOL");
|
||||
PYTHON_PROVIDE("termios.VEOL2");
|
||||
PYTHON_PROVIDE("termios.VERASE");
|
||||
PYTHON_PROVIDE("termios.VINTR");
|
||||
PYTHON_PROVIDE("termios.VKILL");
|
||||
PYTHON_PROVIDE("termios.VLNEXT");
|
||||
PYTHON_PROVIDE("termios.VMIN");
|
||||
PYTHON_PROVIDE("termios.VQUIT");
|
||||
PYTHON_PROVIDE("termios.VREPRINT");
|
||||
PYTHON_PROVIDE("termios.VSTART");
|
||||
PYTHON_PROVIDE("termios.VSTOP");
|
||||
PYTHON_PROVIDE("termios.VSUSP");
|
||||
PYTHON_PROVIDE("termios.VSWTC");
|
||||
PYTHON_PROVIDE("termios.VT0");
|
||||
PYTHON_PROVIDE("termios.VT1");
|
||||
PYTHON_PROVIDE("termios.VTDLY");
|
||||
PYTHON_PROVIDE("termios.VTIME");
|
||||
PYTHON_PROVIDE("termios.VWERASE");
|
||||
PYTHON_PROVIDE("termios.XCASE");
|
||||
PYTHON_PROVIDE("termios.XTABS");
|
||||
PYTHON_PROVIDE("termios.error");
|
||||
PYTHON_PROVIDE("termios.tcdrain");
|
||||
PYTHON_PROVIDE("termios.tcflow");
|
||||
PYTHON_PROVIDE("termios.tcflush");
|
||||
PYTHON_PROVIDE("termios.tcgetattr");
|
||||
PYTHON_PROVIDE("termios.tcsendbreak");
|
||||
PYTHON_PROVIDE("termios.tcsetattr");
|
||||
|
||||
/* termiosmodule.c -- POSIX terminal I/O module implementation. */
|
||||
|
||||
|
|
28
third_party/python/Modules/timemodule.c
vendored
28
third_party/python/Modules/timemodule.c
vendored
|
@ -39,6 +39,34 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("time");
|
||||
PYTHON_PROVIDE("time.CLOCK_MONOTONIC");
|
||||
PYTHON_PROVIDE("time.CLOCK_MONOTONIC_RAW");
|
||||
PYTHON_PROVIDE("time.CLOCK_PROCESS_CPUTIME_ID");
|
||||
PYTHON_PROVIDE("time.CLOCK_REALTIME");
|
||||
PYTHON_PROVIDE("time.CLOCK_THREAD_CPUTIME_ID");
|
||||
PYTHON_PROVIDE("time._STRUCT_TM_ITEMS");
|
||||
PYTHON_PROVIDE("time.altzone");
|
||||
PYTHON_PROVIDE("time.asctime");
|
||||
PYTHON_PROVIDE("time.clock");
|
||||
PYTHON_PROVIDE("time.clock_getres");
|
||||
PYTHON_PROVIDE("time.clock_gettime");
|
||||
PYTHON_PROVIDE("time.ctime");
|
||||
PYTHON_PROVIDE("time.daylight");
|
||||
PYTHON_PROVIDE("time.get_clock_info");
|
||||
PYTHON_PROVIDE("time.gmtime");
|
||||
PYTHON_PROVIDE("time.localtime");
|
||||
PYTHON_PROVIDE("time.mktime");
|
||||
PYTHON_PROVIDE("time.monotonic");
|
||||
PYTHON_PROVIDE("time.perf_counter");
|
||||
PYTHON_PROVIDE("time.process_time");
|
||||
PYTHON_PROVIDE("time.sleep");
|
||||
PYTHON_PROVIDE("time.strftime");
|
||||
PYTHON_PROVIDE("time.strptime");
|
||||
PYTHON_PROVIDE("time.struct_time");
|
||||
PYTHON_PROVIDE("time.time");
|
||||
PYTHON_PROVIDE("time.timezone");
|
||||
PYTHON_PROVIDE("time.tzname");
|
||||
PYTHON_PROVIDE("time.tzset");
|
||||
|
||||
typedef int clockid_t;
|
||||
#undef HAVE_CLOCK_SETTIME
|
||||
|
|
16
third_party/python/Modules/unicodedata.c
vendored
16
third_party/python/Modules/unicodedata.c
vendored
|
@ -20,6 +20,22 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("unicodedata");
|
||||
PYTHON_PROVIDE("unicodedata.UCD");
|
||||
PYTHON_PROVIDE("unicodedata.bidirectional");
|
||||
PYTHON_PROVIDE("unicodedata.category");
|
||||
PYTHON_PROVIDE("unicodedata.combining");
|
||||
PYTHON_PROVIDE("unicodedata.decimal");
|
||||
PYTHON_PROVIDE("unicodedata.decomposition");
|
||||
PYTHON_PROVIDE("unicodedata.digit");
|
||||
PYTHON_PROVIDE("unicodedata.east_asian_width");
|
||||
PYTHON_PROVIDE("unicodedata.lookup");
|
||||
PYTHON_PROVIDE("unicodedata.mirrored");
|
||||
PYTHON_PROVIDE("unicodedata.name");
|
||||
PYTHON_PROVIDE("unicodedata.normalize");
|
||||
PYTHON_PROVIDE("unicodedata.numeric");
|
||||
PYTHON_PROVIDE("unicodedata.ucd_3_2_0");
|
||||
PYTHON_PROVIDE("unicodedata.ucnhash_CAPI");
|
||||
PYTHON_PROVIDE("unicodedata.unidata_version");
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
|
||||
|
|
7
third_party/python/Modules/xxlimited.c
vendored
7
third_party/python/Modules/xxlimited.c
vendored
|
@ -16,6 +16,13 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("xxlimited");
|
||||
PYTHON_PROVIDE("xxlimited.Null");
|
||||
PYTHON_PROVIDE("xxlimited.Str");
|
||||
PYTHON_PROVIDE("xxlimited.Xxo");
|
||||
PYTHON_PROVIDE("xxlimited.error");
|
||||
PYTHON_PROVIDE("xxlimited.foo");
|
||||
PYTHON_PROVIDE("xxlimited.new");
|
||||
PYTHON_PROVIDE("xxlimited.roj");
|
||||
|
||||
/* Use this file as a template to start implementing a module that
|
||||
also declares object types. All occurrences of 'Xxo' should be changed
|
||||
|
|
3
third_party/python/Modules/xxsubtype.c
vendored
3
third_party/python/Modules/xxsubtype.c
vendored
|
@ -19,6 +19,9 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("xxsubtype");
|
||||
PYTHON_PROVIDE("xxsubtype.bench");
|
||||
PYTHON_PROVIDE("xxsubtype.spamdict");
|
||||
PYTHON_PROVIDE("xxsubtype.spamlist");
|
||||
|
||||
PyDoc_STRVAR(xxsubtype__doc__,
|
||||
"xxsubtype is an example module showing how to subtype builtin types from C.\n"
|
||||
|
|
3
third_party/python/Modules/zipimport.c
vendored
3
third_party/python/Modules/zipimport.c
vendored
|
@ -36,6 +36,9 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("zipimport");
|
||||
PYTHON_PROVIDE("zipimport.ZipImportError");
|
||||
PYTHON_PROVIDE("zipimport._zip_directory_cache");
|
||||
PYTHON_PROVIDE("zipimport.zipimporter");
|
||||
|
||||
#define IS_SOURCE 0x0
|
||||
#define IS_BYTECODE 0x1
|
||||
|
|
29
third_party/python/Modules/zlibmodule.c
vendored
29
third_party/python/Modules/zlibmodule.c
vendored
|
@ -18,6 +18,35 @@
|
|||
/* clang-format off */
|
||||
|
||||
PYTHON_PROVIDE("zlib");
|
||||
PYTHON_PROVIDE("zlib.DEFLATED");
|
||||
PYTHON_PROVIDE("zlib.DEF_BUF_SIZE");
|
||||
PYTHON_PROVIDE("zlib.DEF_MEM_LEVEL");
|
||||
PYTHON_PROVIDE("zlib.MAX_WBITS");
|
||||
PYTHON_PROVIDE("zlib.ZLIB_RUNTIME_VERSION");
|
||||
PYTHON_PROVIDE("zlib.ZLIB_VERSION");
|
||||
PYTHON_PROVIDE("zlib.Z_BEST_COMPRESSION");
|
||||
PYTHON_PROVIDE("zlib.Z_BEST_SPEED");
|
||||
PYTHON_PROVIDE("zlib.Z_BLOCK");
|
||||
PYTHON_PROVIDE("zlib.Z_DEFAULT_COMPRESSION");
|
||||
PYTHON_PROVIDE("zlib.Z_DEFAULT_STRATEGY");
|
||||
PYTHON_PROVIDE("zlib.Z_FILTERED");
|
||||
PYTHON_PROVIDE("zlib.Z_FINISH");
|
||||
PYTHON_PROVIDE("zlib.Z_FIXED");
|
||||
PYTHON_PROVIDE("zlib.Z_FULL_FLUSH");
|
||||
PYTHON_PROVIDE("zlib.Z_HUFFMAN_ONLY");
|
||||
PYTHON_PROVIDE("zlib.Z_NO_COMPRESSION");
|
||||
PYTHON_PROVIDE("zlib.Z_NO_FLUSH");
|
||||
PYTHON_PROVIDE("zlib.Z_PARTIAL_FLUSH");
|
||||
PYTHON_PROVIDE("zlib.Z_RLE");
|
||||
PYTHON_PROVIDE("zlib.Z_SYNC_FLUSH");
|
||||
PYTHON_PROVIDE("zlib.Z_TREES");
|
||||
PYTHON_PROVIDE("zlib.adler32");
|
||||
PYTHON_PROVIDE("zlib.compress");
|
||||
PYTHON_PROVIDE("zlib.compressobj");
|
||||
PYTHON_PROVIDE("zlib.crc32");
|
||||
PYTHON_PROVIDE("zlib.decompress");
|
||||
PYTHON_PROVIDE("zlib.decompressobj");
|
||||
PYTHON_PROVIDE("zlib.error");
|
||||
|
||||
/* zlibmodule.c -- gzip-compatible data compression */
|
||||
/* See http://zlib.net/ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue