io6Library
WIZnet Dual Stack TCP/IP Ethernet Controller Driver
Todo List
Global _PHY_IO_MODE_
You should select one of _PHY_IO_MODE_PHYCR_ or _PHY_IO_MODE_MII_.
Global _WIZCHIP_
You should select one, W6100, etc.

ex> #define _WIZCHIP_ W6100
Global _WIZCHIP_SOCK_NUM_
If you want to use _WIZCHIP_IO_MODE_BUS_ such as _WIZCHIP_IO_MODE_BUS_DIR_ and _WIZCHIP_IO_MODE_BUS_INDIR_,
You should redefine _WIZCHIP_IO_BASE_ to a free address space of your system.
ex> #define _WIZCHIP_IO_BASE_ 0x00008000

Otherwise, No need to redefine it.
Global reg_wizchip_bus_cbfunc (iodata_t(*bus_rd)(uint32_t addr), void(*bus_wd)(uint32_t addr, iodata_t wb), void(*bus_rbuf)(uint32_t addr, iodata_t *buf, datasize_t len, uint8_t inc), void(*bus_wbuf)(uint32_t addr, iodata_t *buf, datasize_t len, uint8_t inc))
Register your functions for data read & write through BUS interface.
Global reg_wizchip_cris_cbfunc (void(*cris_en)(void), void(*cris_ex)(void))
Register your functions for critical session.
Global reg_wizchip_cs_cbfunc (void(*cs_sel)(void), void(*cs_desel)(void))
Register your functions to select or deselect _WIZCHIP_.
Global reg_wizchip_spi_cbfunc (uint8_t(*spi_rb)(void), void(*spi_wb)(uint8_t wb), void(*spi_rbuf)(uint8_t *buf, datasize_t len), void(*spi_wbuf)(uint8_t *buf, datasize_t len))
Should register your functions for data read/write through SPI interface.
Global wizchip_spi_read (void)
It should be overwritten with your function or register your functions by calling reg_wizchip_spi_cbfunc().
Global wizchip_spi_write (uint8_t wb)
It should be overwritten with your function or register your functions by calling reg_wizchip_spi_cbfunc().