From owner-freebsd-hackers Wed Mar 10 14: 9:42 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from herring.nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (Postfix) with ESMTP id 8675014E22 for ; Wed, 10 Mar 1999 14:09:38 -0800 (PST) (envelope-from dfr@nlsystems.com) Received: from localhost (dfr@localhost) by herring.nlsystems.com (8.9.3/8.8.8) with ESMTP id WAA28406; Wed, 10 Mar 1999 22:10:16 GMT (envelope-from dfr@nlsystems.com) Date: Wed, 10 Mar 1999 22:10:16 +0000 (GMT) From: Doug Rabson To: Dan Seguin Cc: freebsd-hackers@freebsd.org Subject: Re: KLD In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, 10 Mar 1999, Dan Seguin wrote: > > Hi all, > > > I've got two questions: > > 1. Is there a way of creating more than one syscall in the same KLD? Is > syscall_register() all one needs to do? If not, what kind of hand waving > is necessary with SYSCALL_MODULE, DECLARE_MODULE, SYSINIT, DATASET? Just have more than one SYSCALL_MODULE statement. > > 2. Is it possible to replace a syscall with a new one but still call the > old one? The old contents of the syscall table are saved in the struct syscall_module_data in the old_sysent field. If you declare a syscall with: SYSCALL_MODULE(foo, off, &my_sysent, 0, 0); then the old sysent is in foo_syscall_mod.old_sysent. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message