// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <sys/random.h>

#include <assert.h>
#include <errno.h>
#include <zircon/syscalls.h>

#define MAX_LENGTH 256

static_assert(MAX_LENGTH <= ZX_CPRNG_DRAW_MAX_LEN, "");

int getentropy(void* buffer, size_t length) {
    if (length > MAX_LENGTH) {
        errno = EIO;
        return -1;
    }

    _zx_cprng_draw(buffer, length);
    return 0;
}
