I'm working on Apple's Rendezvous Windows SDK port to Perl on win32 using XS. Currently, DNSRegisterService seems to work, but it has a problem with select() which works in usual C program, but breaks in XS module.
Here's a sample C program rendezvous.c that works. It produces an output like:
got result: 1
Got a reply for Astoria._daap._tcp.local.: Name now registered and active
While simply converted XS module Rendezvous.zip that is broken. It produces:
> perl -Mblib -MRendezvous -w -e "Rendezvous::main()"
got result: -1
select() returned -1 errno 0 No error
the difference is select() that returns -1 on XS version... I'm afraid it's due to something around win32 libraries like winsock. (I've built both of them using cl.exe which comes from Microsoft
If you are familiar with Win32 things and take your time to look into the code, it'll be greatly appreciated.