From owner-freebsd-hackers@FreeBSD.ORG Sat Aug 21 20:29:44 2004 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 A297716A4CE; Sat, 21 Aug 2004 20:29:44 +0000 (GMT) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id E949B43D46; Sat, 21 Aug 2004 20:29:43 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.13.1/8.13.1) with ESMTP id i7LKTf38046720; Sat, 21 Aug 2004 22:29:42 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: Alfred Perlstein From: "Poul-Henning Kamp" In-Reply-To: Your message of "Sat, 21 Aug 2004 13:02:05 PDT." <20040821200205.GE26612@elvis.mu.org> Date: Sat, 21 Aug 2004 22:29:41 +0200 Message-ID: <46719.1093120181@critter.freebsd.dk> Sender: phk@critter.freebsd.dk cc: hackers@freebsd.org Subject: Re: sysctl hacks 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: Sat, 21 Aug 2004 20:29:44 -0000 In message <20040821200205.GE26612@elvis.mu.org>, Alfred Perlstein writes: >I'm doing some work that requires that I have a sysctl structure >be passed around, but inside that structure are several pointers I >may need to dereference. > >Basically: > >struct mysysctldata { > .... (data here) > void *moredata; > size_t morelen; >}; > >What is the proper way of sysctl'ing IN the data from moredata? > >I need to make a copy of the sysctl req, but... I'm not sure what >to initialize the 'lock' member to. Just use the SYSCTL_IN() and ..._OUT() functions. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.