From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 31 21:33:58 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5FE1E16A4E0 for ; Mon, 31 Jan 2005 21:33:58 +0000 (GMT) Received: from vsmtp12.tin.it (vsmtp12.tin.it [212.216.176.206]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF1C343D53 for ; Mon, 31 Jan 2005 21:33:57 +0000 (GMT) (envelope-from gerarra@tin.it) Received: from ims3a.cp.tin.it (192.168.70.103) by vsmtp12.tin.it (7.0.027) id 41F508DE0044AA75 for freebsd-hackers@freebsd.org; Mon, 31 Jan 2005 22:33:55 +0100 Received: from [192.168.70.183] by ims3a.cp.tin.it with HTTP; Mon, 31 Jan 2005 22:33:54 +0100 Date: Mon, 31 Jan 2005 22:33:54 +0100 Message-ID: <41536AD5000F3F8A@ims3a.cp.tin.it> In-Reply-To: <51849.81.84.175.77.1107201632.squirrel@81.84.175.77> From: gerarra@tin.it To: freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: quoted-printable X-Originating-IP: 213.140.6.102 Subject: RE: syscall list X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jan 2005 21:33:58 -0000 >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