OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [linux/] [hw_random.h] - Blame information for rev 81

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
        Hardware Random Number Generator
3
 
4
        Please read Documentation/hw_random.txt for details on use.
5
 
6
        ----------------------------------------------------------
7
        This software may be used and distributed according to the terms
8
        of the GNU General Public License, incorporated herein by reference.
9
 
10
 */
11
 
12
#ifndef LINUX_HWRANDOM_H_
13
#define LINUX_HWRANDOM_H_
14
#ifdef __KERNEL__
15
 
16
#include <linux/types.h>
17
#include <linux/list.h>
18
 
19
/**
20
 * struct hwrng - Hardware Random Number Generator driver
21
 * @name:               Unique RNG name.
22
 * @init:               Initialization callback (can be NULL).
23
 * @cleanup:            Cleanup callback (can be NULL).
24
 * @data_present:       Callback to determine if data is available
25
 *                      on the RNG. If NULL, it is assumed that
26
 *                      there is always data available.
27
 * @data_read:          Read data from the RNG device.
28
 *                      Returns the number of lower random bytes in "data".
29
 *                      Must not be NULL.
30
 * @priv:               Private data, for use by the RNG driver.
31
 */
32
struct hwrng {
33
        const char *name;
34
        int (*init)(struct hwrng *rng);
35
        void (*cleanup)(struct hwrng *rng);
36
        int (*data_present)(struct hwrng *rng);
37
        int (*data_read)(struct hwrng *rng, u32 *data);
38
        unsigned long priv;
39
 
40
        /* internal. */
41
        struct list_head list;
42
};
43
 
44
/** Register a new Hardware Random Number Generator driver. */
45
extern int hwrng_register(struct hwrng *rng);
46
/** Unregister a Hardware Random Number Generator driver. */
47
extern void hwrng_unregister(struct hwrng *rng);
48
 
49
#endif /* __KERNEL__ */
50
#endif /* LINUX_HWRANDOM_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.