1 /* Generate buffers of random data. 2 3 Copyright (C) 2006-2023 Free Software Foundation, Inc. 4 5 This program is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 17 18 /* Written by Paul Eggert. */ 19 20 #ifndef RANDREAD_H 21 # define RANDREAD_H 1 22 23 # include <stddef.h> 24 25 struct randread_source; 26 27 int randread_free (struct randread_source *) _GL_ATTRIBUTE_NONNULL (); 28 struct randread_source *randread_new (char const *, size_t) 29 _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (randread_free, 1); 30 void randread (struct randread_source *, void *, size_t) 31 _GL_ATTRIBUTE_NONNULL (); 32 void randread_set_handler (struct randread_source *, void (*) (void const *)) 33 _GL_ATTRIBUTE_NONNULL (); 34 void randread_set_handler_arg (struct randread_source *, void const *) 35 _GL_ATTRIBUTE_NONNULL ((1)); 36 37 #endif 38