Skip to content

sorairolake/sysexits-rs

Repository files navigation

sysexits-rs

CI Version MSRV Docs License

sysexits-rs (sysexits) is a library that provides the system exit code constants as defined by <sysexits.h>.

This library implements the Termination trait, so this can be returned from the main function.

Usage

Add this to your Cargo.toml:

[dependencies]
sysexits = "0.7.13"

Example

use std::str;

use sysexits::ExitCode;

fn main() -> ExitCode {
    let bytes = [0xf0, 0x9f, 0x92, 0x96];
    match str::from_utf8(&bytes) {
        Ok(string) => {
            println!("{string}");
            ExitCode::Ok
        }
        Err(err) => {
            eprintln!("{err}");
            ExitCode::DataErr
        }
    }
}

Crate features

std

Enables features that depend on the standard library. This is enabled by default.

nightly

Enables features that depend on the nightly Rust.

extended_io_error

Enables features that depend on the io_error_more feature. This also enables std. This is implied by nightly.

no_std support

This supports no_std mode. Disables the default feature to enable this.

Documentation

See the documentation for more details.

Minimum supported Rust version

The minimum supported Rust version (MSRV) of this library is v1.61.0.

Changelog

Please see CHANGELOG.adoc.

Contributing

Please see CONTRIBUTING.adoc.

License

Copyright © 2022–2024 Shun Sakai and other contributors (see AUTHORS.adoc)

This library is distributed under the terms of either the Apache License 2.0 or the MIT License.

This project is compliant with version 3.0 of the REUSE Specification. See copyright notices of individual files for more details on copyright and licensing information.