Lines Matching refs:len

65 RAND_POOL *ossl_rand_pool_attach(const unsigned char *buffer, size_t len,
81 pool->len = len;
85 pool->min_len = pool->max_len = pool->alloc_len = pool->len;
136 return pool->len;
160 OPENSSL_cleanse(pool->buffer, pool->len);
161 pool->len = 0;
185 if (pool->len < pool->min_len)
205 static int rand_pool_grow(RAND_POOL *pool, size_t len)
207 if (len > pool->alloc_len - pool->len) {
212 if (pool->attached || len > pool->max_len - pool->len) {
219 while (len > newlen - pool->len);
229 memcpy(p, pool->buffer, pool->len);
258 if (bytes_needed > pool->max_len - pool->len) {
264 if (pool->len < pool->min_len &&
265 bytes_needed < pool->min_len - pool->len)
267 bytes_needed = pool->min_len - pool->len;
283 pool->max_len = pool->len = 0;
293 return pool->max_len - pool->len;
299 * It is expected that the |buffer| contains |len| bytes of
306 const unsigned char *buffer, size_t len, size_t entropy)
308 if (len > pool->max_len - pool->len) {
318 if (len > 0) {
327 if (pool->alloc_len > pool->len && pool->buffer + pool->len == buffer) {
338 if (!rand_pool_grow(pool, len))
340 memcpy(pool->buffer + pool->len, buffer, len);
341 pool->len += len;
351 * Reserves the next |len| bytes for adding random bytes in-place
353 * The caller is allowed to copy up to |len| bytes into the buffer.
354 * If |len| == 0 this is considered a no-op and a NULL pointer
360 unsigned char *ossl_rand_pool_add_begin(RAND_POOL *pool, size_t len)
362 if (len == 0)
365 if (len > pool->max_len - pool->len) {
384 if (!rand_pool_grow(pool, len))
387 return pool->buffer + pool->len;
395 * It is expected that |len| bytes of random input have been added
399 int ossl_rand_pool_add_end(RAND_POOL *pool, size_t len, size_t entropy)
401 if (len > pool->alloc_len - pool->len) {
406 if (len > 0) {
407 pool->len += len;