Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jul 2004 09:08:53 -0700
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        Maxime Henrion <mux@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/sys _task.h
Message-ID:  <20040728160852.GA21481@Odin.AC.HMC.Edu>
In-Reply-To: <20040728091920.GU82302@elvis.mu.org>
References:  <200407280912.i6S9CsfA088910@repoman.freebsd.org> <20040728091920.GU82302@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--GvXjxJ+pjyke8COw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jul 28, 2004 at 11:19:20AM +0200, Maxime Henrion wrote:
> Maxime Henrion wrote:
> > mux         2004-07-28 09:12:54 UTC
> >=20
> >   FreeBSD src repository
> >=20
> >   Modified files:
> >     sys/sys              _task.h=20
> >   Log:
> >   Remove (at least temporarily) the check that prevents us from includi=
ng
> >   this file from userland.  Since we export struct ifnet to userland, a=
nd
> >   that struct ifnet now contains a struct task, userland needs to know
> >   what struct task looks like.
> >  =20
> >   We need to consider having a pointer to a struct task here instead and
> >   forward declare struct task in the !_KERNEL case.
>=20
> Or have a struct ifnet for kernel and a struct xifnet for userland, as we
> do in other places.

No, that won't work.  There is no valid reason for userland applications
to use struct ifnet.  They only use it because the authors were lazy
and access things like interface stats via kvm access to ifnet instead
of via the generally adaquate sysctls.  I'm seriously tempted to wrap
if_var.h in something like, at least once we get our useland clean:

#if defined(_KERNEL) || defined(IF_VAR_H_IS_NOT_A_VALID_USERLAND_INTERFACE)

-- Brooks

--=20
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

--GvXjxJ+pjyke8COw
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFBB8+TXY6L6fI4GtQRAnZPAJ97onz3ZhINTFUc4wYiz30nUlTX+ACgwwmn
ZTnA5PlqihqPA1HxIY/fnB4=
=tWN6
-----END PGP SIGNATURE-----

--GvXjxJ+pjyke8COw--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040728160852.GA21481>