Starting a new thread, since this is about AIX now and not Solaris.
I do not know what my svn credentials would be to check in with? Is it the same as my source forge login?
Anyway I made the changes you outlined below and got a lot further in compilation. However it appears that AIX doesn't have "sockaddr_storage.ss_family", they went and named it "sockaddr_storage.__ss_family". I went ahead and did a quick hack to slp_net.c and slp_xcast.c (see attached files) to correct this. However 'ss_family' is accessed in other places as well (slpd/slpd_database.c, slpd/slpd_socket.c and slpd/slpd_outgoing for example).
I've attached the three files I updated (slp_net.h, slp_net.c and slp_xcast.c from the common directory). I do not have a svn client on my AIX machine either so I couldn't get a diff.
I will continue this work this weekend.Thank you for you help, I would not have gotten as far as I have with out your assistance!
-Jim John Calcote wrote:
Jim (moving this conversation to the openslp-devel list),I have an AIX box to play with, but it doesn't currently have subversion client installed, so I can't check out a work area there, so I'm going to take a stab at fixing it without building.I took at look at /usr/include/netinet/in.h. This is typical of IBM - they could make it easy and do things the way everyone else does, but they have to be different everywhere the standard allows them to be different, which is usually just enough to mess everyone up.The structures are actually functionally identical, and even have the same size - with the singular exception that the union field order is reversed between AIX and everyone else, which causes the initializers to have to be declared differently.All IPv6 addresses are 16 bytes long - at least in the address portion of the sockaddr structure. Generally, everyone defines these structures such that the 16 uint8's are first in the union, which means the initializers would be declared as an array of 16 8-bit quantities.On AIX, the 4 uint32's are first, which means that the initializers have to be declared with 4 32-bit fields. This actually causes IBM problems because they wanted to be able to add an additional field containing 2 uint64 fields, but they couldn't put that first because that would mess up their own initializers for loopback, broadcast, and addr_any, so their own fields can't be declared in ascending or descending order because of the choice they made to reverse the fields from everyone else's definition!
slp.tar.gz
Description: GNU Zip compressed data
------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________ Openslp-devel mailing list Openslp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openslp-devel