10b9ba613SJason A. Donenfeld /* SPDX-License-Identifier: GPL-2.0 */ 20b9ba613SJason A. Donenfeld #ifndef __ASM_UM_ARCHRANDOM_H__ 30b9ba613SJason A. Donenfeld #define __ASM_UM_ARCHRANDOM_H__ 40b9ba613SJason A. Donenfeld 50b9ba613SJason A. Donenfeld #include <linux/types.h> 60b9ba613SJason A. Donenfeld 70b9ba613SJason A. Donenfeld /* This is from <os.h>, but better not to #include that in a global header here. */ 80b9ba613SJason A. Donenfeld ssize_t os_getrandom(void *buf, size_t len, unsigned int flags); 90b9ba613SJason A. Donenfeld arch_get_random_longs(unsigned long * v,size_t max_longs)10*d349ab99SJason A. Donenfeldstatic inline size_t __must_check arch_get_random_longs(unsigned long *v, size_t max_longs) 110b9ba613SJason A. Donenfeld { 12*d349ab99SJason A. Donenfeld ssize_t ret; 13*d349ab99SJason A. Donenfeld 14*d349ab99SJason A. Donenfeld ret = os_getrandom(v, max_longs * sizeof(*v), 0); 15*d349ab99SJason A. Donenfeld if (ret < 0) 16*d349ab99SJason A. Donenfeld return 0; 17*d349ab99SJason A. Donenfeld return ret / sizeof(*v); 180b9ba613SJason A. Donenfeld } 190b9ba613SJason A. Donenfeld arch_get_random_seed_longs(unsigned long * v,size_t max_longs)20*d349ab99SJason A. Donenfeldstatic inline size_t __must_check arch_get_random_seed_longs(unsigned long *v, size_t max_longs) 210b9ba613SJason A. Donenfeld { 22*d349ab99SJason A. Donenfeld return 0; 230b9ba613SJason A. Donenfeld } 240b9ba613SJason A. Donenfeld 250b9ba613SJason A. Donenfeld #endif 26