1501092bbSDag-Erling Smørgrav.\"- 2501092bbSDag-Erling Smørgrav.\" Copyright (c) 2006 Dag-Erling Co�dan Sm�rgrav 3501092bbSDag-Erling Smørgrav.\" All rights reserved. 4501092bbSDag-Erling Smørgrav.\" 5501092bbSDag-Erling Smørgrav.\" Redistribution and use in source and binary forms, with or without 6501092bbSDag-Erling Smørgrav.\" modification, are permitted provided that the following conditions 7501092bbSDag-Erling Smørgrav.\" are met: 8501092bbSDag-Erling Smørgrav.\" 1. Redistributions of source code must retain the above copyright 9501092bbSDag-Erling Smørgrav.\" notice, this list of conditions and the following disclaimer. 10501092bbSDag-Erling Smørgrav.\" 2. Redistributions in binary form must reproduce the above copyright 11501092bbSDag-Erling Smørgrav.\" notice, this list of conditions and the following disclaimer in the 12501092bbSDag-Erling Smørgrav.\" documentation and/or other materials provided with the distribution. 13501092bbSDag-Erling Smørgrav.\" 14501092bbSDag-Erling Smørgrav.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15501092bbSDag-Erling Smørgrav.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16501092bbSDag-Erling Smørgrav.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17501092bbSDag-Erling Smørgrav.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18501092bbSDag-Erling Smørgrav.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19501092bbSDag-Erling Smørgrav.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20501092bbSDag-Erling Smørgrav.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21501092bbSDag-Erling Smørgrav.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22501092bbSDag-Erling Smørgrav.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23501092bbSDag-Erling Smørgrav.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24501092bbSDag-Erling Smørgrav.\" SUCH DAMAGE. 25501092bbSDag-Erling Smørgrav.\" 26501092bbSDag-Erling Smørgrav.\" $FreeBSD$ 27501092bbSDag-Erling Smørgrav.\" 28501092bbSDag-Erling Smørgrav.Dd February 18, 2006 29501092bbSDag-Erling Smørgrav.Os 30501092bbSDag-Erling Smørgrav.Dt KLD 3 31501092bbSDag-Erling Smørgrav.Sh NAME 32501092bbSDag-Erling Smørgrav.Nm kld_isloaded , 33501092bbSDag-Erling Smørgrav.Nm kld_load 34501092bbSDag-Erling Smørgrav.Nd kld utility functions 35501092bbSDag-Erling Smørgrav.Sh LIBRARY 36501092bbSDag-Erling Smørgrav.Lb libutil 37501092bbSDag-Erling Smørgrav.Sh SYNOPSIS 38501092bbSDag-Erling Smørgrav.In libutil.h 39501092bbSDag-Erling Smørgrav.Ft int 40501092bbSDag-Erling Smørgrav.Fn kld_isloaded "const char *name" 41501092bbSDag-Erling Smørgrav.Ft int 42501092bbSDag-Erling Smørgrav.Fn kld_load "const char *name" 43501092bbSDag-Erling Smørgrav.Sh DESCRIPTION 44501092bbSDag-Erling SmørgravThese functions facilitate loading kernel modules from userland 45501092bbSDag-Erling Smørgravapplications. 46501092bbSDag-Erling Smørgrav.Pp 47501092bbSDag-Erling SmørgravThe 48501092bbSDag-Erling Smørgrav.Fn kld_isloaded 49501092bbSDag-Erling Smørgravfunction takes a name and returns a non-zero value if a module of that 50501092bbSDag-Erling Smørgravname is currently loaded. 51501092bbSDag-Erling SmørgravThe name can be either the name of a module file 52ad136d1eSRuslan Ermilov.Pq Pa cpufreq.ko , 53501092bbSDag-Erling Smørgravthe same name without the 54501092bbSDag-Erling Smørgrav.Pa .ko 55501092bbSDag-Erling Smørgravextension 56ad136d1eSRuslan Ermilov.Pq Pa cpufreq , 57501092bbSDag-Erling Smørgravor the name of a module contained within that file 58ad136d1eSRuslan Ermilov.Pq Pa cpu/ichss . 59501092bbSDag-Erling SmørgravOnly the latter will return correct results if the module is compiled 60501092bbSDag-Erling Smørgravinto the kernel. 61501092bbSDag-Erling Smørgrav.Pp 62501092bbSDag-Erling SmørgravThe 63501092bbSDag-Erling Smørgrav.Fn kld_load 64501092bbSDag-Erling Smørgravfunction is a simple wrapper around the 65ad136d1eSRuslan Ermilov.Xr kldload 2 66501092bbSDag-Erling Smørgravfunction. 67501092bbSDag-Erling SmørgravIt returns zero if and only if the corresponding 68501092bbSDag-Erling Smørgrav.Fn kldload 69501092bbSDag-Erling Smørgravcall succeeded or returned 70501092bbSDag-Erling Smørgrav.Er EEXIST 71501092bbSDag-Erling Smørgrav(signifying that the requested module was already loaded). 72501092bbSDag-Erling Smørgrav.Sh SEE ALSO 73a07b02efSMaxim Konovalov.Xr kldfirstmod 2 , 74501092bbSDag-Erling Smørgrav.Xr kldload 2 , 75501092bbSDag-Erling Smørgrav.Xr kldnext 2 , 76501092bbSDag-Erling Smørgrav.Xr kldstat 2 , 77501092bbSDag-Erling Smørgrav.Xr modfnext 2 , 78a07b02efSMaxim Konovalov.Xr modstat 2 , 79a07b02efSMaxim Konovalov.Xr kld 4 80501092bbSDag-Erling Smørgrav.Sh HISTORY 81501092bbSDag-Erling SmørgravThe 82501092bbSDag-Erling Smørgrav.Fn kld_isloaded 83501092bbSDag-Erling Smørgravand 84501092bbSDag-Erling Smørgrav.Fn kld_load 85501092bbSDag-Erling Smørgravfunctions first appeared in 8661881b52SDavid E. O'Brien.Fx 6.3 . 87501092bbSDag-Erling Smørgrav.Sh AUTHORS 88501092bbSDag-Erling SmørgravThe 89501092bbSDag-Erling Smørgrav.Fn kld_isloaded 90501092bbSDag-Erling Smørgravand 91501092bbSDag-Erling Smørgrav.Fn kld_load 92501092bbSDag-Erling Smørgravfunctions and this manual page were written by 93501092bbSDag-Erling Smørgrav.An Dag-Erling Sm\(/orgrav Aq des@FreeBSD.org . 94