This is a code library implementing a sockets-oriented interface to the WizNet W5200. It's been a long time coming, and the plan is to implement DHCP support soon; almost there, had to rewrite the lib from scratch to allow piecemeal I/O with various socket types first.
For now, the code includes working examples for the MSP430G2553 and MSP430F5529 LaunchPads. It needs a lot of documentation work though so don't fret if you can't get them working :-)
More to come...
Link: https://github.com/spirilis/w5200sock
After DHCP support is working on the older W5200, I am going to adapt this into a W5500 library called w5500sock. As it stands right now though this library should be sufficient for building TCP and UDP clients and servers, managing several simultaneously along with doing repeated DNS lookups (A records only, i.e. dnslib_gethostbyname() is the only implemented client function so far).
Much of the API is designed to allow the MCU to write or read data piecemeal without having to allocate any large buffers of its own to manage the data. See dnslib.c for good examples... there are flags for the various recv, send and flush calls which do "virtual" reads of the data without signalling the readiness to receive new packets, and the wiznet_send() and wiznet_sendto() calls take an argument as to whether the packet should be committed yet. This enables low SRAM usage for e.g. the G2553. I think the API is too fat for the G2452 though, so G2553 at a minimum.