Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com List-Unsubscribe: List-Archive: List-Help: , Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com From: Chris Faylor Date: Tue, 3 Aug 1999 16:25:30 -0400 To: Sergey Okhapkin Cc: cygwin-developers AT sourceware DOT cygnus DOT com Subject: Re: AF_UNIX implementation for cygwin Message-ID: <19990803162530.A1636@cygnus.com> References: <002801beddbb$188f4d20$02af6080 AT sokhapki-2 DOT cc DOT bellcore DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.6i In-Reply-To: <002801beddbb$188f4d20$02af6080@sokhapki-2.cc.bellcore.com>; from Sergey Okhapkin on Tue, Aug 03, 1999 at 10:18:44AM -0400 This looks really cool. Now I'm torn as to whether to put this into "B21" or to wait until afterwards. cgf On Tue, Aug 03, 1999 at 10:18:44AM -0400, Sergey Okhapkin wrote: >fhandler.cc (fhandler_disk_file::fstat) check if the file is unix >domain socket. > (fhandler_disk_file::open) call set_socket_p(). > >fhandler.h (FH_LOCAL, FH_FIFO) new fhandler type flags. > (fhandler_base) get/set_socket_p - new member >functions. > (fhandler_socket::addr_family) new member, not used >now. > (fhandler_socket::get/set_addr_family) new functions >to access addr_family. > >include/sys/un.h new file. > >net.cc include > (cygwin_socket) alway create socket of AF_INET >family, store argument's family. > (get_inet_addr) new static function, does nothing >for AF_INET, converts AF_UNIX requests > into corresponding AF_INET requests. > (cygwin_sendto) use get_inet_addr(). > (cygwin_connect) likewise. > (cygwin_accept) check for sockaddr length. > (cygwin_bind) if bind address is of AF_UNIX family, >bind to any available port > of loopback interface, store port number in the >"socket file", set file attribute to S_IFSOCK. > >path.cc (symlink_check_one) if the file begins with >SOCKET_COOKIE, mark the file as PATH_SOCKET. > >path.h (PATH_SOCKET) new enum value. > (path_conv::issocket) new member function. > (SOCKET_COOKIE) new define. > >syscalls.cc (chmod) mark socket files with system file attribute.