]> git.proxmox.com Git - libgit2.git/blame - src/util/rand.h
Merge https://salsa.debian.org/debian/libgit2 into proxmox/bullseye
[libgit2.git] / src / util / rand.h
CommitLineData
e579e0f7
MB
1/*
2 * Copyright (C) the libgit2 contributors. All rights reserved.
3 *
4 * This file is part of libgit2, distributed under the GNU GPL v2 with
5 * a Linking Exception. For full terms see the included COPYING file.
6 */
7#ifndef INCLUDE_rand_h__
8#define INCLUDE_rand_h__
9
ad5611d8 10#include "git2_util.h"
e579e0f7
MB
11
12/**
13 * Initialize the random number generation subsystem. This will
14 * seed the random number generator with the system's entropy pool,
15 * if available, and will fall back to the current time and
16 * system information if not.
17 */
18int git_rand_global_init(void);
19
20/**
21 * Seed the pseudo-random number generator. This is not needed to be
22 * called; the PRNG is seeded by `git_rand_global_init`, but it may
23 * be useful for testing. When the same seed is specified, the same
24 * sequence of random numbers from `git_rand_next` is emitted.
25 *
26 * @param seed the seed to use
27 */
28void git_rand_seed(uint64_t seed);
29
30/**
31 * Get the next pseudo-random number in the sequence.
32 *
33 * @return a 64-bit pseudo-random number
34 */
35uint64_t git_rand_next(void);
36
37#endif