Skip to content

Commit

Permalink
freebsdlike: add reboot
Browse files Browse the repository at this point in the history
  • Loading branch information
valpackett committed May 7, 2023
1 parent c461e30 commit d596cdf
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 0 deletions.
2 changes: 2 additions & 0 deletions libc-test/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1277,6 +1277,7 @@ fn test_dragonflybsd(target: &str) {
"sys/mount.h",
"sys/procctl.h",
"sys/ptrace.h",
"sys/reboot.h",
"sys/resource.h",
"sys/rtprio.h",
"sys/sched.h",
Expand Down Expand Up @@ -1993,6 +1994,7 @@ fn test_freebsd(target: &str) {
"sys/ptrace.h",
"sys/queue.h",
"sys/random.h",
"sys/reboot.h",
"sys/resource.h",
"sys/rtprio.h",
"sys/sem.h",
Expand Down
19 changes: 19 additions & 0 deletions libc-test/semver/dragonfly.txt
Original file line number Diff line number Diff line change
Expand Up @@ -802,6 +802,25 @@ Q_SETQUOTA
Q_SYNC
RADIXCHAR
RAND_MAX
RB_ASKNAME
RB_SINGLE
RB_NOSYNC
RB_HALT
RB_INITNAME
RB_DFLTROOT
RB_KDB
RB_RDONLY
RB_DUMP
RB_MINIROOT
RB_VERBOSE
RB_SERIAL
RB_CDROM
RB_POWEROFF
RB_GDB
RB_MUTE
RB_SELFTEST
RB_PAUSE
RB_VIDEO
REG_ASSERT
REG_ATOI
REG_BACKR
Expand Down
22 changes: 22 additions & 0 deletions libc-test/semver/freebsd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1034,6 +1034,28 @@ Q_SETQUOTA
Q_SYNC
RADIXCHAR
RAND_MAX
RB_ASKNAME
RB_SINGLE
RB_NOSYNC
RB_HALT
RB_INITNAME
RB_DFLTROOT
RB_KDB
RB_RDONLY
RB_DUMP
RB_MINIROOT
RB_VERBOSE
RB_SERIAL
RB_CDROM
RB_POWEROFF
RB_GDB
RB_MUTE
RB_SELFTEST
RB_PAUSE
RB_REROOT
RB_POWERCYCLE
RB_PROBE
RB_MULTIPLE
REG_ASSERT
REG_ATOI
REG_BACKR
Expand Down
3 changes: 3 additions & 0 deletions src/unix/bsd/freebsdlike/dragonfly/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1519,6 +1519,9 @@ pub const MAXCOMLEN: usize = 16;
pub const MAXLOGNAME: usize = 33;
pub const NGROUPS: usize = 16;

pub const RB_PAUSE: ::c_int = 0x40000;
pub const RB_VIDEO: ::c_int = 0x20000000;

const_fn! {
{const} fn _CMSG_ALIGN(n: usize) -> usize {
(n + (::mem::size_of::<::c_long>() - 1)) & !(::mem::size_of::<::c_long>() - 1)
Expand Down
6 changes: 6 additions & 0 deletions src/unix/bsd/freebsdlike/freebsd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4683,6 +4683,12 @@ pub const SCTP_STREAM_CHANGE_FAILED: ::c_int = 0x0008;
pub const KENV_DUMP_LOADER: ::c_int = 4;
pub const KENV_DUMP_STATIC: ::c_int = 5;

pub const RB_PAUSE: ::c_int = 0x100000;
pub const RB_REROOT: ::c_int = 0x200000;
pub const RB_POWERCYCLE: ::c_int = 0x400000;
pub const RB_PROBE: ::c_int = 0x10000000;
pub const RB_MULTIPLE: ::c_int = 0x20000000;

cfg_if! {
if #[cfg(libc_const_extern_fn)] {
pub const fn MAP_ALIGNED(a: ::c_int) -> ::c_int {
Expand Down
19 changes: 19 additions & 0 deletions src/unix/bsd/freebsdlike/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1441,6 +1441,24 @@ pub const KENV_DUMP: ::c_int = 3;
pub const KENV_MNAMELEN: ::c_int = 128;
pub const KENV_MVALLEN: ::c_int = 128;

pub const RB_ASKNAME: ::c_int = 0x001;
pub const RB_SINGLE: ::c_int = 0x002;
pub const RB_NOSYNC: ::c_int = 0x004;
pub const RB_HALT: ::c_int = 0x008;
pub const RB_INITNAME: ::c_int = 0x010;
pub const RB_DFLTROOT: ::c_int = 0x020;
pub const RB_KDB: ::c_int = 0x040;
pub const RB_RDONLY: ::c_int = 0x080;
pub const RB_DUMP: ::c_int = 0x100;
pub const RB_MINIROOT: ::c_int = 0x200;
pub const RB_VERBOSE: ::c_int = 0x800;
pub const RB_SERIAL: ::c_int = 0x1000;
pub const RB_CDROM: ::c_int = 0x2000;
pub const RB_POWEROFF: ::c_int = 0x4000;
pub const RB_GDB: ::c_int = 0x8000;
pub const RB_MUTE: ::c_int = 0x10000;
pub const RB_SELFTEST: ::c_int = 0x20000;

safe_f! {
pub {const} fn WIFCONTINUED(status: ::c_int) -> bool {
status == 0x13
Expand Down Expand Up @@ -1751,6 +1769,7 @@ extern "C" {
value: *mut ::c_char,
len: ::c_int,
) -> ::c_int;
pub fn reboot(howto: ::c_int) -> ::c_int;
}

#[link(name = "rt")]
Expand Down

0 comments on commit d596cdf

Please sign in to comment.