use core::ffi::*;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CE_GeneralNameType(pub c_uint);
impl CE_GeneralNameType {
pub const GNT_OtherName: Self = Self(0);
pub const GNT_RFC822Name: Self = Self(1);
pub const GNT_DNSName: Self = Self(2);
pub const GNT_X400Address: Self = Self(3);
pub const GNT_DirectoryName: Self = Self(4);
pub const GNT_EdiPartyName: Self = Self(5);
pub const GNT_URI: Self = Self(6);
pub const GNT_IPAddress: Self = Self(7);
pub const GNT_RegisteredID: Self = Self(8);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CE_GeneralNameType {
const ENCODING: Encoding = c_uint::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CE_GeneralNameType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "SecAsn1Types")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_OtherName {
pub typeId: SecAsn1Oid,
pub value: SecAsn1Item,
}
#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
unsafe impl Encode for CE_OtherName {
const ENCODING: Encoding = Encoding::Struct(
"__CE_OtherName",
&[<SecAsn1Oid>::ENCODING, <SecAsn1Item>::ENCODING],
);
}
#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
unsafe impl RefEncode for CE_OtherName {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_GeneralName {
pub nameType: CE_GeneralNameType,
pub berEncoded: CSSM_BOOL,
pub name: SecAsn1Item,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_GeneralName {
const ENCODING: Encoding = Encoding::Struct(
"__CE_GeneralName",
&[
<CE_GeneralNameType>::ENCODING,
<CSSM_BOOL>::ENCODING,
<SecAsn1Item>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_GeneralName {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_GeneralNames {
pub numNames: uint32,
pub generalName: *mut CE_GeneralName,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_GeneralNames {
const ENCODING: Encoding = Encoding::Struct(
"__CE_GeneralNames",
&[<uint32>::ENCODING, <*mut CE_GeneralName>::ENCODING],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_GeneralNames {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_AuthorityKeyID {
pub keyIdentifierPresent: CSSM_BOOL,
pub keyIdentifier: SecAsn1Item,
pub generalNamesPresent: CSSM_BOOL,
pub generalNames: *mut CE_GeneralNames,
pub serialNumberPresent: CSSM_BOOL,
pub serialNumber: SecAsn1Item,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_AuthorityKeyID {
const ENCODING: Encoding = Encoding::Struct(
"__CE_AuthorityKeyID",
&[
<CSSM_BOOL>::ENCODING,
<SecAsn1Item>::ENCODING,
<CSSM_BOOL>::ENCODING,
<*mut CE_GeneralNames>::ENCODING,
<CSSM_BOOL>::ENCODING,
<SecAsn1Item>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_AuthorityKeyID {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated]
#[cfg(feature = "SecAsn1Types")]
pub type CE_SubjectKeyID = SecAsn1Item;
#[deprecated]
#[cfg(feature = "cssmconfig")]
pub type CE_KeyUsage = uint16;
#[deprecated]
#[cfg(feature = "cssmconfig")]
pub type CE_CrlReason = uint32;
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_ExtendedKeyUsage {
pub numPurposes: uint32,
pub purposes: CSSM_OID_PTR,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_ExtendedKeyUsage {
const ENCODING: Encoding = Encoding::Struct(
"__CE_ExtendedKeyUsage",
&[<uint32>::ENCODING, <CSSM_OID_PTR>::ENCODING],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_ExtendedKeyUsage {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_BasicConstraints {
pub cA: CSSM_BOOL,
pub pathLenConstraintPresent: CSSM_BOOL,
pub pathLenConstraint: uint32,
}
#[cfg(all(feature = "cssmconfig", feature = "cssmtype", feature = "objc2"))]
unsafe impl Encode for CE_BasicConstraints {
const ENCODING: Encoding = Encoding::Struct(
"__CE_BasicConstraints",
&[
<CSSM_BOOL>::ENCODING,
<CSSM_BOOL>::ENCODING,
<uint32>::ENCODING,
],
);
}
#[cfg(all(feature = "cssmconfig", feature = "cssmtype", feature = "objc2"))]
unsafe impl RefEncode for CE_BasicConstraints {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "SecAsn1Types")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_PolicyQualifierInfo {
pub policyQualifierId: SecAsn1Oid,
pub qualifier: SecAsn1Item,
}
#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
unsafe impl Encode for CE_PolicyQualifierInfo {
const ENCODING: Encoding = Encoding::Struct(
"__CE_PolicyQualifierInfo",
&[<SecAsn1Oid>::ENCODING, <SecAsn1Item>::ENCODING],
);
}
#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
unsafe impl RefEncode for CE_PolicyQualifierInfo {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_PolicyInformation {
pub certPolicyId: SecAsn1Oid,
pub numPolicyQualifiers: uint32,
pub policyQualifiers: *mut CE_PolicyQualifierInfo,
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
unsafe impl Encode for CE_PolicyInformation {
const ENCODING: Encoding = Encoding::Struct(
"__CE_PolicyInformation",
&[
<SecAsn1Oid>::ENCODING,
<uint32>::ENCODING,
<*mut CE_PolicyQualifierInfo>::ENCODING,
],
);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
unsafe impl RefEncode for CE_PolicyInformation {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_CertPolicies {
pub numPolicies: uint32,
pub policies: *mut CE_PolicyInformation,
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
unsafe impl Encode for CE_CertPolicies {
const ENCODING: Encoding = Encoding::Struct(
"__CE_CertPolicies",
&[<uint32>::ENCODING, <*mut CE_PolicyInformation>::ENCODING],
);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
unsafe impl RefEncode for CE_CertPolicies {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated]
#[cfg(feature = "cssmconfig")]
pub type CE_NetscapeCertType = uint16;
#[deprecated]
#[cfg(feature = "cssmconfig")]
pub type CE_CrlDistReasonFlags = uint8;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CE_CrlDistributionPointNameType(pub c_uint);
impl CE_CrlDistributionPointNameType {
#[doc(alias = "CE_CDNT_FullName")]
pub const CDNT_FullName: Self = Self(0);
#[doc(alias = "CE_CDNT_NameRelativeToCrlIssuer")]
pub const CDNT_NameRelativeToCrlIssuer: Self = Self(1);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CE_CrlDistributionPointNameType {
const ENCODING: Encoding = c_uint::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CE_CrlDistributionPointNameType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "x509defs"
))]
#[repr(C)]
#[derive(Clone, Copy)]
pub union __CE_DistributionPointName_dpn {
pub fullName: *mut CE_GeneralNames,
pub rdn: CSSM_X509_RDN_PTR,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl Encode for __CE_DistributionPointName_dpn {
const ENCODING: Encoding = Encoding::Union(
"?",
&[
<*mut CE_GeneralNames>::ENCODING,
<CSSM_X509_RDN_PTR>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl RefEncode for __CE_DistributionPointName_dpn {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "x509defs"
))]
#[repr(C)]
#[derive(Clone, Copy)]
pub struct CE_DistributionPointName {
pub nameType: CE_CrlDistributionPointNameType,
pub dpn: __CE_DistributionPointName_dpn,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl Encode for CE_DistributionPointName {
const ENCODING: Encoding = Encoding::Struct(
"__CE_DistributionPointName",
&[
<CE_CrlDistributionPointNameType>::ENCODING,
<__CE_DistributionPointName_dpn>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl RefEncode for CE_DistributionPointName {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "x509defs"
))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_CRLDistributionPoint {
pub distPointName: *mut CE_DistributionPointName,
pub reasonsPresent: CSSM_BOOL,
pub reasons: CE_CrlDistReasonFlags,
pub crlIssuer: *mut CE_GeneralNames,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl Encode for CE_CRLDistributionPoint {
const ENCODING: Encoding = Encoding::Struct(
"__CE_CRLDistributionPoint",
&[
<*mut CE_DistributionPointName>::ENCODING,
<CSSM_BOOL>::ENCODING,
<CE_CrlDistReasonFlags>::ENCODING,
<*mut CE_GeneralNames>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl RefEncode for CE_CRLDistributionPoint {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "x509defs"
))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_CRLDistPointsSyntax {
pub numDistPoints: uint32,
pub distPoints: *mut CE_CRLDistributionPoint,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl Encode for CE_CRLDistPointsSyntax {
const ENCODING: Encoding = Encoding::Struct(
"__CE_CRLDistPointsSyntax",
&[<uint32>::ENCODING, <*mut CE_CRLDistributionPoint>::ENCODING],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl RefEncode for CE_CRLDistPointsSyntax {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_AccessDescription {
pub accessMethod: SecAsn1Oid,
pub accessLocation: CE_GeneralName,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_AccessDescription {
const ENCODING: Encoding = Encoding::Struct(
"__CE_AccessDescription",
&[<SecAsn1Oid>::ENCODING, <CE_GeneralName>::ENCODING],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_AccessDescription {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_AuthorityInfoAccess {
pub numAccessDescriptions: uint32,
pub accessDescriptions: *mut CE_AccessDescription,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_AuthorityInfoAccess {
const ENCODING: Encoding = Encoding::Struct(
"__CE_AuthorityInfoAccess",
&[<uint32>::ENCODING, <*mut CE_AccessDescription>::ENCODING],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_AuthorityInfoAccess {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated]
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
pub type CE_NameRegistrationAuthorities = CE_GeneralNames;
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_SemanticsInformation {
pub semanticsIdentifier: *mut SecAsn1Oid,
pub nameRegistrationAuthorities: *mut CE_NameRegistrationAuthorities,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_SemanticsInformation {
const ENCODING: Encoding = Encoding::Struct(
"__CE_SemanticsInformation",
&[
<*mut SecAsn1Oid>::ENCODING,
<*mut CE_NameRegistrationAuthorities>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_SemanticsInformation {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_QC_Statement {
pub statementId: SecAsn1Oid,
pub semanticsInfo: *mut CE_SemanticsInformation,
pub otherInfo: *mut SecAsn1Item,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_QC_Statement {
const ENCODING: Encoding = Encoding::Struct(
"__CE_QC_Statement",
&[
<SecAsn1Oid>::ENCODING,
<*mut CE_SemanticsInformation>::ENCODING,
<*mut SecAsn1Item>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_QC_Statement {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_QC_Statements {
pub numQCStatements: uint32,
pub qcStatements: *mut CE_QC_Statement,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_QC_Statements {
const ENCODING: Encoding = Encoding::Struct(
"__CE_QC_Statements",
&[<uint32>::ENCODING, <*mut CE_QC_Statement>::ENCODING],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_QC_Statements {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "cssmconfig")]
pub type CE_CrlNumber = uint32;
#[cfg(feature = "cssmconfig")]
pub type CE_DeltaCrl = uint32;
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "x509defs"
))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_IssuingDistributionPoint {
pub distPointName: *mut CE_DistributionPointName,
pub onlyUserCertsPresent: CSSM_BOOL,
pub onlyUserCerts: CSSM_BOOL,
pub onlyCACertsPresent: CSSM_BOOL,
pub onlyCACerts: CSSM_BOOL,
pub onlySomeReasonsPresent: CSSM_BOOL,
pub onlySomeReasons: CE_CrlDistReasonFlags,
pub indirectCrlPresent: CSSM_BOOL,
pub indirectCrl: CSSM_BOOL,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl Encode for CE_IssuingDistributionPoint {
const ENCODING: Encoding = Encoding::Struct(
"__CE_IssuingDistributionPoint",
&[
<*mut CE_DistributionPointName>::ENCODING,
<CSSM_BOOL>::ENCODING,
<CSSM_BOOL>::ENCODING,
<CSSM_BOOL>::ENCODING,
<CSSM_BOOL>::ENCODING,
<CSSM_BOOL>::ENCODING,
<CE_CrlDistReasonFlags>::ENCODING,
<CSSM_BOOL>::ENCODING,
<CSSM_BOOL>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl RefEncode for CE_IssuingDistributionPoint {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_GeneralSubtree {
pub base: *mut CE_GeneralNames,
pub minimum: uint32,
pub maximumPresent: CSSM_BOOL,
pub maximum: uint32,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_GeneralSubtree {
const ENCODING: Encoding = Encoding::Struct(
"__CE_GeneralSubtree",
&[
<*mut CE_GeneralNames>::ENCODING,
<uint32>::ENCODING,
<CSSM_BOOL>::ENCODING,
<uint32>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_GeneralSubtree {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_GeneralSubtrees {
pub numSubtrees: uint32,
pub subtrees: *mut CE_GeneralSubtree,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_GeneralSubtrees {
const ENCODING: Encoding = Encoding::Struct(
"__CE_GeneralSubtrees",
&[<uint32>::ENCODING, <*mut CE_GeneralSubtree>::ENCODING],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_GeneralSubtrees {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_NameConstraints {
pub permitted: *mut CE_GeneralSubtrees,
pub excluded: *mut CE_GeneralSubtrees,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for CE_NameConstraints {
const ENCODING: Encoding = Encoding::Struct(
"__CE_NameConstraints",
&[
<*mut CE_GeneralSubtrees>::ENCODING,
<*mut CE_GeneralSubtrees>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for CE_NameConstraints {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "SecAsn1Types")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_PolicyMapping {
pub issuerDomainPolicy: SecAsn1Oid,
pub subjectDomainPolicy: SecAsn1Oid,
}
#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
unsafe impl Encode for CE_PolicyMapping {
const ENCODING: Encoding = Encoding::Struct(
"__CE_PolicyMapping",
&[<SecAsn1Oid>::ENCODING, <SecAsn1Oid>::ENCODING],
);
}
#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
unsafe impl RefEncode for CE_PolicyMapping {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_PolicyMappings {
pub numPolicyMappings: uint32,
pub policyMappings: *mut CE_PolicyMapping,
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
unsafe impl Encode for CE_PolicyMappings {
const ENCODING: Encoding = Encoding::Struct(
"__CE_PolicyMappings",
&[<uint32>::ENCODING, <*mut CE_PolicyMapping>::ENCODING],
);
}
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
unsafe impl RefEncode for CE_PolicyMappings {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CE_PolicyConstraints {
pub requireExplicitPolicyPresent: CSSM_BOOL,
pub requireExplicitPolicy: uint32,
pub inhibitPolicyMappingPresent: CSSM_BOOL,
pub inhibitPolicyMapping: uint32,
}
#[cfg(all(feature = "cssmconfig", feature = "cssmtype", feature = "objc2"))]
unsafe impl Encode for CE_PolicyConstraints {
const ENCODING: Encoding = Encoding::Struct(
"__CE_PolicyConstraints",
&[
<CSSM_BOOL>::ENCODING,
<uint32>::ENCODING,
<CSSM_BOOL>::ENCODING,
<uint32>::ENCODING,
],
);
}
#[cfg(all(feature = "cssmconfig", feature = "cssmtype", feature = "objc2"))]
unsafe impl RefEncode for CE_PolicyConstraints {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated]
#[cfg(feature = "cssmconfig")]
pub type CE_InhibitAnyPolicy = uint32;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CE_DataType(pub c_uint);
impl CE_DataType {
pub const DT_AuthorityKeyID: Self = Self(0);
pub const DT_SubjectKeyID: Self = Self(1);
pub const DT_KeyUsage: Self = Self(2);
pub const DT_SubjectAltName: Self = Self(3);
pub const DT_IssuerAltName: Self = Self(4);
pub const DT_ExtendedKeyUsage: Self = Self(5);
pub const DT_BasicConstraints: Self = Self(6);
pub const DT_CertPolicies: Self = Self(7);
pub const DT_NetscapeCertType: Self = Self(8);
pub const DT_CrlNumber: Self = Self(9);
pub const DT_DeltaCrl: Self = Self(10);
pub const DT_CrlReason: Self = Self(11);
pub const DT_CrlDistributionPoints: Self = Self(12);
pub const DT_IssuingDistributionPoint: Self = Self(13);
pub const DT_AuthorityInfoAccess: Self = Self(14);
pub const DT_Other: Self = Self(15);
pub const DT_QC_Statements: Self = Self(16);
pub const DT_NameConstraints: Self = Self(17);
pub const DT_PolicyMappings: Self = Self(18);
pub const DT_PolicyConstraints: Self = Self(19);
pub const DT_InhibitAnyPolicy: Self = Self(20);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CE_DataType {
const ENCODING: Encoding = c_uint::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CE_DataType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "x509defs"
))]
#[repr(C)]
#[derive(Clone, Copy)]
pub union CE_Data {
pub authorityKeyID: CE_AuthorityKeyID,
pub subjectKeyID: CE_SubjectKeyID,
pub keyUsage: CE_KeyUsage,
pub subjectAltName: CE_GeneralNames,
pub issuerAltName: CE_GeneralNames,
pub extendedKeyUsage: CE_ExtendedKeyUsage,
pub basicConstraints: CE_BasicConstraints,
pub certPolicies: CE_CertPolicies,
pub netscapeCertType: CE_NetscapeCertType,
pub crlNumber: CE_CrlNumber,
pub deltaCrl: CE_DeltaCrl,
pub crlReason: CE_CrlReason,
pub crlDistPoints: CE_CRLDistPointsSyntax,
pub issuingDistPoint: CE_IssuingDistributionPoint,
pub authorityInfoAccess: CE_AuthorityInfoAccess,
pub qualifiedCertStatements: CE_QC_Statements,
pub nameConstraints: CE_NameConstraints,
pub policyMappings: CE_PolicyMappings,
pub policyConstraints: CE_PolicyConstraints,
pub inhibitAnyPolicy: CE_InhibitAnyPolicy,
pub rawData: SecAsn1Item,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl Encode for CE_Data {
const ENCODING: Encoding = Encoding::Union(
"?",
&[
<CE_AuthorityKeyID>::ENCODING,
<CE_SubjectKeyID>::ENCODING,
<CE_KeyUsage>::ENCODING,
<CE_GeneralNames>::ENCODING,
<CE_GeneralNames>::ENCODING,
<CE_ExtendedKeyUsage>::ENCODING,
<CE_BasicConstraints>::ENCODING,
<CE_CertPolicies>::ENCODING,
<CE_NetscapeCertType>::ENCODING,
<CE_CrlNumber>::ENCODING,
<CE_DeltaCrl>::ENCODING,
<CE_CrlReason>::ENCODING,
<CE_CRLDistPointsSyntax>::ENCODING,
<CE_IssuingDistributionPoint>::ENCODING,
<CE_AuthorityInfoAccess>::ENCODING,
<CE_QC_Statements>::ENCODING,
<CE_NameConstraints>::ENCODING,
<CE_PolicyMappings>::ENCODING,
<CE_PolicyConstraints>::ENCODING,
<CE_InhibitAnyPolicy>::ENCODING,
<SecAsn1Item>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl RefEncode for CE_Data {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "x509defs"
))]
#[repr(C)]
#[derive(Clone, Copy)]
pub struct CE_DataAndType {
pub r#type: CE_DataType,
pub extension: CE_Data,
pub critical: CSSM_BOOL,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl Encode for CE_DataAndType {
const ENCODING: Encoding = Encoding::Struct(
"__CE_DataAndType",
&[
<CE_DataType>::ENCODING,
<CE_Data>::ENCODING,
<CSSM_BOOL>::ENCODING,
],
);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmtype",
feature = "objc2",
feature = "x509defs"
))]
unsafe impl RefEncode for CE_DataAndType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}