# zx_cprng_add_entropy

## Summary

Add entropy to the kernel CPRNG.

## Declaration

    #include <zircon/syscalls.h>

    zx_status_t zx_cprng_add_entropy(const void* buffer, size_t buffer_size);

## Description

`zx_cprng_add_entropy()` mixes the given entropy into the kernel CPRNG.
a privileged operation. It will accept at most `ZX_CPRNG_ADD_ENTROPY_MAX_LEN`
bytes of entropy at a time.

## Rights

None.

## Return value

`zx_cprng_add_entropy()` returns `ZX_OK` on success.

## Errors

`ZX_ERR_INVALID_ARGS` *buffer_size* is too large, or *buffer* is not a valid
userspace pointer.

## BUGS

This syscall should be very privileged.

## See also

- [`zx_cprng_draw()`](https://fuchsia.dev/reference/syscalls/cprng_draw)