summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1999-04-04 12:29:31 +0000
committerdfr <dfr@FreeBSD.org>1999-04-04 12:29:31 +0000
commit40f56a703d888ddf4cea7407a46b86be23d9058c (patch)
treed2ae5fb17c4404a90848e325d42df45422fccb07
parentec237a86954e86068e0773decfcbd19e0f51165e (diff)
downloadFreeBSD-src-40f56a703d888ddf4cea7407a46b86be23d9058c.zip
FreeBSD-src-40f56a703d888ddf4cea7407a46b86be23d9058c.tar.gz
Manpages for the KLD system calls.
PR: docs/10412 Submitted by: Chris Costello <chris@calldei.com>
-rw-r--r--lib/libc/sys/Makefile.inc3
-rw-r--r--lib/libc/sys/kldfind.270
-rw-r--r--lib/libc/sys/kldfirstmod.260
-rw-r--r--lib/libc/sys/kldload.275
-rw-r--r--lib/libc/sys/kldnext.262
-rw-r--r--lib/libc/sys/kldstat.2110
-rw-r--r--lib/libc/sys/kldunload.271
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.
OpenPOWER on IntegriCloud