rng-random.c (99c9c3cb24e566258a0a141178934f9cb5198842) rng-random.c (c6bd8c706a799eb0fece99f468aaa22b818036f3)
1/*
2 * QEMU Random Number Generator Backend
3 *
4 * Copyright IBM, Corp. 2012
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *

--- 60 unchanged lines hidden (view full) ---

69 qemu_set_fd_handler(s->fd, entropy_available, NULL, s);
70}
71
72static void rng_random_opened(RngBackend *b, Error **errp)
73{
74 RndRandom *s = RNG_RANDOM(b);
75
76 if (s->filename == NULL) {
1/*
2 * QEMU Random Number Generator Backend
3 *
4 * Copyright IBM, Corp. 2012
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *

--- 60 unchanged lines hidden (view full) ---

69 qemu_set_fd_handler(s->fd, entropy_available, NULL, s);
70}
71
72static void rng_random_opened(RngBackend *b, Error **errp)
73{
74 RndRandom *s = RNG_RANDOM(b);
75
76 if (s->filename == NULL) {
77 error_set(errp, QERR_INVALID_PARAMETER_VALUE,
78 "filename", "a valid filename");
77 error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
78 "filename", "a valid filename");
79 } else {
80 s->fd = qemu_open(s->filename, O_RDONLY | O_NONBLOCK);
81 if (s->fd == -1) {
82 error_setg_file_open(errp, errno, s->filename);
83 }
84 }
85}
86

--- 6 unchanged lines hidden (view full) ---

93
94static void rng_random_set_filename(Object *obj, const char *filename,
95 Error **errp)
96{
97 RngBackend *b = RNG_BACKEND(obj);
98 RndRandom *s = RNG_RANDOM(obj);
99
100 if (b->opened) {
79 } else {
80 s->fd = qemu_open(s->filename, O_RDONLY | O_NONBLOCK);
81 if (s->fd == -1) {
82 error_setg_file_open(errp, errno, s->filename);
83 }
84 }
85}
86

--- 6 unchanged lines hidden (view full) ---

93
94static void rng_random_set_filename(Object *obj, const char *filename,
95 Error **errp)
96{
97 RngBackend *b = RNG_BACKEND(obj);
98 RndRandom *s = RNG_RANDOM(obj);
99
100 if (b->opened) {
101 error_set(errp, QERR_PERMISSION_DENIED);
101 error_setg(errp, QERR_PERMISSION_DENIED);
102 return;
103 }
104
105 g_free(s->filename);
106 s->filename = g_strdup(filename);
107}
108
109static void rng_random_init(Object *obj)

--- 47 unchanged lines hidden ---
102 return;
103 }
104
105 g_free(s->filename);
106 s->filename = g_strdup(filename);
107}
108
109static void rng_random_init(Object *obj)

--- 47 unchanged lines hidden ---