File tree 1 file changed +18
-0
lines changed
1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,10 @@ use std::ffi;
9
9
use std:: fmt;
10
10
use std:: marker:: PhantomData ;
11
11
use std:: os:: raw:: c_void;
12
+ #[ cfg( unix) ]
13
+ use std:: os:: unix:: io:: { AsRawFd , RawFd as UnixRawFd } ;
14
+ #[ cfg( windows) ]
15
+ use std:: os:: windows:: io:: { AsRawSocket , RawSocket } ;
12
16
use std:: result;
13
17
use std:: string:: FromUtf8Error ;
14
18
use std:: sync:: Arc ;
@@ -480,6 +484,20 @@ impl Drop for Socket {
480
484
}
481
485
}
482
486
487
+ #[ cfg( unix) ]
488
+ impl AsRawFd for Socket {
489
+ fn as_raw_fd ( & self ) -> UnixRawFd {
490
+ self . get_fd ( ) . unwrap ( ) as UnixRawFd
491
+ }
492
+ }
493
+
494
+ #[ cfg( windows) ]
495
+ impl AsRawSocket for Socket {
496
+ fn as_raw_socket ( & self ) -> RawSocket {
497
+ self . get_fd ( ) . unwrap ( ) as RawSocket
498
+ }
499
+ }
500
+
483
501
macro_rules! sockopt_getter {
484
502
( $( #[ $meta: meta] ) *
485
503
pub $getter: ident => $constant_name: ident as $ty: ty
You can’t perform that action at this time.
0 commit comments