Skip to content

Commit b8f48dc

Browse files
committed
try to make cfg work for ptp_perout_request
1 parent c927a1b commit b8f48dc

File tree

2 files changed

+34
-20
lines changed

2 files changed

+34
-20
lines changed

Diff for: libc-test/build.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -4266,7 +4266,11 @@ fn test_linux(target: &str) {
42664266
// `__exit_status` type is a patch which is absent in musl
42674267
(struct_ == "utmpx" && field == "ut_exit" && musl) ||
42684268
// `can_addr` is an anonymous union
4269-
(struct_ == "sockaddr_can" && field == "can_addr")
4269+
(struct_ == "sockaddr_can" && field == "can_addr") ||
4270+
// `anonymous_1` is an anonymous union
4271+
(struct_ == "ptp_perout_request" && field == "anonymous_1") ||
4272+
// `anonymous_2` is an anonymous union
4273+
(struct_ == "ptp_perout_request" && field == "anonymous_2")
42704274
});
42714275

42724276
cfg.volatile_item(|i| {

Diff for: src/unix/linux_like/linux/mod.rs

+29-19
Original file line numberDiff line numberDiff line change
@@ -676,13 +676,6 @@ s! {
676676
pub rsv: [::c_uint; 2],
677677
}
678678

679-
pub struct ptp_perout_request {
680-
pub anonymous_1: __c_anonymous_ptp_perout_request_1,
681-
pub period: ptp_clock_time,
682-
pub index: ::c_uint,
683-
pub flags: ::c_uint,
684-
pub anonymous_2: __c_anonymous_ptp_perout_request_2,
685-
}
686679

687680
pub struct ptp_sys_offset {
688681
pub n_samples: ::c_uint,
@@ -958,18 +951,6 @@ s_no_extra_traits! {
958951
pub sched_period: ::__u64,
959952
}
960953

961-
// linux/ptp_clock.h
962-
#[cfg(libc_union)]
963-
pub union __c_anonymous_ptp_perout_request_1 {
964-
pub start: ptp_clock_time,
965-
pub phase: ptp_clock_time,
966-
}
967-
968-
#[cfg(libc_union)]
969-
pub union __c_anonymous_ptp_perout_request_2 {
970-
pub on: ptp_clock_time,
971-
pub rsv: [::c_uint; 4],
972-
}
973954
}
974955

975956
s_no_extra_traits! {
@@ -997,6 +978,35 @@ cfg_if! {
997978
pub can_ifindex: ::c_int,
998979
pub can_addr: __c_anonymous_sockaddr_can_can_addr,
999980
}
981+
982+
}
983+
}
984+
}
985+
986+
cfg_if! {
987+
if #[cfg(libc_union)] {
988+
s_no_extra_traits! {
989+
// linux/ptp_clock.h
990+
#[allow(missing_debug_implementations)]
991+
pub union __c_anonymous_ptp_perout_request_1 {
992+
pub start: ptp_clock_time,
993+
pub phase: ptp_clock_time,
994+
}
995+
996+
#[allow(missing_debug_implementations)]
997+
pub union __c_anonymous_ptp_perout_request_2 {
998+
pub on: ptp_clock_time,
999+
pub rsv: [::c_uint; 4],
1000+
}
1001+
1002+
#[allow(missing_debug_implementations)]
1003+
pub struct ptp_perout_request {
1004+
pub anonymous_1: __c_anonymous_ptp_perout_request_1,
1005+
pub period: ptp_clock_time,
1006+
pub index: ::c_uint,
1007+
pub flags: ::c_uint,
1008+
pub anonymous_2: __c_anonymous_ptp_perout_request_2,
1009+
}
10001010
}
10011011
}
10021012
}

0 commit comments

Comments
 (0)