+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
pub mod types;
#[cfg(feature = "impl")]
//! ACME API crate (API types and API implementation)
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod types;
pub use types::*;
//! The [`Account`] helper supports RSA and ECC keys and provides most of the API methods.
#![deny(missing_docs)]
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
#[cfg(feature = "api-types")]
pub mod types;
#![recursion_limit = "256"]
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
extern crate proc_macro;
extern crate proc_macro2;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
pub mod config;
pub mod deb822;
pub mod repositories;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
pub mod blocking;
pub mod broadcast_future;
pub mod io;
//!
//! The `pam-authenticator` feature enables the `Pam` type.
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
pub const TICKET_LIFETIME: i64 = 3600 * 2; // 2 hours
#[cfg(feature = "ticket")]
//! Helpers for borrowing and self-borrowing values.
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::mem::ManuallyDrop;
/// This ties two values together, so that one value can borrow from the other, while allowing the
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::collections::HashMap;
use std::future::Future;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod compression;
pub use compression::*;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use anyhow::{bail, Error};
#[cfg(feature = "openssl")]
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod api_types;
pub use api_types::*;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::fmt;
use serde::{ser::SerializeStruct, Serialize, Serializer};
//! HTTP related utilities used by various Proxmox products.
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
#[cfg(feature = "websocket")]
pub mod websocket;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use anyhow::{bail, Error};
use proxmox_schema::{ApiStringFormat, ApiType, Schema, StringSchema, UpdaterType};
//! implementing [`Read`](std::io::Read).
#![deny(unsafe_op_in_unsafe_fn)]
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
mod read;
pub use read::ReadExt;
//! sometimes also types from nightly `std` which are simple enough to do just haven't been
//! bikeshedded and stabilized in the standard library yet.
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod constnamedbitmap;
pub mod error;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::{
collections::HashMap,
fmt::{Display, Formatter},
//! This package provides helpers for logging into the APIs of Proxmox products such as Proxmox VE
//! or Proxmox Backup.
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use serde::{Deserialize, Serialize};
pub mod parse;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::borrow::Cow;
use std::collections::HashMap;
use std::sync::Arc;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod api_types;
pub use api_types::*;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::collections::HashMap;
use std::error::Error as StdError;
use std::fmt::Display;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::path::Path;
use anyhow::{format_err, Error};
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod filesystem_helpers;
pub use filesystem_helpers::*;
//! - worker task management
//! * generic interface to authenticate user
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::fmt;
use std::os::unix::io::{FromRawFd, OwnedFd};
use std::sync::atomic::{AtomicBool, Ordering};
//! API Router and Command Line Interface utilities.
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
pub mod format;
#[cfg(feature = "cli")]
//! * Stores data for different time resolution
//! * Simple cache implementation with journal support
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
#[cfg(feature = "rrd_v1")]
mod rrd_v1;
//! parsers.
#![deny(unsafe_op_in_unsafe_fn)]
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
#[cfg(feature = "api-macro")]
pub use proxmox_api_macro::api;
//! ...
//! ```
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::collections::HashMap;
use std::collections::HashSet;
use std::path::Path;
//! Serialization helpers for serde
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
#[macro_use]
pub mod serde_macros;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::ffi::{CStr, CString};
use std::fs::File;
use std::mem::MaybeUninit;
//! Our 'key: value' config format.
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::io::Write;
use anyhow::{bail, format_err, Error};
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
extern crate proc_macro;
extern crate proc_macro2;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod subscription_info;
pub use subscription_info::{
get_hardware_address, ProductType, SubscriptionInfo, SubscriptionStatus,
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::os::unix::ffi::OsStrExt;
pub mod boot_mode;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod api_types;
pub use api_types::*;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
#[cfg(feature = "u2f")]
pub mod u2f;
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
mod api_types;
pub use api_types::*;
#![allow(clippy::manual_range_contains)]
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
#[cfg(not(target_arch = "wasm32"))]
mod tm_editor;
//! Simple bindings to libuuid's `uuid_generate`.
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+
use std::borrow::{Borrow, BorrowMut};
use std::fmt;