Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/random/randomdev.h
Show First 20 Lines • Show All 96 Lines • ▼ Show 20 Lines | |||||
* upon request. | * upon request. | ||||
*/ | */ | ||||
struct random_source { | struct random_source { | ||||
const char *rs_ident; | const char *rs_ident; | ||||
enum random_entropy_source rs_source; | enum random_entropy_source rs_source; | ||||
random_source_read_t *rs_read; | random_source_read_t *rs_read; | ||||
}; | }; | ||||
struct random_sources { | |||||
LIST_ENTRY(random_sources) rrs_entries; | |||||
struct random_source *rrs_source; | |||||
}; | |||||
LIST_HEAD(sources_head, random_sources); | |||||
extern struct sources_head source_list; | |||||
void random_source_register(struct random_source *); | void random_source_register(struct random_source *); | ||||
void random_source_deregister(struct random_source *); | void random_source_deregister(struct random_source *); | ||||
#if defined(RANDOM_LOADABLE) | #if defined(RANDOM_LOADABLE) | ||||
extern struct sx randomdev_config_lock; | extern struct sx randomdev_config_lock; | ||||
#define RANDOM_CONFIG_INIT_LOCK(x) sx_init(&randomdev_config_lock, "configuration change lock") | #define RANDOM_CONFIG_INIT_LOCK(x) sx_init(&randomdev_config_lock, "configuration change lock") | ||||
#define RANDOM_CONFIG_X_LOCK(x) sx_xlock(&randomdev_config_lock) | #define RANDOM_CONFIG_X_LOCK(x) sx_xlock(&randomdev_config_lock) | ||||
#define RANDOM_CONFIG_X_UNLOCK(x) sx_xunlock(&randomdev_config_lock) | #define RANDOM_CONFIG_X_UNLOCK(x) sx_xunlock(&randomdev_config_lock) | ||||
Show All 13 Lines |