rework sockaddr_in to use table initialisers as numeric depend on exact struct