180815f84SMichael Wildt /* SPDX-License-Identifier: BSD-3-Clause 2*e6e8f03eSRandy Schacher * Copyright(c) 2019-2023 Broadcom 380815f84SMichael Wildt * All rights reserved. 480815f84SMichael Wildt */ 580815f84SMichael Wildt 680815f84SMichael Wildt /* Random Number Functions */ 780815f84SMichael Wildt #ifndef __RAND_H__ 880815f84SMichael Wildt #define __RAND_H__ 980815f84SMichael Wildt 1080815f84SMichael Wildt /** 1180815f84SMichael Wildt * Generates a 16 bit pseudo random number 1280815f84SMichael Wildt * 1380815f84SMichael Wildt * Returns: 1480815f84SMichael Wildt * uint16_t number 1580815f84SMichael Wildt * 1680815f84SMichael Wildt */ 1780815f84SMichael Wildt uint16_t rand16(void); 1880815f84SMichael Wildt 1980815f84SMichael Wildt /** 2080815f84SMichael Wildt * Generates a 32 bit pseudo random number 2180815f84SMichael Wildt * 2280815f84SMichael Wildt * Returns: 2380815f84SMichael Wildt * uint32_t number 2480815f84SMichael Wildt * 2580815f84SMichael Wildt */ 2680815f84SMichael Wildt uint32_t rand32(void); 2780815f84SMichael Wildt 2880815f84SMichael Wildt /** 2980815f84SMichael Wildt * Resets the seed used by the pseudo random number generator 3080815f84SMichael Wildt * 3180815f84SMichael Wildt * Returns: 3280815f84SMichael Wildt * 3380815f84SMichael Wildt */ 3480815f84SMichael Wildt void rand_init(void); 3580815f84SMichael Wildt #endif /* __RAND_H__ */ 36