| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | /*[clinic input]
 | 
					
						
							|  |  |  | preserve | 
					
						
							|  |  |  | [clinic start generated code]*/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 02:30:00 +02:00
										 |  |  | PyDoc_STRVAR(py_sha3_new__doc__, | 
					
						
							|  |  |  | "sha3_224(data=b\'\', /, *, usedforsecurity=True)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return a new BLAKE2b hash object."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | py_sha3_new_impl(PyTypeObject *type, PyObject *data, int usedforsecurity); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | py_sha3_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     static const char * const _keywords[] = {"", "usedforsecurity", NULL}; | 
					
						
							|  |  |  |     static _PyArg_Parser _parser = {NULL, _keywords, "sha3_224", 0}; | 
					
						
							|  |  |  |     PyObject *argsbuf[2]; | 
					
						
							|  |  |  |     PyObject * const *fastargs; | 
					
						
							|  |  |  |     Py_ssize_t nargs = PyTuple_GET_SIZE(args); | 
					
						
							|  |  |  |     Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 0; | 
					
						
							|  |  |  |     PyObject *data = NULL; | 
					
						
							|  |  |  |     int usedforsecurity = 1; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 0, 1, 0, argsbuf); | 
					
						
							|  |  |  |     if (!fastargs) { | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     if (nargs < 1) { | 
					
						
							|  |  |  |         goto skip_optional_posonly; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     noptargs--; | 
					
						
							|  |  |  |     data = fastargs[0]; | 
					
						
							|  |  |  | skip_optional_posonly: | 
					
						
							|  |  |  |     if (!noptargs) { | 
					
						
							|  |  |  |         goto skip_optional_kwonly; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     usedforsecurity = PyObject_IsTrue(fastargs[1]); | 
					
						
							|  |  |  |     if (usedforsecurity < 0) { | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | skip_optional_kwonly: | 
					
						
							|  |  |  |     return_value = py_sha3_new_impl(type, data, usedforsecurity); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | PyDoc_STRVAR(_sha3_sha3_224_copy__doc__, | 
					
						
							|  |  |  | "copy($self, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return a copy of the hash object."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define _SHA3_SHA3_224_COPY_METHODDEF    \
 | 
					
						
							|  |  |  |     {"copy", (PyCFunction)_sha3_sha3_224_copy, METH_NOARGS, _sha3_sha3_224_copy__doc__}, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | _sha3_sha3_224_copy_impl(SHA3object *self); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | _sha3_sha3_224_copy(SHA3object *self, PyObject *Py_UNUSED(ignored)) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     return _sha3_sha3_224_copy_impl(self); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(_sha3_sha3_224_digest__doc__, | 
					
						
							|  |  |  | "digest($self, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  | "Return the digest value as a bytes object."); | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define _SHA3_SHA3_224_DIGEST_METHODDEF    \
 | 
					
						
							|  |  |  |     {"digest", (PyCFunction)_sha3_sha3_224_digest, METH_NOARGS, _sha3_sha3_224_digest__doc__}, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | _sha3_sha3_224_digest_impl(SHA3object *self); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | _sha3_sha3_224_digest(SHA3object *self, PyObject *Py_UNUSED(ignored)) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     return _sha3_sha3_224_digest_impl(self); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(_sha3_sha3_224_hexdigest__doc__, | 
					
						
							|  |  |  | "hexdigest($self, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the digest value as a string of hexadecimal digits."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define _SHA3_SHA3_224_HEXDIGEST_METHODDEF    \
 | 
					
						
							|  |  |  |     {"hexdigest", (PyCFunction)_sha3_sha3_224_hexdigest, METH_NOARGS, _sha3_sha3_224_hexdigest__doc__}, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | _sha3_sha3_224_hexdigest_impl(SHA3object *self); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | _sha3_sha3_224_hexdigest(SHA3object *self, PyObject *Py_UNUSED(ignored)) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     return _sha3_sha3_224_hexdigest_impl(self); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(_sha3_sha3_224_update__doc__, | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  | "update($self, data, /)\n" | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  | "Update this hash object\'s state with the provided bytes-like object."); | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define _SHA3_SHA3_224_UPDATE_METHODDEF    \
 | 
					
						
							|  |  |  |     {"update", (PyCFunction)_sha3_sha3_224_update, METH_O, _sha3_sha3_224_update__doc__}, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(_sha3_shake_128_digest__doc__, | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  | "digest($self, length, /)\n" | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  | "Return the digest value as a bytes object."); | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define _SHA3_SHAKE_128_DIGEST_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  |     {"digest", (PyCFunction)_sha3_shake_128_digest, METH_O, _sha3_shake_128_digest__doc__}, | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | _sha3_shake_128_digest_impl(SHA3object *self, unsigned long length); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  | _sha3_shake_128_digest(SHA3object *self, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     unsigned long length; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-25 13:23:47 +02:00
										 |  |  |     if (!_PyLong_UnsignedLong_Converter(arg, &length)) { | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  |         goto exit; | 
					
						
							| 
									
										
										
										
											2016-09-08 09:29:11 -07:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  |     return_value = _sha3_shake_128_digest_impl(self, length); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(_sha3_shake_128_hexdigest__doc__, | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  | "hexdigest($self, length, /)\n" | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the digest value as a string of hexadecimal digits."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define _SHA3_SHAKE_128_HEXDIGEST_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  |     {"hexdigest", (PyCFunction)_sha3_shake_128_hexdigest, METH_O, _sha3_shake_128_hexdigest__doc__}, | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | _sha3_shake_128_hexdigest_impl(SHA3object *self, unsigned long length); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2018-07-31 09:50:16 +03:00
										 |  |  | _sha3_shake_128_hexdigest(SHA3object *self, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     unsigned long length; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-25 13:23:47 +02:00
										 |  |  |     if (!_PyLong_UnsignedLong_Converter(arg, &length)) { | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  |         goto exit; | 
					
						
							| 
									
										
										
										
											2016-09-08 09:29:11 -07:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-09-07 11:58:24 +02:00
										 |  |  |     return_value = _sha3_shake_128_hexdigest_impl(self, length); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-09-13 02:30:00 +02:00
										 |  |  | /*[clinic end generated code: output=c8a97b34e80def62 input=a9049054013a1b77]*/ |