File tree 6 files changed +40
-2
lines changed
src/unix/linux_like/linux 6 files changed +40
-2
lines changed Original file line number Diff line number Diff line change @@ -3615,7 +3615,9 @@ fn test_linux(target: &str) {
3615
3615
return true ;
3616
3616
}
3617
3617
// FIXME: sparc64 CI has old headers
3618
- if sparc64 && ( ty == "uinput_ff_erase" || ty == "uinput_abs_setup" ) {
3618
+ if sparc64
3619
+ && ( ty == "uinput_ff_erase" || ty == "uinput_abs_setup" || "fanotify_event_info_error" )
3620
+ {
3619
3621
return true ;
3620
3622
}
3621
3623
// FIXME(https://github.com/rust-lang/libc/issues/1558): passing by
@@ -4369,7 +4371,11 @@ fn test_linux(target: &str) {
4369
4371
// the `ifr_ifrn` field is an anonymous union
4370
4372
( struct_ == "iwreq" && field == "ifr_ifrn" ) ||
4371
4373
// the `key` field is a zero-sized array
4372
- ( struct_ == "iw_encode_ext" && field == "key" )
4374
+ ( struct_ == "iw_encode_ext" && field == "key" ) ||
4375
+ // either fsid_t or int[2] type
4376
+ ( struct_ == "fanotify_event_info_fid" && field == "fsid" ) ||
4377
+ // `handle` is a VLA
4378
+ ( struct_ == "fanotify_event_info_fid" && field == "handle" )
4373
4379
} ) ;
4374
4380
4375
4381
cfg. skip_roundtrip ( move |s| match s {
Original file line number Diff line number Diff line change @@ -621,6 +621,8 @@ dlinfo
621
621
dlmopen
622
622
endutxent
623
623
explicit_bzero
624
+ fanotify_event_info_error
625
+ fanotify_event_info_pidfd
624
626
fgetgrent_r
625
627
fgetspent_r
626
628
futimes
Original file line number Diff line number Diff line change @@ -3537,6 +3537,7 @@ execvpe
3537
3537
faccessat
3538
3538
fallocate
3539
3539
fallocate64
3540
+ fanotify_event_info_fid
3540
3541
fanotify_event_metadata
3541
3542
fanotify_init
3542
3543
fanotify_mark
Original file line number Diff line number Diff line change @@ -63,6 +63,13 @@ macro_rules! expand_align {
63
63
pub fd: :: c_int,
64
64
pub pid: :: c_int,
65
65
}
66
+
67
+ #[ repr( align( 2 ) ) ]
68
+ pub struct fanotify_event_info_header {
69
+ pub info_type: __u8,
70
+ pub pad: __u8,
71
+ pub len: __u16,
72
+ }
66
73
}
67
74
68
75
s_no_extra_traits! {
Original file line number Diff line number Diff line change @@ -453,6 +453,17 @@ s! {
453
453
pub aio_flags: :: __u32,
454
454
pub aio_resfd: :: __u32,
455
455
}
456
+
457
+ pub struct fanotify_event_info_pidfd {
458
+ pub hdr: :: fanotify_event_info_header,
459
+ pub pidfd: :: __s32,
460
+ }
461
+
462
+ pub struct fanotify_event_info_error {
463
+ pub hdr: :: fanotify_event_info_header,
464
+ pub error: :: __s32,
465
+ pub error_count: :: __u32,
466
+ }
456
467
}
457
468
458
469
impl siginfo_t {
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ pub type loff_t = ::c_longlong;
16
16
pub type pthread_key_t = :: c_uint ;
17
17
pub type pthread_once_t = :: c_int ;
18
18
pub type pthread_spinlock_t = :: c_int ;
19
+ pub type __kernel_fsid_t = __c_anonymous__kernel_fsid_t ;
19
20
20
21
pub type __u8 = :: c_uchar ;
21
22
pub type __u16 = :: c_ushort ;
@@ -590,6 +591,10 @@ s! {
590
591
pub r_info: Elf64_Xword ,
591
592
}
592
593
594
+ pub struct __c_anonymous__kernel_fsid_t {
595
+ pub val: [ :: c_int; 2 ] ,
596
+ }
597
+
593
598
pub struct ucred {
594
599
pub pid: :: pid_t,
595
600
pub uid: :: uid_t,
@@ -657,6 +662,12 @@ s! {
657
662
pub response: __u32,
658
663
}
659
664
665
+ pub struct fanotify_event_info_fid {
666
+ pub hdr: fanotify_event_info_header,
667
+ pub fsid: :: __kernel_fsid_t,
668
+ pub handle: [ :: c_uchar; 0 ] ,
669
+ }
670
+
660
671
pub struct sockaddr_vm {
661
672
pub svm_family: :: sa_family_t,
662
673
pub svm_reserved1: :: c_ushort,
You can’t perform that action at this time.
0 commit comments