Posted By: wraggster
News/release from Rex_VF5
OK boys and girls (if any here). As my first project on PSP and an attempt to do some C/C++ coding I decided non-the-less to do UPNP client (I aim for PS3 look-and-feel - i.e. integrated into XMB creating a virtual drive holding all the UPnP servers & available media). The base for this is to be provided by Portable SDK for UPnP Devices (libupnp 1.6.6) With a pthread PSP port it only took few hours to replace some stuff not available on PSP (more time was spent to learn about setting up toolchain, configure scripts, etc). I added conditional compilation everywhere so it should be possible to build for other platforms from the modified sources (haven't tested it though). Here's what to do: 
0) Get pthread-emb, cd platform/psp; make; sudo make install Do not forget to copy pthread.h and sched.h to your `psp-config --psp-prefix`/include directory 
1) Apply the provided diff to the libupnp-1.6.6 source 
2) ./configure.psp.sh --disable-samples --enable-debug 
3) sudo make install 
4) cd upnp/test; make
The last step should produce runnable test_init stuff.prx, EBOOT.PBP and PARAM.SFO which should start and stop basic stuff and show some info about it like this: 
Code: 
UPNP_VERSION_STRING = "1.6.6" 
UPNP_VERSION_MAJOR  = 1 
UPNP_VERSION_MINOR  = 6 
UPNP_VERSION_PATCH  = 6 
UPNP_VERSION        = 10606 
UPNP_HAVE_DEBUG         = yes 
UPNP_HAVE_CLIENT        = yes 
UPNP_HAVE_DEVICE        = yes 
UPNP_HAVE_WEBSERVER     = yes 
UPNP_HAVE_TOOLS         = yes 
Initializing UPnP ... 
UPnP Initialized OK ip=192.168.1.3, port=49152 
I included a netdialog sample into it to connect to AP at the beginning. However it crashes in pthread-emb in thread creation in harmless(?) assignment of result to a variable - see my post in pthread-emb thread Also I found later that pthread-psp-test hangs on Semaphore test #4 (maybe unrelated to the this thing). 
Any help getting this up and running is warmly welcomed. I am really stuck. There is high probability I screwed up something as I am new to PSP development and haven't coded in C/C++ in years (I do Java). I believe many could benefit from having this library working... 
libupnp-1.6.6.PSP.diff.zip