diff options
author | dfr <dfr@FreeBSD.org> | 1999-04-04 12:29:31 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1999-04-04 12:29:31 +0000 |
commit | 40f56a703d888ddf4cea7407a46b86be23d9058c (patch) | |
tree | d2ae5fb17c4404a90848e325d42df45422fccb07 /lib/libc | |
parent | ec237a86954e86068e0773decfcbd19e0f51165e (diff) | |
download | FreeBSD-src-40f56a703d888ddf4cea7407a46b86be23d9058c.zip FreeBSD-src-40f56a703d888ddf4cea7407a46b86be23d9058c.tar.gz |
Manpages for the KLD system calls.
PR: docs/10412
Submitted by: Chris Costello <chris@calldei.com>
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/sys/Makefile.inc | 3 | ||||
-rw-r--r-- | lib/libc/sys/kldfind.2 | 70 | ||||
-rw-r--r-- | lib/libc/sys/kldfirstmod.2 | 60 | ||||
-rw-r--r-- | lib/libc/sys/kldload.2 | 75 | ||||
-rw-r--r-- | lib/libc/sys/kldnext.2 | 62 | ||||
-rw-r--r-- | lib/libc/sys/kldstat.2 | 110 | ||||
-rw-r--r-- | lib/libc/sys/kldunload.2 | 71 |
7 files changed, 450 insertions, 1 deletions
diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index 517c4ba..34e6b7e 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.3 (Berkeley) 10/24/94 -# $Id: Makefile.inc,v 1.56 1998/11/05 14:43:29 dg Exp $ +# $Id: Makefile.inc,v 1.57 1998/11/24 08:15:08 jkoshy Exp $ # sys sources .PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/sys ${.CURDIR}/../libc/sys @@ -99,6 +99,7 @@ MAN2+= _exit.2 accept.2 access.2 acct.2 adjtime.2 aio_read.2 \ MAN2+= sched_get_priority_max.2 sched_setparam.2 \ sched_setscheduler.2 sched_yield.2 .endif +MAN2+= kldfind.2 kldfirstmod.2 kldload.2 kldnext.2 kldstat.2 kldunload.2 MLINKS+=brk.2 sbrk.2 MLINKS+=dup.2 dup2.2 diff --git a/lib/libc/sys/kldfind.2 b/lib/libc/sys/kldfind.2 new file mode 100644 index 0000000..cc43bf3 --- /dev/null +++ b/lib/libc/sys/kldfind.2 @@ -0,0 +1,70 @@ +.\" +.\" Copyright (c) 1999 Chris Costello +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id$ +.\" +.Dd March 3, 1999 +.Dt KLDFIND 2 +.Os FreeBSD +.Sh NAME +.Nm kldfind +.Nd returns the fileid of a kld file +.Sh SYNOPSIS +.Fd #include <sys/linker.h> +.br +.Ft int +.Fn kldfind "const char *file" +.Sh DESCRIPTION +The function +.Fn kldfind +returns the fileid of the kld file referenced by +.Va file . +.Sh RETURN VALUES +.Fn kldfind +returns the fileid of the kld file referenced by +.Va file . +Upon error, +.Fn kldfind +returns -1 and sets +.Va errno +to indicate the error. +.Sh ERRORS +.Va errno +is set to the following if +.Fn kldfind +fails: +.Bl -tag -width Er +.It Bq Er EFAULT +The data required for this operation could not be read from the kernel space. +.It Bq Er ENOENT +The file specified by +.Va file +does not exist or is not readable. +.Ed +.Sh HISTORY +The +.Nm kld +interface first appeared in FreeBSD 3.0. + diff --git a/lib/libc/sys/kldfirstmod.2 b/lib/libc/sys/kldfirstmod.2 new file mode 100644 index 0000000..5df99f1 --- /dev/null +++ b/lib/libc/sys/kldfirstmod.2 @@ -0,0 +1,60 @@ +.\" +.\" Copyright (c) 1999 Chris Costello +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id$ +.\" +.Dd March 3, 1999 +.Dt KLDFIRSTMOD 2 +.Os FreeBSD +.Sh NAME +.Nm kldfirstmod +.Nd "return first module id from the kld file specified" +.Sh SYNOPSIS +.Fd #include <sys/linker.h> +.br +.Ft int +.Fn kldfirstmod "int fileid" +.Sh DESCRIPTION +The +.Fn kldfirstmod +function returns the module id pertaining to the first module referenced by +.Va fileid . +.Sh RETURN VALUES +The +.Fn kldfirstmod +will return the id of the first module referenced by +.Va fileid +or 0 if there are no references. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er ENOENT +The kld file referenced by +.Va fileid +was not found. +.Ed +.Sh HISTORY +The +.Nm kld +interface first appeared in FreeBSD 3.0. diff --git a/lib/libc/sys/kldload.2 b/lib/libc/sys/kldload.2 new file mode 100644 index 0000000..5d36748 --- /dev/null +++ b/lib/libc/sys/kldload.2 @@ -0,0 +1,75 @@ +.\" +.\" Copyright (c) 1999 Chris Costello +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id$ +.\" + +.Dd March 3, 1999 +.Dt KLDLOAD 2 +.Os FreeBSD +.Sh NAME +.Nm kldload , +.Nm kldunload +.Nd load KLD files into the kernel +.Sh SYNOPSIS +.Fd #include <sys/linker.h> +.br +.Ft int +.Fn kldload "const char *file" +.Sh DESCRIPTION +The function +.Fn kldload +loads a kld file into the kernel using the kernel linker. +.Sh RETURN VALUES +The function +.Fn kldload +returns the fileid of the kld file which was loaded into the kernel. If +an error occurs, +.Fn kldload +will return -1 and set +.Va errno +to indicate the error. +.Sh ERRORS +The named file is loaded unless: +.Bl -tag -width Er +.It Bq Er EPERM +You do not have access to read the file or link it with the kernel. You should +be the root user to be able to use the +.Nm kld +functions. +.It Bq Er EFAULT +Bad address encountered when adding kld info into the kernel space. +.It Bq Er ENOMEM +There is no memory to load the file into the kernel. +.It Bq Er ENOENT +The file was not found. +.It Bq Er ENOEXEC +The file format of +.Va file +was unrecognized. +.Sh HISTORY +The +.Nm kld +interface first appeared in FreeBSD 3.0. diff --git a/lib/libc/sys/kldnext.2 b/lib/libc/sys/kldnext.2 new file mode 100644 index 0000000..5b616f8 --- /dev/null +++ b/lib/libc/sys/kldnext.2 @@ -0,0 +1,62 @@ +.\" +.\" Copyright (c) 1999 Chris Costello +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id$ +.\" +.Dd March 3, 1999 +.Dt KLDNEXT 2 +.Os FreeBSD +.Sh NAME +.Nm kldnext +.Nd return the fileid of the next kld file +.Sh SYNOPSIS +.Fd #include <sys/linker.h> +.br +.Ft int +.Fn kldnext "int fileid" +.Sh DESCRIPTION +The function +.Fn kldnext +returns the fileid of the next kld file (that is, the one after +.Va fileid ) +or 0 if +.Va fileid +is the last file loaded. +.Sh RETURN VALUES +.Fn kldnext +returns the fileid of the next kld file (see DESCRIPTION) or 0. If an error +occurs, +.Va errno +is set to indicate the error. +.Sh ERRORS +The only error set by +.Fn kldnext +is ENOENT, which is set when +.Va fileid +refers to a kld file that does not exist (isn't loaded). +.Sh HISTORY +The +.Nm kld +interface first appeared in FreeBSD 3.0. diff --git a/lib/libc/sys/kldstat.2 b/lib/libc/sys/kldstat.2 new file mode 100644 index 0000000..4e46c29 --- /dev/null +++ b/lib/libc/sys/kldstat.2 @@ -0,0 +1,110 @@ +.\" +.\" Copyright (c) 1999 Chris Costello +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id$ +.\" +.Dd March 3, 1999 +.Dt KLDSTAT 2 +.Os FreeBSD +.Sh NAME +.Nm kldstat +.Nd get status of kld file +.Sh SYNOPSIS +.Fd #include <sys/linker.h> +.br +.Ft int +.Fn kldstat "int fileid" "struct kld_file_stat *stat" +.Sh DESCRIPTION +The +.Fn kldstat +function writes the info for the file referred to by +.Va fileid +into +.Va stat . +.br +.Bd -literal +struct kld_file_stat { + int version; /* set to sizeof(linker_file_stat) */ + char name[MAXPATHLEN]; + int refs; + int id; + caddr_t address; /* load address */ + size_t size; /* size in bytes */ +}; +.Ed +.Pp +.Bl -tag -width XXXaddress +.It version +This field is set to the size of the structure mentioned above by the code +calling +.Fn kldstat , +and not +.Fn kldstat +itself. +.It name +The name of the file referred to by +.Va fileid . +.It refs +The number of modules referenced by +.Va fileid . +.It id +The id of the file specified in +.Va fileid . +.It address +The load address of the kld file. +.It size +The size of the file. +.Ed +.Sh RETURN VALUES +.Fn kldstat +seems to always return 0. +.Sh ERRORS +The information for the file referred to by +.Va fileid +is filled into the structure pointed to by +.Va stat +unless: +.Bl -tag -width Er +.It Bq Er ENOENT +The file was not found (probably not loaded). +.It Bq Er EINVAL +The version specified in the +.Va version +field of stat is not the proper version. You would need to rebuild world, the +kernel, or your application, if this error occurs, given that you did properly +fill in the +.Va version +field. +.It Bq Er EFAULT +There was a problem copying one, some, or all of the fields into +.Va stat +in the +.Fn copyout +function. +.Ed +.Sh HISTORY +The +.Nm kld +interface first appeared in FreeBSD 3.0. diff --git a/lib/libc/sys/kldunload.2 b/lib/libc/sys/kldunload.2 new file mode 100644 index 0000000..d8bbf6a --- /dev/null +++ b/lib/libc/sys/kldunload.2 @@ -0,0 +1,71 @@ +.\" +.\" Copyright (c) 1999 Chris Costello +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id$ +.\" + +.Dd March 3, 1999 +.Dt KLDUNLOAD 2 +.Os FreeBSD +.Sh NAME +.Nm kldunload +.Nd unload kld files +.Sh SYNOPSIS +.Fd #include <sys/linker.h> +.br +.Ft int +.Fn kldunload "int fileid" +.Sh DESCRIPTION +The function +.Fn kldunload +unloads a kld file from the kernel that was previously linked via +.Xr kldload 3 +. +.Sh RETURN VALUES +The function +.Fn kldunload +returns the fileid of the kld file which was previously loaded into memory via +.Fn kldload . +If an error occurs, +.Fn kldunload +will return -1 and set +.Va errno +to indicate the error. +.Sh ERRORS +The file referred to by +.Va fileid +is unloaded unless: +.Bl -tag -width Er +.It Bq Er EPERM +You don't have access to unlink the file from the kernel. +.It Bq Er ENOENT +The file was not found. +.It Bq Er EBUSY +You attempted to unload a file linked by the kernel. +.Ed +.Sh HISTORY +The +.Nm kld +interface first appeared in FreeBSD 3.0. |