diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 1999-07-01 12:16:07 +0000 |
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 1999-07-01 12:16:07 +0000 |
| commit | 17f3b070513947a63bade47c5709162d3faacd74 (patch) | |
| tree | 626456c2c36b9a70800de60467918fe3b8ebe328 /lib/libc/sys | |
| parent | b00c2d9a98861cc216331278ce35a93ea0c30e52 (diff) | |
Notes
Diffstat (limited to 'lib/libc/sys')
| -rw-r--r-- | lib/libc/sys/kldfind.2 | 75 | ||||
| -rw-r--r-- | lib/libc/sys/kldfirstmod.2 | 66 | ||||
| -rw-r--r-- | lib/libc/sys/kldload.2 | 82 | ||||
| -rw-r--r-- | lib/libc/sys/kldnext.2 | 69 | ||||
| -rw-r--r-- | lib/libc/sys/kldstat.2 | 115 | ||||
| -rw-r--r-- | lib/libc/sys/kldunload.2 | 77 |
6 files changed, 484 insertions, 0 deletions
diff --git a/lib/libc/sys/kldfind.2 b/lib/libc/sys/kldfind.2 new file mode 100644 index 000000000000..8aa85d922b41 --- /dev/null +++ b/lib/libc/sys/kldfind.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: kldfind.2,v 1.2 1999/04/09 14:31:59 bde Exp $ +.\" +.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/param.h> +.Fd #include <sys/linker.h> +.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. +.Sh SEE ALSO +.Xr kldfirstmod 2 , +.Xr kldload 2 , +.Xr kldnext 2 , +.Xr kldstat 2 , +.Xr kldunload 2 , +.Xr kld 4 +.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 000000000000..c23c7a985c5e --- /dev/null +++ b/lib/libc/sys/kldfirstmod.2 @@ -0,0 +1,66 @@ +.\" +.\" 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: kldfirstmod.2,v 1.2 1999/04/09 14:31:59 bde Exp $ +.\" +.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/param.h> +.Fd #include <sys/linker.h> +.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. +.Sh SEE ALSO +.Xr kldfind 2 , +.Xr kldload 2 , +.Xr kldnext 2 , +.Xr kldstat 2 , +.Xr kldunload 2 , +.Xr kld 4 +.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 000000000000..f5e717e12521 --- /dev/null +++ b/lib/libc/sys/kldload.2 @@ -0,0 +1,82 @@ +.\" +.\" 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: kldload.2,v 1.2 1999/04/09 14:31:59 bde Exp $ +.\" + +.Dd March 3, 1999 +.Dt KLDLOAD 2 +.Os FreeBSD +.Sh NAME +.Nm kldload +.Nd load KLD files into the kernel +.Sh SYNOPSIS +.Fd #include <sys/param.h> +.Fd #include <sys/linker.h> +.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 SEE ALSO +.Xr kldfind 2 , +.Xr kldfirstmod 2 , +.Xr kldnext 2 , +.Xr kldstat 2 , +.Xr kldunload 2 , +.Xr kld 4 , +.Xr kldload 8 +.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 000000000000..78f3d0511f8c --- /dev/null +++ b/lib/libc/sys/kldnext.2 @@ -0,0 +1,69 @@ +.\" +.\" 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: kldnext.2,v 1.2 1999/04/09 14:31:59 bde Exp $ +.\" +.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/param.h> +.Fd #include <sys/linker.h> +.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 SEE ALSO +.Xr kldfind 2 , +.Xr kldfirstmod 2 , +.Xr kldload 2 , +.Xr kldstat 2 , +.Xr kldunload 2 , +.Xr kld 4 +.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 000000000000..64a87540d785 --- /dev/null +++ b/lib/libc/sys/kldstat.2 @@ -0,0 +1,115 @@ +.\" +.\" 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: kldstat.2,v 1.2 1999/04/09 14:31:59 bde Exp $ +.\" +.Dd March 3, 1999 +.Dt KLDSTAT 2 +.Os FreeBSD +.Sh NAME +.Nm kldstat +.Nd get status of kld file +.Sh SYNOPSIS +.Fd #include <sys/param.h> +.Fd #include <sys/linker.h> +.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 . +.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. +.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. +.Sh SEE ALSO +.Xr kldfind 2 , +.Xr kldfirstmod 2 , +.Xr kldload 2 , +.Xr kldnext 2 , +.Xr kldunload 2 , +.Xr kld 4 , +.Xr kldstat 8 +.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 000000000000..7b5b1e709ce2 --- /dev/null +++ b/lib/libc/sys/kldunload.2 @@ -0,0 +1,77 @@ +.\" +.\" 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: kldunload.2,v 1.2 1999/04/09 14:31:59 bde Exp $ +.\" + +.Dd March 3, 1999 +.Dt KLDUNLOAD 2 +.Os FreeBSD +.Sh NAME +.Nm kldunload +.Nd unload kld files +.Sh SYNOPSIS +.Fd #include <sys/param.h> +.Fd #include <sys/linker.h> +.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. +.Sh SEE ALSO +.Xr kldfind 2 , +.Xr kldfirstmod 2 , +.Xr kldload 2 , +.Xr kldnext 2 , +.Xr kldstat 2 , +.Xr kld 4 , +.Xr kldunload 8 +.Sh HISTORY +The +.Nm kld +interface first appeared in FreeBSD 3.0. |
