diff options
author | bors <bors@rust-lang.org> | 2021-12-04 01:08:04 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2021-12-04 01:08:04 +0000 |
commit | 1c07f7c321cf3cb61b2135bf7d68d6401c6b4dbd (patch) | |
tree | 0243688fa800a1c40872d7f521f4c3187dec669e | |
parent | 92b468044209a0f0abbec798a207cce74e184564 (diff) | |
parent | bbcd8c84cadeaa2117f728c46c55b1868fe25d64 (diff) | |
download | rust-libc-1c07f7c321cf3cb61b2135bf7d68d6401c6b4dbd.tar.gz |
Auto merge of #2568 - devnexen:dfbsd_ioctl_new_queries, r=Amanieu
dragonflybsd adding few new ioctl queries
-rw-r--r-- | libc-test/build.rs | 1 | ||||
-rw-r--r-- | libc-test/semver/dragonfly.txt | 11 | ||||
-rw-r--r-- | src/unix/bsd/freebsdlike/dragonfly/mod.rs | 29 |
3 files changed, 41 insertions, 0 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs index b7e2a055fe..38ca7d0d76 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -1214,6 +1214,7 @@ fn test_dragonflybsd(target: &str) { "sys/event.h", "sys/file.h", "sys/ioctl.h", + "sys/cpuctl.h", "sys/ipc.h", "sys/kinfo.h", "sys/ktrace.h", diff --git a/libc-test/semver/dragonfly.txt b/libc-test/semver/dragonfly.txt index 1475185979..a52f52d58c 100644 --- a/libc-test/semver/dragonfly.txt +++ b/libc-test/semver/dragonfly.txt @@ -143,6 +143,13 @@ CPU_CLR CPU_ISSET CPU_SET CPU_ZERO +CPUCTL_RSMSR +CPUCTL_WRMSR +CPUCTL_CPUID +CPUCTL_UPDATE +CPUCTL_MSRSBIT +CPUCTL_MSRCBIT +CPUCTL_CPUID_COUNT CRNCYSTR CRTSCTS CRTS_IFLOW @@ -1214,6 +1221,10 @@ clock_getres clock_settime cmsgcred cmsghdr +cpuctl_cpuid_args_t +cpuctl_cpuid_count_args_t +cpuctl_msr_args_t +cpuctl_update_args_t daemon devname_r difftime diff --git a/src/unix/bsd/freebsdlike/dragonfly/mod.rs b/src/unix/bsd/freebsdlike/dragonfly/mod.rs index a997769da4..53d930686d 100644 --- a/src/unix/bsd/freebsdlike/dragonfly/mod.rs +++ b/src/unix/bsd/freebsdlike/dragonfly/mod.rs @@ -242,6 +242,27 @@ s! { pub cp_sample_sp: u64, pub cp_msg: [::c_char; 32], } + + pub struct cpuctl_msr_args_t { + pub msr: ::c_int, + pub data: u64, + } + + pub struct cpuctl_cpuid_args_t { + pub level: ::c_int, + pub data: [u32; 4], + } + + pub struct cpuctl_cpuid_count_args_t { + pub level: ::c_int, + pub level_type: ::c_int, + pub data: [u32; 4], + } + + pub struct cpuctl_update_args_t { + pub data: *mut ::c_void, + pub size: ::size_t, + } } s_no_extra_traits! { @@ -889,6 +910,14 @@ pub const CTL_P1003_1B_SIGQUEUE_MAX: ::c_int = 24; pub const CTL_P1003_1B_TIMER_MAX: ::c_int = 25; pub const CTL_P1003_1B_MAXID: ::c_int = 26; +pub const CPUCTL_RSMSR: ::c_int = 0xc0106301; +pub const CPUCTL_WRMSR: ::c_int = 0xc0106302; +pub const CPUCTL_CPUID: ::c_int = 0xc0106303; +pub const CPUCTL_UPDATE: ::c_int = 0xc0106304; +pub const CPUCTL_MSRSBIT: ::c_int = 0xc0106305; +pub const CPUCTL_MSRCBIT: ::c_int = 0xc0106306; +pub const CPUCTL_CPUID_COUNT: ::c_int = 0xc0106307; + pub const EVFILT_READ: i16 = -1; pub const EVFILT_WRITE: i16 = -2; pub const EVFILT_AIO: i16 = -3; |