func dupSocket(f *os.File) (int, error) { … } func newFileFD(f *os.File) (*netFD, error) { … } func fileConn(f *os.File) (Conn, error) { … } func fileListener(f *os.File) (Listener, error) { … } func filePacketConn(f *os.File) (PacketConn, error) { … }