aboutsummaryrefslogtreecommitdiff
path: root/share/examples/kld/syscall/test
diff options
context:
space:
mode:
authorDoug Rabson <dfr@FreeBSD.org>1999-01-09 15:03:06 +0000
committerDoug Rabson <dfr@FreeBSD.org>1999-01-09 15:03:06 +0000
commitbcb321b33e76175e4b71217f62bca7eda9f1d878 (patch)
tree8e0ddd312c39b83284c1cf85b1bc30d31943f193 /share/examples/kld/syscall/test
parenta35261ef9153b9ee0fe42875fc01fd01b3759207 (diff)
Use modstat(2) to get the syscall number.
Notes
Notes: svn path=/head/; revision=42436
Diffstat (limited to 'share/examples/kld/syscall/test')
-rw-r--r--share/examples/kld/syscall/test/call.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/share/examples/kld/syscall/test/call.c b/share/examples/kld/syscall/test/call.c
index da834eac000c..0e4b70e1fa60 100644
--- a/share/examples/kld/syscall/test/call.c
+++ b/share/examples/kld/syscall/test/call.c
@@ -23,11 +23,13 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: call.c,v 1.1 1999/01/09 14:26:22 dfr Exp $
*/
#include <stdio.h>
#include <sys/syscall.h>
+#include <sys/types.h>
+#include <sys/module.h>
static void usage (void);
@@ -43,11 +45,10 @@ main(int argc, char **argv)
{
char *endptr;
int syscall_num;
+ struct module_stat stat;
- if (argc != 2)
- usage ();
- syscall_num = strtol (argv[1], &endptr, 0);
- if (syscall_num == 0 && argv[1] == endptr)
- errx (1, "Bad number `%s'", argv[1]);
+ stat.version = sizeof(stat);
+ modstat(modfind("syscall"), &stat);
+ syscall_num = stat.data.intval;
return syscall (syscall_num);
}