@@ -37,6 +37,8 @@ pub type rusage_info_t = *mut ::c_void;
37
37
pub type vm_offset_t = :: uintptr_t ;
38
38
pub type vm_size_t = :: uintptr_t ;
39
39
pub type vm_address_t = vm_offset_t ;
40
+ pub type quad_t = i64 ;
41
+ pub type u_quad_t = u64 ;
40
42
41
43
pub type posix_spawnattr_t = * mut :: c_void ;
42
44
pub type posix_spawn_file_actions_t = * mut :: c_void ;
@@ -1184,6 +1186,7 @@ s! {
1184
1186
pub tcpi_rxretransmitpackets: u64 ,
1185
1187
}
1186
1188
1189
+ <<<<<<< HEAD
1187
1190
// mach/host_info.h
1188
1191
pub struct host_cpu_load_info {
1189
1192
pub cpu_ticks: [ :: natural_t; CPU_STATE_MAX as usize ] ,
@@ -1232,6 +1235,78 @@ s! {
1232
1235
pub iffmid_len: u32 ,
1233
1236
pub iffmid_id: u32 ,
1234
1237
pub iffmid_str: [ :: c_char; 1 ] ,
1238
+ ||||||| parent of 01955 aef9 ( adding in6_ifreq to apple. )
1239
+ =======
1240
+ pub struct in6_addrlifetime {
1241
+ pub ia6t_expire: time_t,
1242
+ pub ia6t_preferred: time_t,
1243
+ pub ia6t_vltime: u32 ,
1244
+ pub ia6t_pltime: u32 ,
1245
+ }
1246
+
1247
+ pub struct in6_ifstat {
1248
+ pub ifs6_in_receive: :: u_quad_t,
1249
+ pub ifs6_in_hdrerr: :: u_quad_t,
1250
+ pub ifs6_in_toobig: :: u_quad_t,
1251
+ pub ifs6_in_noroute: :: u_quad_t,
1252
+ pub ifs6_in_addrerr: :: u_quad_t,
1253
+ pub ifs6_in_protounknown: :: u_quad_t,
1254
+ pub ifs6_in_truncated: :: u_quad_t,
1255
+ pub ifs6_in_discard: :: u_quad_t,
1256
+ pub ifs6_in_deliver: :: u_quad_t,
1257
+ pub ifs6_out_forward: :: u_quad_t,
1258
+ pub ifs6_out_request: :: u_quad_t,
1259
+ pub ifs6_out_discard: :: u_quad_t,
1260
+ pub ifs6_out_fragok: :: u_quad_t,
1261
+ pub ifs6_out_fragfail: :: u_quad_t,
1262
+ pub ifs6_out_fragcreat: :: u_quad_t,
1263
+ pub ifs6_reass_reqd: :: u_quad_t,
1264
+ pub ifs6_reass_ok: :: u_quad_t,
1265
+ pub ifs6_atmfrag_rcvd: :: u_quad_t,
1266
+ pub ifs6_reass_fail: :: u_quad_t,
1267
+ pub ifs6_in_mcast: :: u_quad_t,
1268
+ pub ifs6_out_mcast: :: u_quad_t,
1269
+ pub ifs6_cantfoward_icmp6: :: u_quad_t,
1270
+ pub ifs6_addr_expiry_cnt: :: u_quad_t,
1271
+ pub ifs6_pfx_expiry_cnt: :: u_quad_t,
1272
+ pub ifs6_defrtr_expiry_cnt: :: u_quad_t,
1273
+ }
1274
+ pub struct icmp6_ifstat {
1275
+ pub ifs6_in_msg: :: u_quad_t,
1276
+ pub ifs6_in_error: :: u_quad_t,
1277
+ pub ifs6_in_dstunreach: :: u_quad_t,
1278
+ pub ifs6_in_adminprohib: :: u_quad_t,
1279
+ pub ifs6_in_timeexceed: :: u_quad_t,
1280
+ pub ifs6_in_paramprob: :: u_quad_t,
1281
+ pub ifs6_in_pkttoobig: :: u_quad_t,
1282
+ pub ifs6_in_echo: :: u_quad_t,
1283
+ pub ifs6_in_echoreply: :: u_quad_t,
1284
+ pub ifs6_in_routersolicit: :: u_quad_t,
1285
+ pub ifs6_in_routeradvert: :: u_quad_t,
1286
+ pub ifs6_in_neighborsolicit: :: u_quad_t,
1287
+ pub ifs6_in_neighboradvert: :: u_quad_t,
1288
+ pub ifs6_in_redirect: :: u_quad_t,
1289
+ pub ifs6_in_mldquery: :: u_quad_t,
1290
+ pub ifs6_in_mldreport: :: u_quad_t,
1291
+ pub ifs6_in_mlddone: :: u_quad_t,
1292
+ pub ifs6_out_msg: :: u_quad_t,
1293
+ pub ifs6_out_error: :: u_quad_t,
1294
+ pub ifs6_out_dstunreach: :: u_quad_t,
1295
+ pub ifs6_out_adminprohib: :: u_quad_t,
1296
+ pub ifs6_out_timeexceed: :: u_quad_t,
1297
+ pub ifs6_out_paramprob: :: u_quad_t,
1298
+ pub ifs6_out_pkttoobig: :: u_quad_t,
1299
+ pub ifs6_out_echo: :: u_quad_t,
1300
+ pub ifs6_out_echoreply: :: u_quad_t,
1301
+ pub ifs6_out_routersolicit: :: u_quad_t,
1302
+ pub ifs6_out_routeradvert: :: u_quad_t,
1303
+ pub ifs6_out_neighborsolicit: :: u_quad_t,
1304
+ pub ifs6_out_neighboradvert: :: u_quad_t,
1305
+ pub ifs6_out_redirect: :: u_quad_t,
1306
+ pub ifs6_out_mldquery: :: u_quad_t,
1307
+ pub ifs6_out_mldreport: :: u_quad_t,
1308
+ pub ifs6_out_mlddone: :: u_quad_t,
1309
+ >>>>>>> 01955 aef9 ( adding in6_ifreq to apple. )
1235
1310
}
1236
1311
}
1237
1312
@@ -1576,6 +1651,25 @@ s_no_extra_traits! {
1576
1651
pub ifcu_buf: * mut :: c_char,
1577
1652
pub ifcu_req: * mut ifreq,
1578
1653
}
1654
+
1655
+ pub union __c_anonymous_ifr_ifru6 {
1656
+ pub ifru_addr: :: sockaddr_in6,
1657
+ pub ifru_dstaddr: :: sockaddr_in6,
1658
+ pub ifru_flags: :: c_int,
1659
+ pub ifru_flags6: :: c_int,
1660
+ pub ifru_metrics: :: c_int,
1661
+ pub ifru_intval: :: c_int,
1662
+ pub ifru_data: * mut :: c_char,
1663
+ pub ifru_lifetime: in6_addrlifetime,
1664
+ pub ifru_stat: in6_ifstat,
1665
+ pub ifru_icmp6stat: icmp6_ifstat,
1666
+ pub ifru_scope_id: [ u32 ; SCOPE6_ID_MAX ] ,
1667
+ }
1668
+
1669
+ pub struct in6_ifreq {
1670
+ pub ifr_name: [ :: c_char; :: IFNAMSIZ ] ,
1671
+ pub ifr_ifru: __c_anonymous_ifr_ifru6,
1672
+ }
1579
1673
}
1580
1674
1581
1675
impl siginfo_t {
@@ -3151,6 +3245,74 @@ cfg_if! {
3151
3245
unsafe { self . ifcu_req. hash( state) } ;
3152
3246
}
3153
3247
}
3248
+
3249
+ impl PartialEq for __c_anonymous_ifr_ifru6 {
3250
+ fn eq( & self , other: & __c_anonymous_ifr_ifru6) -> bool {
3251
+ unsafe {
3252
+ self . ifru_addr == other. ifru_addr
3253
+ && self . ifru_dstaddr == other. ifru_dstaddr
3254
+ && self . ifru_flags == other. ifru_flags
3255
+ && self . ifru_flags6 == other. ifru_flags6
3256
+ && self . ifru_metrics == other. ifru_metrics
3257
+ && self . ifru_intval == other. ifru_intval
3258
+ && self . ifru_data == other. ifru_data
3259
+ && self . ifru_scope_id
3260
+ . iter( )
3261
+ . zip( other. ifru_scope_id. iter( ) )
3262
+ . all( |( a, b) | a == b)
3263
+ }
3264
+ }
3265
+ }
3266
+
3267
+ impl Eq for __c_anonymous_ifr_ifru6 { }
3268
+
3269
+ impl :: fmt:: Debug for __c_anonymous_ifr_ifru6 {
3270
+ fn fmt( & self , f: & mut :: fmt:: Formatter ) -> :: fmt:: Result {
3271
+ f. debug_struct( "__c_anonymous_ifr_ifru6" )
3272
+ . field( "ifru_addr" , unsafe { & self . ifru_addr } )
3273
+ . field( "ifru_dstaddr" , unsafe { & self . ifru_dstaddr } )
3274
+ . field( "ifru_flags" , unsafe { & self . ifru_flags } )
3275
+ . field( "ifru_flags6" , unsafe { & self . ifru_flags6 } )
3276
+ . field( "ifru_metrics" , unsafe { & self . ifru_metrics } )
3277
+ . field( "ifru_intval" , unsafe { & self . ifru_intval } )
3278
+ . field( "ifru_data" , unsafe { & self . ifru_data } )
3279
+ . field( "ifru_scope_id" , unsafe { & self . ifru_scope_id } )
3280
+ . finish( )
3281
+ }
3282
+ }
3283
+
3284
+ impl :: hash:: Hash for __c_anonymous_ifr_ifru6 {
3285
+ fn hash<H : :: hash:: Hasher >( & self , state: & mut H ) {
3286
+ unsafe {
3287
+ self . ifru_addr. hash( state) ;
3288
+ self . ifru_dstaddr. hash( state) ;
3289
+ self . ifru_flags. hash( state) ;
3290
+ self . ifru_flags6. hash( state) ;
3291
+ self . ifru_metrics. hash( state) ;
3292
+ self . ifru_intval. hash( state) ;
3293
+ self . ifru_data. hash( state) ;
3294
+ self . ifru_scope_id. hash( state) ;
3295
+ }
3296
+ }
3297
+ }
3298
+
3299
+ impl PartialEq for in6_ifreq {
3300
+ fn eq( & self , other: & in6_ifreq) -> bool {
3301
+ self . ifr_name == other. ifr_name
3302
+ && self . ifr_ifru == other. ifr_ifru
3303
+ }
3304
+ }
3305
+
3306
+ impl Eq for in6_ifreq { }
3307
+
3308
+ impl :: fmt:: Debug for in6_ifreq {
3309
+ fn fmt( & self , f: & mut :: fmt:: Formatter ) -> :: fmt:: Result {
3310
+ f. debug_struct( "in6_ifreq" )
3311
+ . field( "ifr_name" , & self . ifr_name)
3312
+ . field( "ifr_ifru" , & self . ifr_ifru)
3313
+ . finish( )
3314
+ }
3315
+ }
3154
3316
}
3155
3317
}
3156
3318
@@ -4340,6 +4502,8 @@ pub const IFF_LINK2: ::c_int = 0x4000; // per link layer defined bit
4340
4502
pub const IFF_ALTPHYS : :: c_int = IFF_LINK2 ; // use alternate physical connection
4341
4503
pub const IFF_MULTICAST : :: c_int = 0x8000 ; // supports multicast
4342
4504
4505
+ pub const SCOPE6_ID_MAX : :: size_t = 16 ;
4506
+
4343
4507
pub const SHUT_RD : :: c_int = 0 ;
4344
4508
pub const SHUT_WR : :: c_int = 1 ;
4345
4509
pub const SHUT_RDWR : :: c_int = 2 ;
0 commit comments