From owner-freebsd-arch Sat Sep 8 5:46:31 2001 Delivered-To: freebsd-arch@freebsd.org Received: from snipe.mail.pas.earthlink.net (snipe.mail.pas.earthlink.net [207.217.120.62]) by hub.freebsd.org (Postfix) with ESMTP id 343FC37B403 for ; Sat, 8 Sep 2001 05:46:28 -0700 (PDT) Received: from mindspring.com (dialup-209.245.142.217.Dial1.SanJose1.Level3.net [209.245.142.217]) by snipe.mail.pas.earthlink.net (8.11.5/8.9.3) with ESMTP id f88CkOW19170; Sat, 8 Sep 2001 05:46:24 -0700 (PDT) Message-ID: <3B9A134D.3B31C443@mindspring.com> Date: Sat, 08 Sep 2001 05:47:09 -0700 From: Terry Lambert Reply-To: tlambert2@mindspring.com X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Bill Fenner Cc: karels@bsdi.com, arch@freebsd.org Subject: Re: Causing to depend on References: <200109072125.OAA25298@windsor.research.att.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Bill Fenner wrote: > > Sorry for making people guess what I was talking about. > > Concretely, http://www.ietf.org/internet-drafts/draft-ietf-idmr-msf-api-02.txt > requires that #including results in definitions like > the following: > > struct group_req { > uint32_t gr_interface; /* interface index */ > struct sockaddr_storage gr_group; /* group address */ > }; > > struct group_source_req { > uint32_t gsr_interface; /* interface index */ > struct sockaddr_storage gsr_group; /* group address */ > struct sockaddr_storage gsr_source; /* source address */ > }; > > struct group_filter { > uint32_t gf_interface; /* interface index */ > struct sockaddr_storage gf_group; /* multicast address */ > uint32_t gf_fmode; /* filter mode */ > uint32_t gf_numsrc; /* number of sources */ > struct sockaddr_storage gf_slist[1]; /* source address */ > }; > > Since they're not pointers, forward struct declarations don't work. So... we didn't need these before, why do we now? Why do they go in in.h? Aren't they generic to all types of sockaddr's, not just sockaddr_in's? I don't see anyone using the things. Unless they are being used as other than a pointer, they don't need to have a real type. Also: this is a DRAFT RFC... if it requires this type of thing, then it should probably be revised so that it _doesn't_ require this type of thing in "draft-ietf-idmr-msf-api-03.txt" or whatever the next version is... the thing expires in 3 months, so it's arguable that it shouldn't be hitting anything other than an experimentor's repository until it gets ratified as experimental, and then makes it to standard's track, anyway. I REALLY object to turning our header files into Linux's header files, where if you include , all other include files in the whole freaking system are dragged into your poor compilation unit. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message