Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Jan 2005 22:33:54 +0100
From:      gerarra@tin.it
To:        freebsd-hackers@freebsd.org
Subject:   RE: syscall list
Message-ID:  <41536AD5000F3F8A@ims3a.cp.tin.it>
In-Reply-To: <51849.81.84.175.77.1107201632.squirrel@81.84.175.77>

next in thread | previous in thread | raw e-mail | index | archive | help
>Hi,
>
>I don't remember how to extract the syscall list from the kernel. There
>was an article some time ago about this, and checking the syscall addres=
s
>to make sure it was not changed in the kernel. Could anyone point me to
>this article? I've tried to google around but didn't find it.
>
>Best Regards

In order to mantain ABI compatibility, for every kernel process (sys/proc=
.h:struct
proc *) is provided a struct sysentvec pointer that contains information
about syscall table to be handled. Normally (when FreeBSD interface is to=

be used) it points to sysent array of struct sysent entries. These struct=
ures
rappresent associations between number of params for every syscall and sy=
scall
address (the discussion could be deeper but i guess you need just that),
so you can do a little check at them to get what you want.

bye,
rookie

reference:
sys/sysent.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41536AD5000F3F8A>