Changeset View
Changeset View
Standalone View
Standalone View
head/sys/compat/linuxkpi/common/include/linux/random.h
Show All 22 Lines | |||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _LINUX_RANDOM_H_ | #ifndef _LINUX_RANDOM_H_ | ||||
#define _LINUX_RANDOM_H_ | #define _LINUX_RANDOM_H_ | ||||
#include <sys/random.h> | #include <sys/random.h> | ||||
#include <sys/libkern.h> | #include <sys/libkern.h> | ||||
static inline void | static inline void | ||||
get_random_bytes(void *buf, int nbytes) | get_random_bytes(void *buf, int nbytes) | ||||
{ | { | ||||
if (read_random(buf, nbytes) == 0) | if (read_random(buf, nbytes) == 0) | ||||
arc4rand(buf, nbytes, 0); | arc4rand(buf, nbytes, 0); | ||||
} | |||||
static inline u_int | |||||
get_random_int(void) | |||||
{ | |||||
u_int val; | |||||
get_random_bytes(&val, sizeof(val)); | |||||
return (val); | |||||
} | |||||
static inline u_long | |||||
get_random_long(void) | |||||
{ | |||||
u_long val; | |||||
get_random_bytes(&val, sizeof(val)); | |||||
return (val); | |||||
} | } | ||||
#endif /* _LINUX_RANDOM_H_ */ | #endif /* _LINUX_RANDOM_H_ */ |