use clap::Command;
use libc::{c_long, gethostid};
use std::io::{Write, stdout};
use uucore::{error::UResult, format_usage};
use uucore::translate;
#[uucore::main(no_signals)]
pub fn uumain(args: impl uucore::Args) -> UResult<()> {
uucore::clap_localization::handle_clap_result(uu_app(), args)?;
let mut result: c_long = unsafe { gethostid() };
#[allow(overflowing_literals)]
let mask = 0xffff_ffff;
result &= mask;
writeln!(stdout().lock(), "{result:0>8x}")?;
Ok(())
}
pub fn uu_app() -> Command {
Command::new("hostid")
.version(uucore::crate_version!())
.help_template(uucore::localized_help_template("hostid"))
.about(translate!("hostid-about"))
.override_usage(format_usage(&translate!("hostid-usage")))
.infer_long_args(true)
}