From 8b59cb0b5d45fa3e2462db17602b5a98d4b08340 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 24 Apr 1999 21:00:29 +0000 Subject: Zap lkm examples, they don't do anything anymore. --- share/examples/lkm/Makefile | 41 ------ share/examples/lkm/README | 5 - share/examples/lkm/misc/Makefile | 44 ------ share/examples/lkm/misc/README | 85 ------------ share/examples/lkm/misc/module/Makefile | 46 ------- share/examples/lkm/misc/module/misccall.c | 74 ---------- share/examples/lkm/misc/module/miscmod.c | 184 ------------------------- share/examples/lkm/misc/test/Makefile | 65 --------- share/examples/lkm/misc/test/testmisc.c | 59 -------- share/examples/lkm/syscall/Makefile | 44 ------ share/examples/lkm/syscall/README | 65 --------- share/examples/lkm/syscall/module/Makefile | 45 ------ share/examples/lkm/syscall/module/mycall.c | 74 ---------- share/examples/lkm/syscall/module/newsyscall.c | 110 --------------- share/examples/lkm/syscall/test/Makefile | 64 --------- share/examples/lkm/syscall/test/testsyscall.c | 59 -------- 16 files changed, 1064 deletions(-) delete mode 100644 share/examples/lkm/Makefile delete mode 100644 share/examples/lkm/README delete mode 100644 share/examples/lkm/misc/Makefile delete mode 100644 share/examples/lkm/misc/README delete mode 100644 share/examples/lkm/misc/module/Makefile delete mode 100644 share/examples/lkm/misc/module/misccall.c delete mode 100644 share/examples/lkm/misc/module/miscmod.c delete mode 100644 share/examples/lkm/misc/test/Makefile delete mode 100644 share/examples/lkm/misc/test/testmisc.c delete mode 100644 share/examples/lkm/syscall/Makefile delete mode 100644 share/examples/lkm/syscall/README delete mode 100644 share/examples/lkm/syscall/module/Makefile delete mode 100644 share/examples/lkm/syscall/module/mycall.c delete mode 100644 share/examples/lkm/syscall/module/newsyscall.c delete mode 100644 share/examples/lkm/syscall/test/Makefile delete mode 100644 share/examples/lkm/syscall/test/testsyscall.c diff --git a/share/examples/lkm/Makefile b/share/examples/lkm/Makefile deleted file mode 100644 index 1bf5d10..0000000 --- a/share/examples/lkm/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# 25 May 93 -# -# Makefile for sample programs for loadable kernel modules package (lkm) -# -# 05 Jun 93 Terry Lambert Added vfs, misc -# 25 May 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. -# - -SUBDIR= syscall misc - -.include diff --git a/share/examples/lkm/README b/share/examples/lkm/README deleted file mode 100644 index 024d4de..0000000 --- a/share/examples/lkm/README +++ /dev/null @@ -1,5 +0,0 @@ -NOTE: The LKM mechanism is now deprecated in favor of the superior KLD -mechanism as of FreeBSD 3.0-RELEASE. These examples are provided purely -for historical reasons and you should see the ../kld directory if you're -interested in actually writing a dynamically-loadable extention to the -kernel for any reasonably modern release of FreeBSD. - jkh diff --git a/share/examples/lkm/misc/Makefile b/share/examples/lkm/misc/Makefile deleted file mode 100644 index 462c86c..0000000 --- a/share/examples/lkm/misc/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# 25 May 93 -# -# Makefile for sample loadable system call -# -# 25 May 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. -# - -SUBDIR= module test - -load: _SUBDIRUSE - -unload: _SUBDIRUSE - -.include diff --git a/share/examples/lkm/misc/README b/share/examples/lkm/misc/README deleted file mode 100644 index e3099f1..0000000 --- a/share/examples/lkm/misc/README +++ /dev/null @@ -1,85 +0,0 @@ -# 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. - -1.0 Overview - - This is the README file for the sample miscellaneous module - that mimics the loaded system call. - - A miscellaneous module may be used to load any data or - program into the kernel that can be made available by - modifying a table, pointer, or other kernel data to inform - the kernel that the module should be used instead of the - previous code/data path. - - Generally, it is assumed that a loadable module is one of - a set of similar modules (such as a file system or console - terminal emulation), and that the reference is through a - table (such as vfssw[]), and that a "special" value is - assigned to the slots which are allowed to be replaced. - This is not enforced, so you may use the "miscellaneous" - module any way you see fit. - - As with the loadable system calls, it may be desirable to - allow the module loader to replace an *existing* entry to - try out changes to kernel code without rebuilding and - booting from the new kernel. - - -2.0 Directions - - To test the module, do the following: - - cd module - make load - - A load message (the copyright) will be printed on the console. - - cd ../test - make load - - The system call prints a message on the console when called. - This message will be printed when running "make load" in - the "test" subdirectory. - - -3.0 Recovering resources - - The miscellaneous module consumes 8 pages of memory when - loaded; it can be freed up by unloading it. To unload it, - type the following from the directory this file is in: - - cd module - make unload - - The miscellaneous module will be unloaded by name. - - -4.0 END OF DOCUMENT diff --git a/share/examples/lkm/misc/module/Makefile b/share/examples/lkm/misc/module/Makefile deleted file mode 100644 index a29cc84..0000000 --- a/share/examples/lkm/misc/module/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# 05 Jun 93 -# -# Makefile for miscmod -# -# 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. -# -# $Id$ -# -BINDIR= /tmp -SRCS= misccall.c miscmod.c -KMOD= misc_mod -NOMAN= none - -CLEANFILES+= ${KMOD} - -.include diff --git a/share/examples/lkm/misc/module/misccall.c b/share/examples/lkm/misc/module/misccall.c deleted file mode 100644 index 03856fd..0000000 --- a/share/examples/lkm/misc/module/misccall.c +++ /dev/null @@ -1,74 +0,0 @@ -/* 05 Jun 93*/ -/* - * misccall.c - * - * 05 Jun 93 Terry Lambert Split out of newsyscall.c - * - * 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 -#include - -/* XXX this should be in a header. */ -extern int misccall __P((struct proc *p, void *uap)); - -/* - * This is the actual code for the system call... it can't be static because - * it is exported to another part of the module... the only place it needs - * to be referenced is the sysent we are interested in. - * - * To write your own system call using this as a template, you could strip - * out this code and use the rest as a prototype module, changing only the - * function names and the number of arguments to the call in the module - * specific "sysent". - * - * You would have to use the "-R" option of "ld" to ensure a linkable file - * if you were to do this, since you would need to combine multiple ".o" - * files into a single ".o" file for use by "modload". - */ -int -misccall( p, uap) -struct proc *p; -void *uap; -{ - /* - * Our new system call simply prints a message; it takes no - * arguments. - */ - - printf( "\nI am a loaded system call.\n"); - printf( "I was loaded using the miscellaneous module loader interface.\n"); - printf( "I don't do anything except call the kernel's printf().\n"); - printf( "I will print this message each time I am called!\n"); - - return( 0); /* success (or error code from errno.h)*/ -} diff --git a/share/examples/lkm/misc/module/miscmod.c b/share/examples/lkm/misc/module/miscmod.c deleted file mode 100644 index 27854fc..0000000 --- a/share/examples/lkm/misc/module/miscmod.c +++ /dev/null @@ -1,184 +0,0 @@ -/* 25 May 93*/ -/* - * miscmod.c - * - * 05 Jun 93 Terry Lambert Split mycall.c out - * 25 May 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 -#include -#include -#include -#include -#include - -/* XXX this should be in a header. */ -extern int misccall __P((struct proc *p, void *uap)); - -/* - * These two entries define our system call and module information. We - * have 0 arguments to our system call. - */ -static struct sysent newent = { - 0, misccall /* # of args, function pointer*/ -}; - -/* - * Miscellaneous modules must have their own save areas... - */ -static struct sysent oldent; /* save area for old callslot entry*/ - -/* - * Number of syscall entries for a.out executables - */ -#define nsysent (aout_sysvec.sv_size) - -MOD_MISC( misc); - - -/* - * This function is called each time the module is loaded or unloaded. - * Since we are a miscellaneous module, we have to provide whatever - * code is necessary to patch ourselves into the area we are being - * loaded to change. - * - * For the system call table, we duplicate the code in the kern_lkm.c - * file for patching into the system call table. We can tell what - * has been allocated, etc. by virtue of the fact that we know the - * criteria used by the system call loader interface. We still - * kick out the copyright to the console here (to give an example). - * - * The stat information is basically common to all modules, so there - * is no real issue involved with stat; we will leave it lkm_nullcmd(), - * since we don't have to do anything about it. - */ -static int -misc_load( lkmtp, cmd) -struct lkm_table *lkmtp; -int cmd; -{ - int i; - struct lkm_misc *args = lkmtp->private.lkm_misc; - int err = 0; /* default = success*/ - - switch( cmd) { - case LKM_E_LOAD: - - /* - * Don't load twice! (lkmexists() is exported by kern_lkm.c) - */ - if( lkmexists( lkmtp)) - return( EEXIST); - - /* - * This is where we would express a slot preference if - * we had one; since we don't, we will simply duplicate - * the "auto" code and forget the other. - */ - - /* - * Search the table looking for a slot... - */ - for( i = 0; i < nsysent; i++) - if( sysent[ i].sy_call == (sy_call_t *)lkmnosys) - break; /* found it!*/ - /* out of allocable slots?*/ - if( i == nsysent) { - err = ENFILE; - break; - } - - /* save old -- we must provide our own data area*/ - bcopy( &sysent[ i], &oldent, sizeof( struct sysent)); - - /* replace with new*/ - bcopy( &newent, &sysent[ i], sizeof( struct sysent)); - - /* done!*/ - args->lkm_offset = i; /* slot in sysent[]*/ - - - /* if we make it to here, print copyright on console*/ - printf( "\nSample Loaded miscellaneous module (system call)\n"); - printf( "Copyright (c) 1993\n"); - printf( "Terrence R. Lambert\n"); - printf( "All rights reserved\n"); - - break; /* Success*/ - - case LKM_E_UNLOAD: - /* current slot...*/ - i = args->lkm_offset; - - /* replace current slot contents with old contents*/ - bcopy( &oldent, &sysent[ i], sizeof( struct sysent)); - - break; /* Success*/ - - default: /* we only understand load/unload*/ - err = EINVAL; - break; - } - - return( err); -} - -/* - * External entry point; should generally match name of .o file. The - * arguments are always the same for all loaded modules. The "load", - * "unload", and "stat" functions in "DISPATCH" will be called under - * their respective circumstances unless their value is "lkm_nullcmd". If - * called, they are called with the same arguments (cmd is included to - * allow the use of a single function, ver is included for version - * matching between modules and the kernel loader for the modules). - * - * Since we expect to link in the kernel and add external symbols to - * the kernel symbol name space in a future version, generally all - * functions used in the implementation of a particular module should - * be static unless they are expected to be seen in other modules or - * to resolve unresolved symbols alread existing in the kernel (the - * second case is not likely to ever occur). - * - * The entry point should return 0 unless it is refusing load (in which - * case it should return an errno from errno.h). - */ -int -misc_mod( lkmtp, cmd, ver) -struct lkm_table *lkmtp; -int cmd; -int ver; -{ - MOD_DISPATCH(misc, lkmtp, cmd, ver, - misc_load, misc_load, lkm_nullcmd); -} diff --git a/share/examples/lkm/misc/test/Makefile b/share/examples/lkm/misc/test/Makefile deleted file mode 100644 index cef8824..0000000 --- a/share/examples/lkm/misc/test/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# 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. -# -# $Id$ -# -PROG= testmisc -NOMAN= - -MODSTAT= /usr/bin/modstat - -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 - ${MODSTAT} -n misc_mod - @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 - ${MODSTAT} -n misc_mod - -.include diff --git a/share/examples/lkm/misc/test/testmisc.c b/share/examples/lkm/misc/test/testmisc.c deleted file mode 100644 index b4d6eeb..0000000 --- a/share/examples/lkm/misc/test/testmisc.c +++ /dev/null @@ -1,59 +0,0 @@ -/* 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 - -main() -{ - char buf[ 80]; - int err = 0; - - printf( "Table offset as reported by modstat: "); - fflush( stdout); - if( fgets( buf, sizeof buf, stdin) == NULL) { - printf( "[ABORT]\n"); - exit( 1); - } - - if(( err = syscall( atoi( buf) /* no arguments*/))) - perror( "syscall"); - - exit( err); -} diff --git a/share/examples/lkm/syscall/Makefile b/share/examples/lkm/syscall/Makefile deleted file mode 100644 index 462c86c..0000000 --- a/share/examples/lkm/syscall/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# 25 May 93 -# -# Makefile for sample loadable system call -# -# 25 May 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. -# - -SUBDIR= module test - -load: _SUBDIRUSE - -unload: _SUBDIRUSE - -.include diff --git a/share/examples/lkm/syscall/README b/share/examples/lkm/syscall/README deleted file mode 100644 index b33757e..0000000 --- a/share/examples/lkm/syscall/README +++ /dev/null @@ -1,65 +0,0 @@ -# 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. - -1.0 Overview - - This is the README file for the sample loaded system call. - - -2.0 Directions - - To test the module, do the following: - - cd module - make load - - A load message (the copyright) will be printed on the console. - - cd ../test - make load - - The system call prints a message on the console when called. - This message will be printed when running "make load" in - the "test" subdirectory. - - -3.0 Recovering resources - - The system call consumes 8 pages of memory when loaded; it - can be freed up by unloading it. To unload it, type the - following from the directory this file is in: - - cd module - make unload - - The system call will be unloaded by name. - - -4.0 END OF DOCUMENT diff --git a/share/examples/lkm/syscall/module/Makefile b/share/examples/lkm/syscall/module/Makefile deleted file mode 100644 index db45d8f..0000000 --- a/share/examples/lkm/syscall/module/Makefile +++ /dev/null @@ -1,45 +0,0 @@ -# 05 Jun 93 -# -# Makefile for newsyscall -# -# 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. -# - -BINDIR= /tmp -SRCS= mycall.c newsyscall.c -KMOD= newsyscall_mod -NOMAN= none - -CLEANFILES+= ${KMOD} - -.include diff --git a/share/examples/lkm/syscall/module/mycall.c b/share/examples/lkm/syscall/module/mycall.c deleted file mode 100644 index b95ccaf..0000000 --- a/share/examples/lkm/syscall/module/mycall.c +++ /dev/null @@ -1,74 +0,0 @@ -/* 05 Jun 93*/ -/* - * mycall.c - * - * 05 Jun 93 Terry Lambert Split out of newsyscall.c - * - * 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 -#include - -/* XXX this should be in a header. */ -extern int mycall __P((struct proc *p, void *uap)); - -/* - * This is the actual code for the system call... it can't be static because - * it is exported to another part of the module... the only place it needs - * to be referenced is the sysent we are interested in. - * - * To write your own system call using this as a template, you could strip - * out this code and use the rest as a prototype module, changing only the - * function names and the number of arguments to the call in the module - * specific "sysent". - * - * You would have to use the "-R" option of "ld" to ensure a linkable file - * if you were to do this, since you would need to combine multiple ".o" - * files into a single ".o" file for use by "modload". - */ -int -mycall( p, uap) -struct proc *p; -void *uap; -{ - /* - * Our new system call simply prints a message; it takes no - * arguments. - */ - - printf( "\nI am a loaded system call.\n"); - printf( "I was loaded using the syscall module loader interface.\n"); - printf( "I don't do anything except call the kernel's printf().\n"); - printf( "I will print this message each time I am called!\n"); - - return( 0); /* success (or error code from errno.h)*/ -} diff --git a/share/examples/lkm/syscall/module/newsyscall.c b/share/examples/lkm/syscall/module/newsyscall.c deleted file mode 100644 index 44b6fab..0000000 --- a/share/examples/lkm/syscall/module/newsyscall.c +++ /dev/null @@ -1,110 +0,0 @@ -/* 25 May 93*/ -/* - * newsyscall.c - * - * 05 Jun 93 Terry Lambert Split mycall.c out - * 25 May 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 -#include -#include -#include -#include - -/* XXX this should be in a header. */ -extern int mycall __P((struct proc *p, void *uap)); - -/* XXX these should be generated by MOD_SYSCALL(). */ -static int newsyscall_load __P((struct lkm_table *lkmtp, int cmd)); -extern int newsyscall_mod __P((struct lkm_table *lkmtp, int cmd, int ver)); - -/* - * These two entries define our system call and module information. We - * have 0 arguments to our system call. - */ -static struct sysent newent = { - 0, mycall /* # of args, function pointer*/ -}; - -MOD_SYSCALL(newsyscall_mod, -1, &newent); - -/* - * This function is called each time the module is loaded. Technically, - * we could have made this "lkm_nullcmd" in the "MOD_DISPATCH" in - * "newsyscall()", but it's a convenient place to kick a copyright out - * to the console. - */ -static int -newsyscall_load( lkmtp, cmd) -struct lkm_table *lkmtp; -int cmd; -{ - if( cmd == LKM_E_LOAD) { /* print copyright on console*/ - printf( "\nSample Loaded system call\n"); - printf( "Copyright (c) 1993\n"); - printf( "Terrence R. Lambert\n"); - printf( "All rights reserved\n"); - } - - return( 0); -} - -/* - * External entry point; should generally match name of .o file. The - * arguments are always the same for all loaded modules. The "load", - * "unload", and "stat" functions in "MOD_DISPATCH" will be called under - * their respective circumstances unless their value is "lkm_nullcmd". If - * called, they are called with the same arguments (cmd is included to - * allow the use of a single function, ver is included for version - * matching between modules and the kernel loader for the modules). - * - * Since we expect to link in the kernel and add external symbols to - * the kernel symbol name space in a future version, generally all - * functions used in the implementation of a particular module should - * be static unless they are expected to be seen in other modules or - * to resolve unresolved symbols alread existing in the kernel (the - * second case is not likely to ever occur). - * - * The entry point should return 0 unless it is refusing load (in which - * case it should return an errno from errno.h). - */ -int -newsyscall_mod( lkmtp, cmd, ver) -struct lkm_table *lkmtp; -int cmd; -int ver; -{ - MOD_DISPATCH(newsyscall_mod, lkmtp, cmd, ver, - newsyscall_load, lkm_nullcmd, lkm_nullcmd) -} diff --git a/share/examples/lkm/syscall/test/Makefile b/share/examples/lkm/syscall/test/Makefile deleted file mode 100644 index e14e527..0000000 --- a/share/examples/lkm/syscall/test/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# 25 May 93 -# -# Makefile for testsyscall -# -# 25 May 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= testsyscall -NOMAN= - -MODSTAT= /usr/bin/modstat - -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 - ${MODSTAT} -n newsyscall_mod - @echo - @./testsyscall - -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 - ${MODSTAT} -n newsyscall_mod - -.include diff --git a/share/examples/lkm/syscall/test/testsyscall.c b/share/examples/lkm/syscall/test/testsyscall.c deleted file mode 100644 index da57d3e..0000000 --- a/share/examples/lkm/syscall/test/testsyscall.c +++ /dev/null @@ -1,59 +0,0 @@ -/* 23 May 93*/ -/* - * testsyscall.c - * - * Test program to call the sample loaded system call. - * - * 23 May 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 - -main() -{ - char buf[ 80]; - int err = 0; - - printf( "Table offset as reported by modstat: "); - fflush( stdout); - if( fgets( buf, sizeof buf, stdin) == NULL) { - printf( "[ABORT]\n"); - exit( 1); - } - - if(( err = syscall( atoi( buf) /* no arguments*/))) - perror( "syscall"); - - exit( err); -} -- cgit v1.1