@@ -406,70 +406,6 @@ impl<T> Socket<T> {
406406 }
407407}
408408
409- impl < T : core:: marker:: Sync + core:: marker:: Send + core:: fmt:: Debug + ' static > ObjectInterface
410- for Socket < T >
411- {
412- default fn bind ( & self , _name : * const sockaddr , _namelen : socklen_t ) -> i32 {
413- -EINVAL
414- }
415-
416- default fn getsockname ( & self , _name : * mut sockaddr , _namelen : * mut socklen_t ) -> i32 {
417- -EINVAL
418- }
419-
420- default fn getpeername ( & self , _name : * mut sockaddr , _namelen : * mut socklen_t ) -> i32 {
421- -EINVAL
422- }
423-
424- default fn connect ( & self , _name : * const sockaddr , _namelen : socklen_t ) -> i32 {
425- -EINVAL
426- }
427-
428- fn accept ( & self , addr : * mut sockaddr , addrlen : * mut socklen_t ) -> i32 {
429- self . accept ( addr, addrlen)
430- }
431-
432- fn read ( & self , buf : * mut u8 , len : usize ) -> isize {
433- self . read ( buf, len)
434- }
435-
436- fn write ( & self , buf : * const u8 , len : usize ) -> isize {
437- self . write ( buf, len)
438- }
439-
440- fn listen ( & self , backlog : i32 ) -> i32 {
441- self . listen ( backlog)
442- }
443-
444- fn setsockopt (
445- & self ,
446- level : i32 ,
447- optname : i32 ,
448- optval : * const c_void ,
449- optlen : socklen_t ,
450- ) -> i32 {
451- self . setsockopt ( level, optname, optval, optlen)
452- }
453-
454- fn getsockopt (
455- & self ,
456- level : i32 ,
457- optname : i32 ,
458- optval : * mut c_void ,
459- optlen : * mut socklen_t ,
460- ) -> i32 {
461- self . getsockopt ( level, optname, optval, optlen)
462- }
463-
464- fn shutdown ( & self , how : i32 ) -> i32 {
465- self . shutdown ( how)
466- }
467-
468- fn ioctl ( & self , cmd : i32 , argp : * mut c_void ) -> i32 {
469- self . ioctl ( cmd, argp)
470- }
471- }
472-
473409impl < T > Clone for Socket < T > {
474410 fn clone ( & self ) -> Self {
475411 let mut guard = NIC . lock ( ) ;
@@ -589,6 +525,50 @@ impl ObjectInterface for Socket<IPv4> {
589525 -EINVAL
590526 }
591527 }
528+
529+ fn accept ( & self , addr : * mut sockaddr , addrlen : * mut socklen_t ) -> i32 {
530+ self . accept ( addr, addrlen)
531+ }
532+
533+ fn read ( & self , buf : * mut u8 , len : usize ) -> isize {
534+ self . read ( buf, len)
535+ }
536+
537+ fn write ( & self , buf : * const u8 , len : usize ) -> isize {
538+ self . write ( buf, len)
539+ }
540+
541+ fn listen ( & self , backlog : i32 ) -> i32 {
542+ self . listen ( backlog)
543+ }
544+
545+ fn setsockopt (
546+ & self ,
547+ level : i32 ,
548+ optname : i32 ,
549+ optval : * const c_void ,
550+ optlen : socklen_t ,
551+ ) -> i32 {
552+ self . setsockopt ( level, optname, optval, optlen)
553+ }
554+
555+ fn getsockopt (
556+ & self ,
557+ level : i32 ,
558+ optname : i32 ,
559+ optval : * mut c_void ,
560+ optlen : * mut socklen_t ,
561+ ) -> i32 {
562+ self . getsockopt ( level, optname, optval, optlen)
563+ }
564+
565+ fn shutdown ( & self , how : i32 ) -> i32 {
566+ self . shutdown ( how)
567+ }
568+
569+ fn ioctl ( & self , cmd : i32 , argp : * mut c_void ) -> i32 {
570+ self . ioctl ( cmd, argp)
571+ }
592572}
593573
594574impl ObjectInterface for Socket < IPv6 > {
@@ -690,4 +670,48 @@ impl ObjectInterface for Socket<IPv6> {
690670 -EINVAL
691671 }
692672 }
673+
674+ fn accept ( & self , addr : * mut sockaddr , addrlen : * mut socklen_t ) -> i32 {
675+ self . accept ( addr, addrlen)
676+ }
677+
678+ fn read ( & self , buf : * mut u8 , len : usize ) -> isize {
679+ self . read ( buf, len)
680+ }
681+
682+ fn write ( & self , buf : * const u8 , len : usize ) -> isize {
683+ self . write ( buf, len)
684+ }
685+
686+ fn listen ( & self , backlog : i32 ) -> i32 {
687+ self . listen ( backlog)
688+ }
689+
690+ fn setsockopt (
691+ & self ,
692+ level : i32 ,
693+ optname : i32 ,
694+ optval : * const c_void ,
695+ optlen : socklen_t ,
696+ ) -> i32 {
697+ self . setsockopt ( level, optname, optval, optlen)
698+ }
699+
700+ fn getsockopt (
701+ & self ,
702+ level : i32 ,
703+ optname : i32 ,
704+ optval : * mut c_void ,
705+ optlen : * mut socklen_t ,
706+ ) -> i32 {
707+ self . getsockopt ( level, optname, optval, optlen)
708+ }
709+
710+ fn shutdown ( & self , how : i32 ) -> i32 {
711+ self . shutdown ( how)
712+ }
713+
714+ fn ioctl ( & self , cmd : i32 , argp : * mut c_void ) -> i32 {
715+ self . ioctl ( cmd, argp)
716+ }
693717}
0 commit comments