Date: Sat, 20 Jul 1996 09:51:27 -0400 From: Gary Chrysler <tcg@ime.net> To: John Hay <jhay@mikom.csir.co.za> Cc: questions@freebsd.org Subject: Re: Scanning for Interfaces! Message-ID: <31F0E45F.283C@ime.net> References: <199607200846.KAA12513@zibbi.mikom.csir.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
John Hay wrote:
>
> > > 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. :-) :-) :-)
>
Aweee.. So you and the chair both fell over huh?? :)
Hey, I'm no professional programer, I'm just a dabbler..
I do and learn or crash and burn!
> > 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??
Was hoping for a suggesting here, Got any??
Linux sockaddr_ipx has it as:
unsigned char sipx_node[IPX_NODE_LEN];
> > 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
>
Something like so:
union ipx_net {
u_char c_net[4];
u_short s_net[2];
u_long l_net;
};
#define sipx_network sipx_addr.x_net.l_net
Looks good, Is it technically good???
What will this do to any of the current IPX code!
No, I don't have the 'Big Picture' of the IPX code yet, I'm still
figuring it out.
It would help tremendously<sp?> If I could put IPXrouted to use
somehow! So I can see it in action.
I'm sure your goals are the same as mine, I don't want to do
anything to the kernel thats not good for FreeBSD in the whole!
Thanks for your time.
-Enjoy
Gary
~~~~~~~~~~~~~~~~
Improve America's Knowledge... Share yours
The Borg... Where minds meet
(207) 929-3848
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31F0E45F.283C>
