From owner-freebsd-hackers Mon Oct 20 11:35:00 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA11647 for hackers-outgoing; Mon, 20 Oct 1997 11:35:00 -0700 (PDT) (envelope-from owner-freebsd-hackers) Received: from smtp04.primenet.com (smtp04.primenet.com [206.165.5.85]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id LAA11632 for ; Mon, 20 Oct 1997 11:34:51 -0700 (PDT) (envelope-from tlambert@usr05.primenet.com) Received: (from daemon@localhost) by smtp04.primenet.com (8.8.7/8.8.7) id LAA16051; Mon, 20 Oct 1997 11:34:43 -0700 (MST) Received: from usr05.primenet.com(206.165.6.205) via SMTP by smtp04.primenet.com, id smtpd016047; Mon Oct 20 11:34:40 1997 Received: (from tlambert@localhost) by usr05.primenet.com (8.8.5/8.8.5) id LAA09783; Mon, 20 Oct 1997 11:34:31 -0700 (MST) From: Terry Lambert Message-Id: <199710201834.LAA09783@usr05.primenet.com> Subject: Re: Freebsd 3.0 current fails ipfilter 3.2b8 build (fwd) To: darrenr@cyber.com.au (Darren Reed) Date: Mon, 20 Oct 1997 18:34:31 +0000 (GMT) Cc: tlambert@primenet.com, julian@whistle.com, hackers@FreeBSD.ORG In-Reply-To: <199710190545.PAA19458@plum.cyber.com.au> from "Darren Reed" at Oct 19, 97 03:45:30 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > If the code isn't portable to Linux, SVR4, and Solaris without > > compile time switches, why write it? > > Well, prior to these changes to FreeBSD, it was portable between > *BSD/SunOS4/Solaris2 without any compile time switches - not sure > about Linux. Why ? Because up until recently, all would give > you "struct ifnet" if you included net/if.h. > > So there you have it. > > This makes it harder to port code to FreeBSD. > > Or, from the other angle, FreeBSD code is less portable. > > Isn't that just wonderful ? *spew* It seems your complaint is that the use of the struct ifnet in the internal structures is not bracketed by: #ifdef __IF_VAR_H__ #endif If you are using structures that contain this opaque data object, then you are doing something wrong. This is not to say that I'm happy with the code (I'm not), but that this type of interface seperation is both (1) necessary, and (2) desirable, from a "pure environment" perspective. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.