From owner-freebsd-questions Sat Jul 20 01:47:01 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA28003 for questions-outgoing; Sat, 20 Jul 1996 01:47:01 -0700 (PDT) Received: from zibbi.mikom.csir.co.za (zibbi.mikom.csir.co.za [146.64.24.58]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id BAA27994 for ; Sat, 20 Jul 1996 01:46:56 -0700 (PDT) Received: (from jhay@localhost) by zibbi.mikom.csir.co.za (8.7.5/8.7.3) id KAA12513; Sat, 20 Jul 1996 10:46:50 +0200 (SAT) From: John Hay Message-Id: <199607200846.KAA12513@zibbi.mikom.csir.co.za> Subject: Re: Scanning for Interfaces! To: tcg@ime.net Date: Sat, 20 Jul 1996 10:46:50 +0200 (SAT) Cc: questions@freebsd.org In-Reply-To: <31F00670.6C5E@ime.net> from Gary Chrysler at "Jul 19, 96 06:04:32 pm" X-Mailer: ELM [version 2.4ME+ PL16 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > Defining sipx_network there will probably not work, because the kernel > > part of ipx will expect it inside sipx_addr. Maybe you can make a #define > > to make getting to it easier, eg. > > #define sipx_network (*(union ipx_net_u *)&sipx_addr.x_net)).long_e > > Note that this may not be correct because I have been looking at a > > -current ipx.h file. > > Yea, I did use a define at first and that caused trouble, But > I didn't do it as you suggest! I'll try it as well as show > what I have in ipx.h, I belive it is the same as current. > (MCI's Wonderfull high speed back bone is up to it's normal speed. > So I couldn't get to a -current ipx.h for comparision before > this reply, I will look later when usage is lower.) > My ipx.h is from the fbsd-ipx.tgz. > It is: (Revelant part, shortened) > > union ipx_host { > u_char c_host[6]; > u_short s_host[3]; > }; > > union ipx_net { > u_char c_net[4]; > u_short s_net[2]; > }; > > union ipx_net_u { > union ipx_net net_e; > u_long long_e; > }; > > struct ipx_addr { > union ipx_net x_net; > union ipx_host x_host; > u_short x_port; > }; > > struct sockaddr_ipx { > u_char sipx_len; > u_char sipx_family; > struct ipx_addr sipx_addr; > char sipx_zero[2]; > u_char sipx_type; /* tcg */ > u_long sipx_network; /* tcg */ > }; > > #define sipx_port sipx_addr.x_port > > #define sipx_special sipx_addr.x_port /* tcg */ > /* #define sipx_network sipx_addr.x_net tcg */ > #define sipx_node sipx_addr.x_host.c_host /* tcg */ > > NOTE: Ok pick yourself up off the floor and quit laughing! Hey, its not that bad. I did not even fall off the chair. :-) :-) :-) > These (whatevers) did move me along.. Maybe not in the right > direction but any direction is better then no direction. > I did get further and learned a bunch! > > sipx_special, Is defined the same in the Linux ipx.h > sipx_node, :) I know it's wrong.. whats right/better?? > sipx_network, ?? John, is your suggestion fitting?? It look like it should work. Maybe we can make life a bit easier by adding something like "u_long l_net" inside the ipx_net union?? Then we can make the #define a bit shorter: #define sipx_network sipx_addr.x_net.l_net John -- John Hay -- John.Hay@mikom.csir.co.za