1255071Smarkm/*- 2255071Smarkm * Copyright (c) 2013 Arthur Mesh <arthurmesh@gmail.com> 3255071Smarkm * All rights reserved. 4255071Smarkm * 5255071Smarkm * Redistribution and use in source and binary forms, with or without 6255071Smarkm * modification, are permitted provided that the following conditions 7255071Smarkm * are met: 8255071Smarkm * 1. Redistributions of source code must retain the above copyright 9255071Smarkm * notice, this list of conditions and the following disclaimer 10255071Smarkm * in this position and unchanged. 11255071Smarkm * 2. Redistributions in binary form must reproduce the above copyright 12255071Smarkm * notice, this list of conditions and the following disclaimer in the 13255071Smarkm * documentation and/or other materials provided with the distribution. 14255071Smarkm * 15255071Smarkm * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16255071Smarkm * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17255071Smarkm * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18255071Smarkm * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19255071Smarkm * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20255071Smarkm * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21255071Smarkm * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22255071Smarkm * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23255071Smarkm * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24255071Smarkm * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25255071Smarkm * 26255071Smarkm * $FreeBSD$ 27255071Smarkm */ 28255071Smarkm 29256381Smarkm#ifndef SYS_DEV_RANDOM_RANDOM_HARVESTQ_H_INCLUDED 30256381Smarkm#define SYS_DEV_RANDOM_RANDOM_HARVESTQ_H_INCLUDED 31255071Smarkm 32255071Smarkmtypedef void (*event_proc_f)(struct harvest *event); 33255071Smarkm 34255071Smarkmvoid random_harvestq_init(event_proc_f); 35255071Smarkmvoid random_harvestq_deinit(void); 36255071Smarkmvoid random_harvestq_internal(u_int64_t, const void *, 37256381Smarkm u_int, u_int, enum esource); 38255071Smarkm 39255071Smarkmextern int random_kthread_control; 40256381Smarkmextern struct mtx harvest_mtx; 41255071Smarkm 42256381Smarkm#endif /* SYS_DEV_RANDOM_RANDOM_HARVESTQ_H_INCLUDED */ 43