@@ -406,70 +406,6 @@ impl<T> Socket<T> {
406
406
}
407
407
}
408
408
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
-
473
409
impl < T > Clone for Socket < T > {
474
410
fn clone ( & self ) -> Self {
475
411
let mut guard = NIC . lock ( ) ;
@@ -589,6 +525,50 @@ impl ObjectInterface for Socket<IPv4> {
589
525
-EINVAL
590
526
}
591
527
}
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
+ }
592
572
}
593
573
594
574
impl ObjectInterface for Socket < IPv6 > {
@@ -690,4 +670,48 @@ impl ObjectInterface for Socket<IPv6> {
690
670
-EINVAL
691
671
}
692
672
}
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
+ }
693
717
}
0 commit comments