25 #if PY_MAJOR_VERSION >= 3 |
25 #if PY_MAJOR_VERSION >= 3 |
26 version = PyUnicode_FromString(PYTHON_ZSTANDARD_VERSION); |
26 version = PyUnicode_FromString(PYTHON_ZSTANDARD_VERSION); |
27 #else |
27 #else |
28 version = PyString_FromString(PYTHON_ZSTANDARD_VERSION); |
28 version = PyString_FromString(PYTHON_ZSTANDARD_VERSION); |
29 #endif |
29 #endif |
30 Py_INCREF(version); |
|
31 PyModule_AddObject(mod, "__version__", version); |
30 PyModule_AddObject(mod, "__version__", version); |
32 |
31 |
33 ZstdError = PyErr_NewException("zstd.ZstdError", NULL, NULL); |
32 ZstdError = PyErr_NewException("zstd.ZstdError", NULL, NULL); |
34 PyModule_AddObject(mod, "ZstdError", ZstdError); |
33 PyModule_AddObject(mod, "ZstdError", ZstdError); |
35 |
34 |
39 /* For now, the version is a simple tuple instead of a dedicated type. */ |
38 /* For now, the version is a simple tuple instead of a dedicated type. */ |
40 zstdVersion = PyTuple_New(3); |
39 zstdVersion = PyTuple_New(3); |
41 PyTuple_SetItem(zstdVersion, 0, PyLong_FromLong(ZSTD_VERSION_MAJOR)); |
40 PyTuple_SetItem(zstdVersion, 0, PyLong_FromLong(ZSTD_VERSION_MAJOR)); |
42 PyTuple_SetItem(zstdVersion, 1, PyLong_FromLong(ZSTD_VERSION_MINOR)); |
41 PyTuple_SetItem(zstdVersion, 1, PyLong_FromLong(ZSTD_VERSION_MINOR)); |
43 PyTuple_SetItem(zstdVersion, 2, PyLong_FromLong(ZSTD_VERSION_RELEASE)); |
42 PyTuple_SetItem(zstdVersion, 2, PyLong_FromLong(ZSTD_VERSION_RELEASE)); |
44 Py_INCREF(zstdVersion); |
|
45 PyModule_AddObject(mod, "ZSTD_VERSION", zstdVersion); |
43 PyModule_AddObject(mod, "ZSTD_VERSION", zstdVersion); |
46 |
44 |
47 frameHeader = PyBytes_FromStringAndSize(frame_header, sizeof(frame_header)); |
45 frameHeader = PyBytes_FromStringAndSize(frame_header, sizeof(frame_header)); |
48 if (frameHeader) { |
46 if (frameHeader) { |
49 PyModule_AddObject(mod, "FRAME_HEADER", frameHeader); |
47 PyModule_AddObject(mod, "FRAME_HEADER", frameHeader); |
66 (long)ZSTD_DStreamInSize()); |
64 (long)ZSTD_DStreamInSize()); |
67 PyModule_AddIntConstant(mod, "DECOMPRESSION_RECOMMENDED_OUTPUT_SIZE", |
65 PyModule_AddIntConstant(mod, "DECOMPRESSION_RECOMMENDED_OUTPUT_SIZE", |
68 (long)ZSTD_DStreamOutSize()); |
66 (long)ZSTD_DStreamOutSize()); |
69 |
67 |
70 PyModule_AddIntConstant(mod, "MAGIC_NUMBER", ZSTD_MAGICNUMBER); |
68 PyModule_AddIntConstant(mod, "MAGIC_NUMBER", ZSTD_MAGICNUMBER); |
|
69 PyModule_AddIntConstant(mod, "BLOCKSIZELOG_MAX", ZSTD_BLOCKSIZELOG_MAX); |
|
70 PyModule_AddIntConstant(mod, "BLOCKSIZE_MAX", ZSTD_BLOCKSIZE_MAX); |
71 PyModule_AddIntConstant(mod, "WINDOWLOG_MIN", ZSTD_WINDOWLOG_MIN); |
71 PyModule_AddIntConstant(mod, "WINDOWLOG_MIN", ZSTD_WINDOWLOG_MIN); |
72 PyModule_AddIntConstant(mod, "WINDOWLOG_MAX", ZSTD_WINDOWLOG_MAX); |
72 PyModule_AddIntConstant(mod, "WINDOWLOG_MAX", ZSTD_WINDOWLOG_MAX); |
73 PyModule_AddIntConstant(mod, "CHAINLOG_MIN", ZSTD_CHAINLOG_MIN); |
73 PyModule_AddIntConstant(mod, "CHAINLOG_MIN", ZSTD_CHAINLOG_MIN); |
74 PyModule_AddIntConstant(mod, "CHAINLOG_MAX", ZSTD_CHAINLOG_MAX); |
74 PyModule_AddIntConstant(mod, "CHAINLOG_MAX", ZSTD_CHAINLOG_MAX); |
75 PyModule_AddIntConstant(mod, "HASHLOG_MIN", ZSTD_HASHLOG_MIN); |
75 PyModule_AddIntConstant(mod, "HASHLOG_MIN", ZSTD_HASHLOG_MIN); |
78 PyModule_AddIntConstant(mod, "SEARCHLOG_MIN", ZSTD_SEARCHLOG_MIN); |
78 PyModule_AddIntConstant(mod, "SEARCHLOG_MIN", ZSTD_SEARCHLOG_MIN); |
79 PyModule_AddIntConstant(mod, "SEARCHLOG_MAX", ZSTD_SEARCHLOG_MAX); |
79 PyModule_AddIntConstant(mod, "SEARCHLOG_MAX", ZSTD_SEARCHLOG_MAX); |
80 PyModule_AddIntConstant(mod, "SEARCHLENGTH_MIN", ZSTD_SEARCHLENGTH_MIN); |
80 PyModule_AddIntConstant(mod, "SEARCHLENGTH_MIN", ZSTD_SEARCHLENGTH_MIN); |
81 PyModule_AddIntConstant(mod, "SEARCHLENGTH_MAX", ZSTD_SEARCHLENGTH_MAX); |
81 PyModule_AddIntConstant(mod, "SEARCHLENGTH_MAX", ZSTD_SEARCHLENGTH_MAX); |
82 PyModule_AddIntConstant(mod, "TARGETLENGTH_MIN", ZSTD_TARGETLENGTH_MIN); |
82 PyModule_AddIntConstant(mod, "TARGETLENGTH_MIN", ZSTD_TARGETLENGTH_MIN); |
|
83 PyModule_AddIntConstant(mod, "TARGETLENGTH_MAX", ZSTD_TARGETLENGTH_MAX); |
83 PyModule_AddIntConstant(mod, "LDM_MINMATCH_MIN", ZSTD_LDM_MINMATCH_MIN); |
84 PyModule_AddIntConstant(mod, "LDM_MINMATCH_MIN", ZSTD_LDM_MINMATCH_MIN); |
84 PyModule_AddIntConstant(mod, "LDM_MINMATCH_MAX", ZSTD_LDM_MINMATCH_MAX); |
85 PyModule_AddIntConstant(mod, "LDM_MINMATCH_MAX", ZSTD_LDM_MINMATCH_MAX); |
85 PyModule_AddIntConstant(mod, "LDM_BUCKETSIZELOG_MAX", ZSTD_LDM_BUCKETSIZELOG_MAX); |
86 PyModule_AddIntConstant(mod, "LDM_BUCKETSIZELOG_MAX", ZSTD_LDM_BUCKETSIZELOG_MAX); |
86 |
87 |
87 PyModule_AddIntConstant(mod, "STRATEGY_FAST", ZSTD_fast); |
88 PyModule_AddIntConstant(mod, "STRATEGY_FAST", ZSTD_fast); |