Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Ticket #1228: net.patch

File net.patch, 3.5 kB (added by Ralith, 12 years ago)

Updated version

  • tango/net/c/OpenSSL.d

    old new  
    854854    { 
    855855        char[][] loadPath = [ "/usr/lib/libssl.dylib", "libssl.dylib" ]; 
    856856    } 
     857    version (freebsd) 
     858    { 
     859        char[][] loadPath = [ "libssl.so.5", "libssl.so" ]; 
     860    } 
    857861    if ((ssllib = loadLib(loadPath)) !is null) 
    858862    { 
    859863 
  • tango/net/Socket.d

    old new  
    507507                UDP =     17, // appears to be correct 
    508508        } 
    509509} 
     510// TODO: Doublecheck values 
     511else version (freebsd) 
     512{ 
     513        enum SocketOption: int 
     514        { 
     515                SO_DEBUG        = 0x0001,       /* turn on debugging info recording */ 
     516                SO_BROADCAST    = 0x0020,       /* permit sending of broadcast msgs */ 
     517                SO_REUSEADDR    = 0x0004,       /* allow local address reuse */ 
     518                SO_LINGER       = 0x0080,       /* linger on close if data present */ 
     519                SO_DONTLINGER   = ~(SO_LINGER), 
     520                SO_OOBINLINE    = 0x0100,       /* leave received OOB data in line */ 
     521                SO_ACCEPTCONN   = 0x0002,       /* socket has had listen() */ 
     522                SO_KEEPALIVE    = 0x0008,       /* keep connections alive */ 
     523                SO_DONTROUTE    = 0x0010,       /* just use interface addresses */ 
     524                SO_TYPE         = 0x1008,               /* get socket type */ 
     525 
     526                /* 
     527                 * Additional options, not kept in so_options. 
     528                 */ 
     529                SO_SNDBUF       = 0x1001,       /* send buffer size */ 
     530                SO_RCVBUF       = 0x1002,       /* receive buffer size */ 
     531                SO_ERROR        = 0x1007,       /* get error status and clear */ 
     532 
     533                // OptionLevel.IP settings 
     534                IP_MULTICAST_TTL = 10, 
     535                IP_MULTICAST_LOOP = 11, 
     536                IP_ADD_MEMBERSHIP = 12, 
     537                IP_DROP_MEMBERSHIP = 13, 
     538 
     539                // OptionLevel.TCP settings 
     540                TCP_NODELAY = 0x0001, 
     541        } 
     542 
     543        /*************************************************************** 
     544 
     545 
     546        ***************************************************************/ 
     547 
     548        union linger 
     549        { 
     550                struct { 
     551                       int l_onoff;             // option on/off 
     552                       int l_linger;            // linger time 
     553                       }; 
     554                int[2]          array;          // combined 
     555        } 
     556 
     557        enum SocketOptionLevel 
     558        { 
     559                SOCKET =  0xffff, 
     560                IP =      0,  // appears to be correct 
     561                TCP =     6,  // appears to be correct 
     562                UDP =     17, // appears to be correct 
     563        } 
     564} 
    510565else version (linux) 
    511566{ 
    512567        /*************************************************************** 
     
    663718                        //INET6 =      10, 
    664719                } 
    665720        } 
     721        else version (freebsd) 
     722        { 
     723                enum AddressFamily: int 
     724                { 
     725                        UNSPEC =     0, 
     726                        UNIX =       1, 
     727                        INET =       2, 
     728                        IPX =        23, 
     729                        APPLETALK =  16, 
     730                        //INET6 =      28, 
     731                } 
     732        }     
    666733        else version (linux) 
    667734        { 
    668735                enum AddressFamily: int