17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(py_sha3_new__doc__, 67db96d56Sopenharmony_ci"sha3_224(data=b\'\', /, *, usedforsecurity=True)\n" 77db96d56Sopenharmony_ci"--\n" 87db96d56Sopenharmony_ci"\n" 97db96d56Sopenharmony_ci"Return a new BLAKE2b hash object."); 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_cistatic PyObject * 127db96d56Sopenharmony_cipy_sha3_new_impl(PyTypeObject *type, PyObject *data, int usedforsecurity); 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_cistatic PyObject * 157db96d56Sopenharmony_cipy_sha3_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) 167db96d56Sopenharmony_ci{ 177db96d56Sopenharmony_ci PyObject *return_value = NULL; 187db96d56Sopenharmony_ci static const char * const _keywords[] = {"", "usedforsecurity", NULL}; 197db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "sha3_224", 0}; 207db96d56Sopenharmony_ci PyObject *argsbuf[2]; 217db96d56Sopenharmony_ci PyObject * const *fastargs; 227db96d56Sopenharmony_ci Py_ssize_t nargs = PyTuple_GET_SIZE(args); 237db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 0; 247db96d56Sopenharmony_ci PyObject *data = NULL; 257db96d56Sopenharmony_ci int usedforsecurity = 1; 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 0, 1, 0, argsbuf); 287db96d56Sopenharmony_ci if (!fastargs) { 297db96d56Sopenharmony_ci goto exit; 307db96d56Sopenharmony_ci } 317db96d56Sopenharmony_ci if (nargs < 1) { 327db96d56Sopenharmony_ci goto skip_optional_posonly; 337db96d56Sopenharmony_ci } 347db96d56Sopenharmony_ci noptargs--; 357db96d56Sopenharmony_ci data = fastargs[0]; 367db96d56Sopenharmony_ciskip_optional_posonly: 377db96d56Sopenharmony_ci if (!noptargs) { 387db96d56Sopenharmony_ci goto skip_optional_kwonly; 397db96d56Sopenharmony_ci } 407db96d56Sopenharmony_ci usedforsecurity = PyObject_IsTrue(fastargs[1]); 417db96d56Sopenharmony_ci if (usedforsecurity < 0) { 427db96d56Sopenharmony_ci goto exit; 437db96d56Sopenharmony_ci } 447db96d56Sopenharmony_ciskip_optional_kwonly: 457db96d56Sopenharmony_ci return_value = py_sha3_new_impl(type, data, usedforsecurity); 467db96d56Sopenharmony_ci 477db96d56Sopenharmony_ciexit: 487db96d56Sopenharmony_ci return return_value; 497db96d56Sopenharmony_ci} 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ciPyDoc_STRVAR(_sha3_sha3_224_copy__doc__, 527db96d56Sopenharmony_ci"copy($self, /)\n" 537db96d56Sopenharmony_ci"--\n" 547db96d56Sopenharmony_ci"\n" 557db96d56Sopenharmony_ci"Return a copy of the hash object."); 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_ci#define _SHA3_SHA3_224_COPY_METHODDEF \ 587db96d56Sopenharmony_ci {"copy", (PyCFunction)_sha3_sha3_224_copy, METH_NOARGS, _sha3_sha3_224_copy__doc__}, 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_cistatic PyObject * 617db96d56Sopenharmony_ci_sha3_sha3_224_copy_impl(SHA3object *self); 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_cistatic PyObject * 647db96d56Sopenharmony_ci_sha3_sha3_224_copy(SHA3object *self, PyObject *Py_UNUSED(ignored)) 657db96d56Sopenharmony_ci{ 667db96d56Sopenharmony_ci return _sha3_sha3_224_copy_impl(self); 677db96d56Sopenharmony_ci} 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ciPyDoc_STRVAR(_sha3_sha3_224_digest__doc__, 707db96d56Sopenharmony_ci"digest($self, /)\n" 717db96d56Sopenharmony_ci"--\n" 727db96d56Sopenharmony_ci"\n" 737db96d56Sopenharmony_ci"Return the digest value as a bytes object."); 747db96d56Sopenharmony_ci 757db96d56Sopenharmony_ci#define _SHA3_SHA3_224_DIGEST_METHODDEF \ 767db96d56Sopenharmony_ci {"digest", (PyCFunction)_sha3_sha3_224_digest, METH_NOARGS, _sha3_sha3_224_digest__doc__}, 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_cistatic PyObject * 797db96d56Sopenharmony_ci_sha3_sha3_224_digest_impl(SHA3object *self); 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_cistatic PyObject * 827db96d56Sopenharmony_ci_sha3_sha3_224_digest(SHA3object *self, PyObject *Py_UNUSED(ignored)) 837db96d56Sopenharmony_ci{ 847db96d56Sopenharmony_ci return _sha3_sha3_224_digest_impl(self); 857db96d56Sopenharmony_ci} 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_ciPyDoc_STRVAR(_sha3_sha3_224_hexdigest__doc__, 887db96d56Sopenharmony_ci"hexdigest($self, /)\n" 897db96d56Sopenharmony_ci"--\n" 907db96d56Sopenharmony_ci"\n" 917db96d56Sopenharmony_ci"Return the digest value as a string of hexadecimal digits."); 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_ci#define _SHA3_SHA3_224_HEXDIGEST_METHODDEF \ 947db96d56Sopenharmony_ci {"hexdigest", (PyCFunction)_sha3_sha3_224_hexdigest, METH_NOARGS, _sha3_sha3_224_hexdigest__doc__}, 957db96d56Sopenharmony_ci 967db96d56Sopenharmony_cistatic PyObject * 977db96d56Sopenharmony_ci_sha3_sha3_224_hexdigest_impl(SHA3object *self); 987db96d56Sopenharmony_ci 997db96d56Sopenharmony_cistatic PyObject * 1007db96d56Sopenharmony_ci_sha3_sha3_224_hexdigest(SHA3object *self, PyObject *Py_UNUSED(ignored)) 1017db96d56Sopenharmony_ci{ 1027db96d56Sopenharmony_ci return _sha3_sha3_224_hexdigest_impl(self); 1037db96d56Sopenharmony_ci} 1047db96d56Sopenharmony_ci 1057db96d56Sopenharmony_ciPyDoc_STRVAR(_sha3_sha3_224_update__doc__, 1067db96d56Sopenharmony_ci"update($self, data, /)\n" 1077db96d56Sopenharmony_ci"--\n" 1087db96d56Sopenharmony_ci"\n" 1097db96d56Sopenharmony_ci"Update this hash object\'s state with the provided bytes-like object."); 1107db96d56Sopenharmony_ci 1117db96d56Sopenharmony_ci#define _SHA3_SHA3_224_UPDATE_METHODDEF \ 1127db96d56Sopenharmony_ci {"update", (PyCFunction)_sha3_sha3_224_update, METH_O, _sha3_sha3_224_update__doc__}, 1137db96d56Sopenharmony_ci 1147db96d56Sopenharmony_ciPyDoc_STRVAR(_sha3_shake_128_digest__doc__, 1157db96d56Sopenharmony_ci"digest($self, length, /)\n" 1167db96d56Sopenharmony_ci"--\n" 1177db96d56Sopenharmony_ci"\n" 1187db96d56Sopenharmony_ci"Return the digest value as a bytes object."); 1197db96d56Sopenharmony_ci 1207db96d56Sopenharmony_ci#define _SHA3_SHAKE_128_DIGEST_METHODDEF \ 1217db96d56Sopenharmony_ci {"digest", (PyCFunction)_sha3_shake_128_digest, METH_O, _sha3_shake_128_digest__doc__}, 1227db96d56Sopenharmony_ci 1237db96d56Sopenharmony_cistatic PyObject * 1247db96d56Sopenharmony_ci_sha3_shake_128_digest_impl(SHA3object *self, unsigned long length); 1257db96d56Sopenharmony_ci 1267db96d56Sopenharmony_cistatic PyObject * 1277db96d56Sopenharmony_ci_sha3_shake_128_digest(SHA3object *self, PyObject *arg) 1287db96d56Sopenharmony_ci{ 1297db96d56Sopenharmony_ci PyObject *return_value = NULL; 1307db96d56Sopenharmony_ci unsigned long length; 1317db96d56Sopenharmony_ci 1327db96d56Sopenharmony_ci if (!_PyLong_UnsignedLong_Converter(arg, &length)) { 1337db96d56Sopenharmony_ci goto exit; 1347db96d56Sopenharmony_ci } 1357db96d56Sopenharmony_ci return_value = _sha3_shake_128_digest_impl(self, length); 1367db96d56Sopenharmony_ci 1377db96d56Sopenharmony_ciexit: 1387db96d56Sopenharmony_ci return return_value; 1397db96d56Sopenharmony_ci} 1407db96d56Sopenharmony_ci 1417db96d56Sopenharmony_ciPyDoc_STRVAR(_sha3_shake_128_hexdigest__doc__, 1427db96d56Sopenharmony_ci"hexdigest($self, length, /)\n" 1437db96d56Sopenharmony_ci"--\n" 1447db96d56Sopenharmony_ci"\n" 1457db96d56Sopenharmony_ci"Return the digest value as a string of hexadecimal digits."); 1467db96d56Sopenharmony_ci 1477db96d56Sopenharmony_ci#define _SHA3_SHAKE_128_HEXDIGEST_METHODDEF \ 1487db96d56Sopenharmony_ci {"hexdigest", (PyCFunction)_sha3_shake_128_hexdigest, METH_O, _sha3_shake_128_hexdigest__doc__}, 1497db96d56Sopenharmony_ci 1507db96d56Sopenharmony_cistatic PyObject * 1517db96d56Sopenharmony_ci_sha3_shake_128_hexdigest_impl(SHA3object *self, unsigned long length); 1527db96d56Sopenharmony_ci 1537db96d56Sopenharmony_cistatic PyObject * 1547db96d56Sopenharmony_ci_sha3_shake_128_hexdigest(SHA3object *self, PyObject *arg) 1557db96d56Sopenharmony_ci{ 1567db96d56Sopenharmony_ci PyObject *return_value = NULL; 1577db96d56Sopenharmony_ci unsigned long length; 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_ci if (!_PyLong_UnsignedLong_Converter(arg, &length)) { 1607db96d56Sopenharmony_ci goto exit; 1617db96d56Sopenharmony_ci } 1627db96d56Sopenharmony_ci return_value = _sha3_shake_128_hexdigest_impl(self, length); 1637db96d56Sopenharmony_ci 1647db96d56Sopenharmony_ciexit: 1657db96d56Sopenharmony_ci return return_value; 1667db96d56Sopenharmony_ci} 1677db96d56Sopenharmony_ci/*[clinic end generated code: output=c8a97b34e80def62 input=a9049054013a1b77]*/ 168