diff options
author | dg <dg@FreeBSD.org> | 1994-08-19 12:42:13 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1994-08-19 12:42:13 +0000 |
commit | d81bff9b628b8cc504ce0685fbbcefe6ac41e726 (patch) | |
tree | ef5f20b183463acb0a78afa0a76e71d0961ec04c /share/examples/lkm/misc/test | |
parent | 38d39efec5efa35e9beb881d7fffd8010337d3dc (diff) | |
download | FreeBSD-src-d81bff9b628b8cc504ce0685fbbcefe6ac41e726.zip FreeBSD-src-d81bff9b628b8cc504ce0685fbbcefe6ac41e726.tar.gz |
Terry Lambert's loadable kernel module support - example modules.
Diffstat (limited to 'share/examples/lkm/misc/test')
-rw-r--r-- | share/examples/lkm/misc/test/Makefile | 66 | ||||
-rw-r--r-- | share/examples/lkm/misc/test/testmisc.c | 62 |
2 files changed, 128 insertions, 0 deletions
diff --git a/share/examples/lkm/misc/test/Makefile b/share/examples/lkm/misc/test/Makefile new file mode 100644 index 0000000..466e4ac --- /dev/null +++ b/share/examples/lkm/misc/test/Makefile @@ -0,0 +1,66 @@ +# 05 Jun 93 +# +# Makefile for testmisc +# +# 05 Jun 93 Terry Lambert Original +# +# Copyright (c) 1993 Terrence R. Lambert. +# 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. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by Terrence R. Lambert. +# 4. The name Terrence R. Lambert may not be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY TERRENCE R. LAMBERT ``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 TERRENCE R. LAMBERT 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. +# + +PROG= testmisc +NOMAN= + +load: + @echo "This test program will call the sample system call;" + @echo "the "offset requested will be shown as 'Off' in the" + @echo "status display below. If no modules are loaded, an" + @echo "error '3' will be reported." + @echo + @echo "The sample system call will display a message on the" + @echo "system console each time it is run." + @echo + @echo + /sbin/modstat -n miscmod + @echo + @./testmisc + +unload: + @echo "This test program will cause an error '3' if the call" + @echo "has been successfully unloaded by building 'unload' in" + @echo "the 'module' subdirectory." + @echo + /sbin/modstat -n miscmod + +.include <bsd.prog.mk> + +# +# EOF -- This file has not been truncated. +# diff --git a/share/examples/lkm/misc/test/testmisc.c b/share/examples/lkm/misc/test/testmisc.c new file mode 100644 index 0000000..622857d --- /dev/null +++ b/share/examples/lkm/misc/test/testmisc.c @@ -0,0 +1,62 @@ +/* 05 Jun 93*/ +/* + * testmisc.c + * + * Test program to call the sample loaded miscellaneous system call. + * + * 05 Jun 93 Terry Lambert Original + * + * + * Copyright (c) 1993 Terrence R. Lambert. + * 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. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Terrence R. Lambert. + * 4. The name Terrence R. Lambert may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY TERRENCE R. LAMBERT ``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 TERRENCE R. LAMBERT 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. + * + */ +#include <stdio.h> + +main() +{ + char buf[ 80]; + int err = 0; + + printf( "Table offset as reported by modstat: "); + if( gets( buf) == NULL) { + printf( "[ABORT]\n"); + exit( 1); + } + + if( err = syscall( atoi( buf) /* no arguments*/)) + perror( "syscall"); + + exit( err); +} + +/* + * EOF -- This file has not been truncated + */ |