rework sockaddr lengths, as may be called with pointer so tp may not be struct