File tree 6 files changed +37
-1
lines changed
src/unix/linux_like/linux 6 files changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -4324,7 +4324,11 @@ fn test_linux(target: &str) {
4324
4324
// the `ifr_ifrn` field is an anonymous union
4325
4325
( struct_ == "iwreq" && field == "ifr_ifrn" ) ||
4326
4326
// the `key` field is a zero-sized array
4327
- ( struct_ == "iw_encode_ext" && field == "key" )
4327
+ ( struct_ == "iw_encode_ext" && field == "key" ) ||
4328
+ // either fsid_t or int[2] type
4329
+ ( struct_ == "fanotify_event_info_fid" && field == "fsid" )
4330
+ // `handle` is a VLA
4331
+ ( struct_ == "fanotify_event_info_fid" && field == "handle" )
4328
4332
} ) ;
4329
4333
4330
4334
cfg. skip_roundtrip ( move |s| match s {
Original file line number Diff line number Diff line change @@ -617,6 +617,8 @@ dlinfo
617
617
dlmopen
618
618
endutxent
619
619
explicit_bzero
620
+ fanotify_event_info_error
621
+ fanotify_event_info_pidfd
620
622
fgetgrent_r
621
623
fgetspent_r
622
624
futimes
Original file line number Diff line number Diff line change @@ -3509,6 +3509,7 @@ execvpe
3509
3509
faccessat
3510
3510
fallocate
3511
3511
fallocate64
3512
+ fanotify_event_info_fid
3512
3513
fanotify_event_metadata
3513
3514
fanotify_init
3514
3515
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 ;
@@ -589,6 +590,10 @@ s! {
589
590
pub r_info: Elf64_Xword ,
590
591
}
591
592
593
+ pub struct __c_anonymous__kernel_fsid_t {
594
+ pub val: [ :: c_int; 2 ] ,
595
+ }
596
+
592
597
pub struct ucred {
593
598
pub pid: :: pid_t,
594
599
pub uid: :: uid_t,
@@ -656,6 +661,12 @@ s! {
656
661
pub response: __u32,
657
662
}
658
663
664
+ pub struct fanotify_event_info_fid {
665
+ pub hdr: fanotify_event_info_header,
666
+ pub fsid: :: __kernel_fsid_t,
667
+ pub handle: [ :: c_uchar; 0 ] ,
668
+ }
669
+
659
670
pub struct sockaddr_vm {
660
671
pub svm_family: :: sa_family_t,
661
672
pub svm_reserved1: :: c_ushort,
You can’t perform that action at this time.
0 commit comments