From owner-freebsd-arch Fri Sep 7 14:25: 8 2001 Delivered-To: freebsd-arch@freebsd.org Received: from mail-green.research.att.com (H-135-207-30-103.research.att.com [135.207.30.103]) by hub.freebsd.org (Postfix) with ESMTP id 5931837B403 for ; Fri, 7 Sep 2001 14:25:05 -0700 (PDT) Received: from alliance.research.att.com (alliance.research.att.com [135.207.26.26]) by mail-green.research.att.com (Postfix) with ESMTP id AB0CE1E0ED; Fri, 7 Sep 2001 17:25:04 -0400 (EDT) Received: from windsor.research.att.com (windsor.research.att.com [135.207.26.46]) by alliance.research.att.com (8.8.7/8.8.7) with ESMTP id RAA10935; Fri, 7 Sep 2001 17:25:03 -0400 (EDT) From: Bill Fenner Received: (from fenner@localhost) by windsor.research.att.com (8.8.8+Sun/8.8.5) id OAA25298; Fri, 7 Sep 2001 14:25:03 -0700 (PDT) Message-Id: <200109072125.OAA25298@windsor.research.att.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII To: karels@bsdi.com Subject: Re: Causing to depend on Cc: arch@freebsd.org Date: Fri, 7 Sep 2001 14:25:02 -0700 Versions: dmail (solaris) 2.2j/makemail 2.9b 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 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. Since "struct sockaddr_storage" is defined in , the easy thing to do is to pull in . Mike, I guess the point of your would be to include only the common elements and so a) limit the namespace pollution when not #including b) limit the size of the header that's re-parsed (smaller sys/sockettypes.h instead of larger sys/socket.h when a source file includes netinet/in.h followed by sys/socket.h) ? Thanks, Bill To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message