Date: Thu, 17 Mar 2016 13:06:15 -0700 From: Gleb Smirnoff <glebius@FreeBSD.org> To: Hans Petter Selasky <hps@selasky.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296933 - in head: share/man/man9 sys/sys Message-ID: <20160317200615.GX1328@FreeBSD.org> In-Reply-To: <56EA5AE8.4050700@selasky.org> References: <201603160837.u2G8bqgr087126@repo.freebsd.org> <20160316203241.GM1328@FreeBSD.org> <56EA5AE8.4050700@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 17, 2016 at 08:21:12AM +0100, Hans Petter Selasky wrote: H> On 03/16/16 21:32, Gleb Smirnoff wrote: H> > On Wed, Mar 16, 2016 at 08:37:52AM +0000, Hans Petter Selasky wrote: H> > H> Author: hselasky H> > H> Date: Wed Mar 16 08:37:52 2016 H> > H> New Revision: 296933 H> > H> URL: https://svnweb.freebsd.org/changeset/base/296933 H> > H> H> > H> Log: H> > H> Improve the implementation and documentation of the H> > H> SYSCTL_COUNTER_U64_ARRAY() macro. H> > H> H> > H> - Add proper asserts to the SYSCTL_COUNTER_U64_ARRAY() macro that checks H> > H> the size of the first element of the array. H> > H> - Add an example to the counter(9) manual page how to use the H> > H> SYSCTL_COUNTER_U64_ARRAY() macro. H> > H> - Add some missing symbolic links for counter(9) while at it. H> > H> > ... H> > H> > H> +.Sh EXAMPLES H> > H> +The following example creates a static counter array exported to H> > H> +userspace through a sysctl: H> > H> +.Bd -literal -offset indent H> > H> +#define MY_SIZE 8 H> > H> +static counter_u64_t array[MY_SIZE]; H> > H> +SYSCTL_COUNTER_U64_ARRAY(_debug, OID_AUTO, counter_array, CTLFLAG_RW, H> > H> + &array[0], MY_SIZE, "Test counter array"); H> > H> > I always wondered what is stylistically better: array or &array[0]? I H> > usually prefer the former. H> > H> H> A question: If you pass "array" why do you need a length argument in the H> SYSCTL macro. Can't you get the length of the array like H> sizeof(array)/sizeof((array)[0]) inside the macro? IMHO, that's a good idea for the static sysctl declaration. I can't imagine a good case when size in array declaration and in the SYSCTL declaration would differ. -- Totus tuus, Glebius.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160317200615.GX1328>