#ip #network-protocol #protocols #networking

aipn

Enumeration of all Assigned Internet Protocol Numbers as per IANA

1 unstable release

0.1.0 Aug 6, 2024

#64 in #protocol

MIT license

11KB
158 lines

aipn-rust - All Assigned Internet Protocol Numbers in Rust

Crates.io Docs.rs

Introduction

This crate/repository provides a list of all known Assigned Internet Protocol Numbers as per the IANA Protocol Numbers. It was created because I required a list of all protocol numbers for a project and could not find a rust crate that provided this information. Including this manually just for a single project, seemed like a waste of time. Therefore, to avoid repeating this process, I decided to create this crate.

Usage

To use this crate, add the following to your Cargo.toml:

[dependencies]
aipn = "0.1.0"

Then, you can use the crate as follows:

use aipn::AIPN;

let protocol = AIPN::TCP;
println!("Protocol type: {:?}", protocol);

match protocol {
    AIPN::TCP => {
        // Adjust code execution according to the protocol
    },
    _ => println!("Unknown protocol"),
}

let some_protocol_value=17;
let protocol=AIPN::from_u8(some_protocol_value);
println!("Protocol type: {:?}", protocol);

License

This crate is licensed under the MIT license. See the LICENSE file for more details.

Contribution

If you would like to contribute to this crate, feel free to open a pull request or an issue. I am always open to suggestions and improvements.

Dependencies

~325–800KB
~19K SLoC