// automatically generated by rust-bindgen 0.71.1

#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]

#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
impl NetStack_CertType {
    /// PEM certificate
    pub const NETSTACK_CERT_TYPE_PEM: NetStack_CertType = NetStack_CertType(0);
    /// DER certificate
    pub const NETSTACK_CERT_TYPE_DER: NetStack_CertType = NetStack_CertType(1);
    /// Invalid certificate
    pub const NETSTACK_CERT_TYPE_INVALID: NetStack_CertType = NetStack_CertType(2);
}
#[repr(transparent)]
/// Enumerates certificate types.
///
///
/// Available since API-level: 11
///
/// Version: 1.0
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct NetStack_CertType(pub ::core::ffi::c_uint);
/// Defines the certificate data structure.
///
///
/// Available since API-level: 11
///
/// Version: 1.0
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct NetStack_CertBlob {
    /// Certificate type
    pub type_: NetStack_CertType,
    /// Certificate content length
    pub size: u32,
    /// Certificate content
    pub data: *mut u8,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl NetStack_CertificatePinningKind {
    /// Public key pinning
    pub const PUBLIC_KEY: NetStack_CertificatePinningKind = NetStack_CertificatePinningKind(0);
}
#[repr(transparent)]
/// Defines the certificate lock type.
///
///
/// Available since API-level: 12
///
/// Version: 1.0
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct NetStack_CertificatePinningKind(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl NetStack_HashAlgorithm {
    /// Sha256
    pub const SHA_256: NetStack_HashAlgorithm = NetStack_HashAlgorithm(0);
}
#[repr(transparent)]
/// Defines the hash algorithm.
///
///
/// Available since API-level: 12
///
/// Version: 1.0
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct NetStack_HashAlgorithm(pub ::core::ffi::c_uint);
/// Defines the certificate lock information.
///
///
/// Available since API-level: 12
///
/// Version: 1.0
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Copy, Clone)]
pub struct NetStack_CertificatePinning {
    /// Certificate lock type
    pub kind: NetStack_CertificatePinningKind,
    /// Hash algorithm
    pub hashAlgorithm: NetStack_HashAlgorithm,
    pub __bindgen_anon_1: NetStack_CertificatePinning__bindgen_ty_1,
}
/// Hash value
#[repr(C)]
#[derive(Copy, Clone)]
pub union NetStack_CertificatePinning__bindgen_ty_1 {
    pub publicKeyHash: *mut ::core::ffi::c_char,
}
/// Defines the certificate information.
///
///
/// Available since API-level: 12
///
/// Version: 1.0
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
pub struct NetStack_Certificates {
    /// PEM content of the certificates
    pub content: *mut *mut ::core::ffi::c_char,
    /// Number of certificates
    pub length: usize,
}
