right. 48 hours later, i've got a first version of freedce-win32 to
try out, which i'm actually a bit frightened of running.
just in case it works :)
thank goodness for pthreads-win32, otherwise i'd be up small creek.
major things todo: in ipnaf.c (actually ipnaf_linux.c
or even better ipnaf_win32.c) it's necessary to write an
IP-interface-enumeration function.
this function presumably will call GetIpAddrTable and go over all the
addresses including netmasks and broadcast addresses returning
information that the rpc runtime can then "listen" on - one by one.
no, freedce doesn't go listening on 0.0.0.0 it binds to all "towers"
whatever they're called.
because i've commented this code out (stubbed) i am not expecting
freedce-win32 to work straight off.
once this is working, putting it in place of rpcrt4 should be
relatively straightforward (and mostly very very mind numbingly
boring) - a matter of "back-converting" and following the lead
of dceport.h - microsoft's "wrapper" header file that allows
application developers to port DCE/RPC applications to MSRPC.
i say "lead" because it's woefully inadequate, representing about
10% of the functions and structs that actually need "converting",
because dceport.h contains the "publicly accessible" functions.
once _that's_ done, then there will be two remaining tasks:
1) check that pthreads-win32 works under wine (!) and if so, job done,
otherwise it's _yet_ another emulation layer to write, but at least the
source code of pthreads-win32 represents a damn good starting point
2) mash freedce's typelib output to be compatible with MSRPC binaries.
this latter is no small task (but at least it could be considered).
the data structures have been _totally_ mashed, by microsoft.
gotta run.
later.
l.
--
--
<a href="http://lkcl.net">http://lkcl.net</a>
--