Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Feb 1997 00:10:01 -0800
From:      Tsang Shing <henryt2@ix.netcom.com>
To:        freebsd-questions@FreeBSD.ORG
Subject:   BSD216-syscall
Message-ID:  <32FED7D9.1C5B@ix.netcom.com>

next in thread | raw e-mail | index | archive | help
Hi, I have a project that using BSD 2.1.6 to implement a syscall.
I need to add a new mapping from syscall number
to kernel handler function. For instance, I need to map syscall number
151 to a function called foo().  I undestand I need to edit the file,
syscall.master line 151,
change that line from  151 UNIMPL 0 NOHIDE nosys
		  to:
		       151 STD 2 BSD semaphore

Then I need to run makesyscalls.sh. This generatess syscalls.c. But I don't
know how to  run the makesyscalls.sh ?

Then also , I need to define a syscall handler for this in the kern directory.
But I don't know how to do this. Some people told me to look at other syscall
handlers(i.e. vfs_syscalls.c) to get some idea of function declaration, but the
file is too big, I can't figure out what can I get from other files!

Then I need to re-configure and re-make kernel and in the end, after reboot,
I can access my syscall with  syscall(151,arg1,arg2)

If someone knows all those stuff, understand those things, please email me back!
Would you also give me an example that the function foo() need to use the 
args?  Also, is that true that those arguments are only for another 
funtion-- the syscall handler? I just so confused about all these 
things, please give me one simple example, one simple example of this 
implementation. Thanks.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32FED7D9.1C5B>