1/*[clinic input] 2preserve 3[clinic start generated code]*/ 4 5PyDoc_STRVAR(SHA1Type_copy__doc__, 6"copy($self, /)\n" 7"--\n" 8"\n" 9"Return a copy of the hash object."); 10 11#define SHA1TYPE_COPY_METHODDEF \ 12 {"copy", _PyCFunction_CAST(SHA1Type_copy), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, SHA1Type_copy__doc__}, 13 14static PyObject * 15SHA1Type_copy_impl(SHA1object *self, PyTypeObject *cls); 16 17static PyObject * 18SHA1Type_copy(SHA1object *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 19{ 20 if (nargs) { 21 PyErr_SetString(PyExc_TypeError, "copy() takes no arguments"); 22 return NULL; 23 } 24 return SHA1Type_copy_impl(self, cls); 25} 26 27PyDoc_STRVAR(SHA1Type_digest__doc__, 28"digest($self, /)\n" 29"--\n" 30"\n" 31"Return the digest value as a bytes object."); 32 33#define SHA1TYPE_DIGEST_METHODDEF \ 34 {"digest", (PyCFunction)SHA1Type_digest, METH_NOARGS, SHA1Type_digest__doc__}, 35 36static PyObject * 37SHA1Type_digest_impl(SHA1object *self); 38 39static PyObject * 40SHA1Type_digest(SHA1object *self, PyObject *Py_UNUSED(ignored)) 41{ 42 return SHA1Type_digest_impl(self); 43} 44 45PyDoc_STRVAR(SHA1Type_hexdigest__doc__, 46"hexdigest($self, /)\n" 47"--\n" 48"\n" 49"Return the digest value as a string of hexadecimal digits."); 50 51#define SHA1TYPE_HEXDIGEST_METHODDEF \ 52 {"hexdigest", (PyCFunction)SHA1Type_hexdigest, METH_NOARGS, SHA1Type_hexdigest__doc__}, 53 54static PyObject * 55SHA1Type_hexdigest_impl(SHA1object *self); 56 57static PyObject * 58SHA1Type_hexdigest(SHA1object *self, PyObject *Py_UNUSED(ignored)) 59{ 60 return SHA1Type_hexdigest_impl(self); 61} 62 63PyDoc_STRVAR(SHA1Type_update__doc__, 64"update($self, obj, /)\n" 65"--\n" 66"\n" 67"Update this hash object\'s state with the provided string."); 68 69#define SHA1TYPE_UPDATE_METHODDEF \ 70 {"update", (PyCFunction)SHA1Type_update, METH_O, SHA1Type_update__doc__}, 71 72PyDoc_STRVAR(_sha1_sha1__doc__, 73"sha1($module, /, string=b\'\', *, usedforsecurity=True)\n" 74"--\n" 75"\n" 76"Return a new SHA1 hash object; optionally initialized with a string."); 77 78#define _SHA1_SHA1_METHODDEF \ 79 {"sha1", _PyCFunction_CAST(_sha1_sha1), METH_FASTCALL|METH_KEYWORDS, _sha1_sha1__doc__}, 80 81static PyObject * 82_sha1_sha1_impl(PyObject *module, PyObject *string, int usedforsecurity); 83 84static PyObject * 85_sha1_sha1(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 86{ 87 PyObject *return_value = NULL; 88 static const char * const _keywords[] = {"string", "usedforsecurity", NULL}; 89 static _PyArg_Parser _parser = {NULL, _keywords, "sha1", 0}; 90 PyObject *argsbuf[2]; 91 Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 92 PyObject *string = NULL; 93 int usedforsecurity = 1; 94 95 args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 1, 0, argsbuf); 96 if (!args) { 97 goto exit; 98 } 99 if (!noptargs) { 100 goto skip_optional_pos; 101 } 102 if (args[0]) { 103 string = args[0]; 104 if (!--noptargs) { 105 goto skip_optional_pos; 106 } 107 } 108skip_optional_pos: 109 if (!noptargs) { 110 goto skip_optional_kwonly; 111 } 112 usedforsecurity = PyObject_IsTrue(args[1]); 113 if (usedforsecurity < 0) { 114 goto exit; 115 } 116skip_optional_kwonly: 117 return_value = _sha1_sha1_impl(module, string, usedforsecurity); 118 119exit: 120 return return_value; 121} 122/*[clinic end generated code: output=322d77ba0a4282fc input=a9049054013a1b77]*/ 123