What I would do, if I were in your shoes, is to write my app for lwIP, and then either use PPP for those TCP/IP capable GPRS modules and a layer-2 interface (netif) for the other ones. This way, your app is always the same and you only change code for what is below layer-3. You'll have to write your own netif, though. lwIP is a TCP/IP stack which communicates to "the outside world" via interfaces called "netif". Basically you can run it on top of everything where you can write a netif for. The git HEAD contains working PPP code, stable 1.4.1 is OK for everything else but PPP and IPv6, although the maintainers recommend using git HEAD now because 1.5.0 is just around the corner. Your app will be written for lwIP using one of several APIs available. The 'RAW' API, a poem for bare metal lovers; 'netconn' API, more suitable for RTOS accolites; and 'socket' API for the full-OS minds. Pick your own, and please, read the wiki http://lwip.wikia.com/
-- _______________________________________________ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users