Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jul 2001 08:30:23 -0700
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        Marco Molteni <molter@tin.it>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: how to share include files between kernel and userland?
Message-ID:  <20010727083023.A21548@Odin.AC.HMC.Edu>
In-Reply-To: <20010727105549.A4331@cobweb.example.org>; from molter@tin.it on Fri, Jul 27, 2001 at 10:55:49AM %2B0200
References:  <20010727105549.A4331@cobweb.example.org>

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

[-- Attachment #1 --]
On Fri, Jul 27, 2001 at 10:55:49AM +0200, Marco Molteni wrote:
> I am writing a program to parse frames dumped to bpf by an, the
> aironet driver.
> 
> I am using the latest patches by Doug Ambrisko, that allow the driver
> to dump not only the 802.11 frame but also the special Aironet header
> that the device prepends to the 802.11 frame, ie:
> 
> aironet header | 802.11 frame
> 
> Now, to my question with include files. The struct that describes the
> aironet header, an_rxframe, is in an/if_anreg.h, so I included
> if_anreg.h in my program. Among other things, if_anreg.h needs the
> definition of struct arpcom, which is in net/if_arp.h. Good, I
> included also net/if_arp.h, but the compiler still complained. It
> turns out that the definition of struct arpcom is guarded by
> #ifdef _KERNEL.
> 
> So, what should I do? Define _KERNEL in my program, or copy the
> definition of struct an_rxframe directly in my C file? I hoped to find
> a third, more elegant solution.

First, apply the patches in PR 29210 if you haven't already (now that
I think of it, they are probably in Doug's mega patch.)  This removes
all duplicate structures.  Next, move an_rxframe to if_aironet_ieee.h
so it's in the userland include file.  The kernel now uses both of them
so that should be the best answer.

-- Brooks

-- 
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

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE7YYkNXY6L6fI4GtQRArEMAJ4xoJq6tQcCi9d+x0aVBojhukAlBQCghTQq
omC1WoxJ9LhNMH+v5Es1nuU=
=dou0
-----END PGP SIGNATURE-----
help

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