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 address
>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 structures
rappresent associations between number of params for every syscall and syscall
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>