Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Jul 1996 10:46:50 +0200 (SAT)
From:      John Hay <jhay@mikom.csir.co.za>
To:        tcg@ime.net
Cc:        questions@freebsd.org
Subject:   Re: Scanning for Interfaces!
Message-ID:  <199607200846.KAA12513@zibbi.mikom.csir.co.za>
In-Reply-To: <31F00670.6C5E@ime.net> from Gary Chrysler at "Jul 19, 96 06:04:32 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> > 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<sp?> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607200846.KAA12513>