docs/153654: [patch] incorrect include in sysctl.9

John Baldwin jhb at freebsd.org
Mon Jan 3 19:35:46 UTC 2011


On Monday, January 03, 2011 12:58:53 pm Joris Dedieu wrote:
> 
> >Number:         153654
> >Category:       docs
> >Synopsis:       [patch] incorrect include in sysctl.9
> >Confidential:   no
> >Severity:       non-critical
> >Priority:       low
> >Responsible:    freebsd-doc
> >State:          open
> >Quarter:        
> >Keywords:       
> >Date-Required:
> >Class:          doc-bug
> >Submitter-Id:   current-users
> >Arrival-Date:   Mon Jan 03 18:00:24 UTC 2011
> >Closed-Date:
> >Last-Modified:
> >Originator:     Joris Dedieu
> >Release:        8.1-RELEASE-p2
> >Organization:
> >Environment:
> FreeBSD ladybug2.rmdir.fr 8.1-RELEASE-p2 FreeBSD 8.1-RELEASE-p2 #0: Mon Dec 27 15:39:23 CET 2010     
joris at ladybug2.rmdir.fr:/usr/obj/usr/src/sys/GENERIC  amd64
> 
> >Description:
> Has DATA_SET is defined in sys/kernel.h most SYSTL_* macros don't work if you don't include it.
> >How-To-Repeat:
> 
> >Fix:
> --- share/man/man9/sysctl.9.orig        2011-01-03 18:43:53.000000000 +0100
> +++ share/man/man9/sysctl.9     2011-01-03 18:44:17.000000000 +0100
> @@ -44,7 +44,7 @@
>  .Nm SYSCTL_QUAD
>  .Nd Static sysctl declaration functions
>  .Sh SYNOPSIS
> -.In sys/types.h
> +.In sys/kernel.h
>  .In sys/sysctl.h
>  .Fn SYSCTL_DECL name
>  .Fn SYSCTL_INT parent nbr name access ptr val descr

<sys/kernel.h> does not include <sys/types.h>.  Plus, all of <sys/kernel.h>
is not needed.  <sys/linker_set.h> is what defines DATA_SET().  This is
probably the "right" set of includes:

#include <sys/types.h>
#include <sys/linker_set.h>
#include <sys/sysctl.h>

OTOH, <sysctl.h> should perhaps have a nested include of <sys/linker_set.h>
in the #ifdef _KERNEL case in which case the manpage would not need changing.

-- 
John Baldwin



More information about the freebsd-doc mailing list