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>
