Subject: Re: COMPAT_NDIS doesn't build
To: Juan RP <>
From: Alan Ritter <>
List: current-users
Date: 04/18/2006 11:54:41
On 4/18/06, Juan RP <> wrote:
> On Tue, 18 Apr 2006 10:37:56 -0700
> "Alan Ritter" <> wrote:
> > I think the issue here is that the NDIS compatability layer
> > (sys/compat/ndis) and if_ndis device driver (sys/dev/if_ndis) both
> > need to be present for NDIS to work.  It looks like device_printf is
> > defined in if_ndis, so when that isn't compiled into the kernel the
> > compatibility layer won't compile either.  If I recall device_printf()
> > is a FreeBSD thing, I'm not exactly sure why they have a separate
> > printf for device drivers (perhaps I should replace these with
> > printf()s.
> About the error I get (missing reference to device_printf()), why
> don't we change this to aprint_normal or something like this?

Yes, I should probably do something like that.  I originally left the
device_printf in there because it takes a pointer to a device object
so I can't just "#define device_printf aprint_normal", and I wanted to
keep the code as similar to FreeBSD's as possible to reduce conflicts
when applying patches from FreeBSD.  I suppose it couldn't hurt that
much to just change all of these device_printf's however.

> > I have written some documentation to put in
> > htdocs/Documentation/networking, but haven't committed it yet.  I've
> > attached a copy.  I should probably add a README file somewhere for
> > convenience though.  Basically you need to build the
> > ndis_driver_data.h file using ndiscvt, and uncomment two lines from
> I'd suggest to add the README file with the steps required (please use
> 80 chars per line), and update WWW with the complete documentation.

Yea, a readme would be good.  I'll do that.