used network-order 'size' to write out :-/
do not use free'd struct (or you just get zeros)