ssh_encoding/
lib.rs

1#![no_std]
2#![cfg_attr(docsrs, feature(doc_auto_cfg))]
3#![doc = include_str!("../README.md")]
4#![doc(
5    html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg",
6    html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg"
7)]
8#![forbid(unsafe_code)]
9#![warn(
10    clippy::arithmetic_side_effects,
11    clippy::panic,
12    clippy::panic_in_result_fn,
13    clippy::unwrap_used,
14    missing_docs,
15    rust_2018_idioms,
16    unused_lifetimes,
17    unused_qualifications
18)]
19
20#[cfg(feature = "alloc")]
21#[macro_use]
22extern crate alloc;
23#[cfg(feature = "std")]
24extern crate std;
25
26mod checked;
27mod decode;
28mod encode;
29mod error;
30mod label;
31mod reader;
32mod writer;
33
34pub use crate::{
35    checked::CheckedSum,
36    decode::Decode,
37    encode::Encode,
38    error::{Error, Result},
39    label::{Label, LabelError},
40    reader::{NestedReader, Reader},
41    writer::Writer,
42};
43
44#[cfg(feature = "base64")]
45pub use {
46    crate::{reader::Base64Reader, writer::Base64Writer},
47    base64,
48};
49
50#[cfg(feature = "pem")]
51pub use {
52    crate::{decode::DecodePem, encode::EncodePem},
53    pem::{self, LineEnding},
54};
55
56/// Line width used by the PEM encoding of OpenSSH documents.
57#[cfg(feature = "pem")]
58const PEM_LINE_WIDTH: usize = 70;