Lines Matching refs:self
60 BLAKE2sObject *self;
61 self = (BLAKE2sObject *)type->tp_alloc(type, 0);
62 if (self != NULL) {
63 self->lock = NULL;
65 return self;
98 BLAKE2sObject *self = NULL;
101 self = new_BLAKE2sObject(type);
102 if (self == NULL) {
107 memset(&self->param, 0, sizeof(self->param));
116 self->param.digest_length = digest_size;
126 memcpy(self->param.salt, salt->buf, salt->len);
137 memcpy(self->param.personal, person->buf, person->len);
146 self->param.fanout = (uint8_t)fanout;
153 self->param.depth = (uint8_t)depth;
160 store32(&(self->param.leaf_length), leaf_size);
168 store48(&(self->param.node_offset), node_offset);
171 store64(&(self->param.node_offset), node_offset);
179 self->param.node_depth = node_depth;
187 self->param.inner_length = inner_size;
197 self->param.key_length = (uint8_t)key->len;
201 if (blake2s_init_param(&self->state, &self->param) < 0) {
208 self->state.last_node = last_node;
211 if (self->param.key_length) {
215 blake2s_update(&self->state, block, sizeof(block));
225 blake2s_update(&self->state, buf.buf, buf.len);
228 blake2s_update(&self->state, buf.buf, buf.len);
233 return (PyObject *)self;
236 if (self != NULL) {
237 Py_DECREF(self);
249 _blake2_blake2s_copy_impl(BLAKE2sObject *self)
254 if ((cpy = new_BLAKE2sObject(Py_TYPE(self))) == NULL)
257 ENTER_HASHLIB(self);
258 cpy->param = self->param;
259 cpy->state = self->state;
260 LEAVE_HASHLIB(self);
274 _blake2_blake2s_update(BLAKE2sObject *self, PyObject *data)
281 if (self->lock == NULL && buf.len >= HASHLIB_GIL_MINSIZE)
282 self->lock = PyThread_allocate_lock();
284 if (self->lock != NULL) {
286 PyThread_acquire_lock(self->lock, 1);
287 blake2s_update(&self->state, buf.buf, buf.len);
288 PyThread_release_lock(self->lock);
291 blake2s_update(&self->state, buf.buf, buf.len);
305 _blake2_blake2s_digest_impl(BLAKE2sObject *self)
311 ENTER_HASHLIB(self);
312 state_cpy = self->state;
313 blake2s_final(&state_cpy, digest, self->param.digest_length);
314 LEAVE_HASHLIB(self);
316 self->param.digest_length);
326 _blake2_blake2s_hexdigest_impl(BLAKE2sObject *self)
332 ENTER_HASHLIB(self);
333 state_cpy = self->state;
334 blake2s_final(&state_cpy, digest, self->param.digest_length);
335 LEAVE_HASHLIB(self);
336 return _Py_strhex((const char *)digest, self->param.digest_length);
351 py_blake2s_get_name(BLAKE2sObject *self, void *closure)
359 py_blake2s_get_block_size(BLAKE2sObject *self, void *closure)
367 py_blake2s_get_digest_size(BLAKE2sObject *self, void *closure)
369 return PyLong_FromLong(self->param.digest_length);
385 py_blake2s_dealloc(PyObject *self)
387 BLAKE2sObject *obj = (BLAKE2sObject *)self;
397 PyTypeObject *type = Py_TYPE(self);
398 PyObject_Free(self);