/* automatically generated by rust-bindgen 0.71.1 */

pub const CRYPTLIB_VERSION: u32 = 349;
pub const CRYPT_KEYUSAGE_NONE: u32 = 0;
pub const CRYPT_KEYUSAGE_DIGITALSIGNATURE: u32 = 1;
pub const CRYPT_KEYUSAGE_NONREPUDIATION: u32 = 2;
pub const CRYPT_KEYUSAGE_KEYENCIPHERMENT: u32 = 4;
pub const CRYPT_KEYUSAGE_DATAENCIPHERMENT: u32 = 8;
pub const CRYPT_KEYUSAGE_KEYAGREEMENT: u32 = 16;
pub const CRYPT_KEYUSAGE_KEYCERTSIGN: u32 = 32;
pub const CRYPT_KEYUSAGE_CRLSIGN: u32 = 64;
pub const CRYPT_KEYUSAGE_ENCIPHERONLY: u32 = 128;
pub const CRYPT_KEYUSAGE_DECIPHERONLY: u32 = 256;
pub const CRYPT_KEYUSAGE_LAST: u32 = 512;
pub const CRYPT_CRLREASONFLAG_UNUSED: u32 = 1;
pub const CRYPT_CRLREASONFLAG_KEYCOMPROMISE: u32 = 2;
pub const CRYPT_CRLREASONFLAG_CACOMPROMISE: u32 = 4;
pub const CRYPT_CRLREASONFLAG_AFFILIATIONCHANGED: u32 = 8;
pub const CRYPT_CRLREASONFLAG_SUPERSEDED: u32 = 16;
pub const CRYPT_CRLREASONFLAG_CESSATIONOFOPERATION: u32 = 32;
pub const CRYPT_CRLREASONFLAG_CERTIFICATEHOLD: u32 = 64;
pub const CRYPT_CRLREASONFLAG_LAST: u32 = 128;
pub const CRYPT_NS_CERTTYPE_SSLCLIENT: u32 = 1;
pub const CRYPT_NS_CERTTYPE_SSLSERVER: u32 = 2;
pub const CRYPT_NS_CERTTYPE_SMIME: u32 = 4;
pub const CRYPT_NS_CERTTYPE_OBJECTSIGNING: u32 = 8;
pub const CRYPT_NS_CERTTYPE_RESERVED: u32 = 16;
pub const CRYPT_NS_CERTTYPE_SSLCA: u32 = 32;
pub const CRYPT_NS_CERTTYPE_SMIMECA: u32 = 64;
pub const CRYPT_NS_CERTTYPE_OBJECTSIGNINGCA: u32 = 128;
pub const CRYPT_NS_CERTTYPE_LAST: u32 = 256;
pub const CRYPT_SET_CERTTYPE_CARD: u32 = 1;
pub const CRYPT_SET_CERTTYPE_MER: u32 = 2;
pub const CRYPT_SET_CERTTYPE_PGWY: u32 = 4;
pub const CRYPT_SET_CERTTYPE_CCA: u32 = 8;
pub const CRYPT_SET_CERTTYPE_MCA: u32 = 16;
pub const CRYPT_SET_CERTTYPE_PCA: u32 = 32;
pub const CRYPT_SET_CERTTYPE_GCA: u32 = 64;
pub const CRYPT_SET_CERTTYPE_BCA: u32 = 128;
pub const CRYPT_SET_CERTTYPE_RCA: u32 = 256;
pub const CRYPT_SET_CERTTYPE_ACQ: u32 = 512;
pub const CRYPT_SET_CERTTYPE_LAST: u32 = 1024;
pub const CRYPT_CMPOPTION_NONE: u32 = 0;
pub const CRYPT_CMPOPTION_3GPP: u32 = 1;
pub const CRYPT_TLSOPTION_NONE: u32 = 0;
pub const CRYPT_TLSOPTION_MINVER_SSLV3: u32 = 0;
pub const CRYPT_TLSOPTION_MINVER_TLS10: u32 = 1;
pub const CRYPT_TLSOPTION_MINVER_TLS11: u32 = 2;
pub const CRYPT_TLSOPTION_MINVER_TLS12: u32 = 3;
pub const CRYPT_TLSOPTION_MINVER_TLS13: u32 = 4;
pub const CRYPT_TLSOPTION_MANUAL_CERTCHECK: u32 = 8;
pub const CRYPT_TLSOPTION_DISABLE_NAMEVERIFY: u32 = 16;
pub const CRYPT_TLSOPTION_DISABLE_CERTVERIFY: u32 = 32;
pub const CRYPT_TLSOPTION_SERVER_SNI: u32 = 64;
pub const CRYPT_TLSOPTION_RESUMED: u32 = 128;
pub const CRYPT_TLSOPTION_SUITEB_128: u32 = 256;
pub const CRYPT_TLSOPTION_SUITEB_256: u32 = 512;
pub const CRYPT_MAX_KEYSIZE: u32 = 64;
pub const CRYPT_MAX_IVSIZE: u32 = 32;
pub const CRYPT_MAX_PKCSIZE: u32 = 512;
pub const CRYPT_MAX_PKCSIZE_ECC: u32 = 72;
pub const CRYPT_MAX_HASHSIZE: u32 = 64;
pub const CRYPT_MAX_TEXTSIZE: u32 = 64;
pub const CRYPT_USE_DEFAULT: i32 = -100;
pub const CRYPT_UNUSED: i32 = -101;
pub const CRYPT_CURSOR_FIRST: i32 = -200;
pub const CRYPT_CURSOR_PREVIOUS: i32 = -201;
pub const CRYPT_CURSOR_NEXT: i32 = -202;
pub const CRYPT_CURSOR_LAST: i32 = -203;
pub const CRYPT_RANDOM_FASTPOLL: i32 = -300;
pub const CRYPT_RANDOM_SLOWPOLL: i32 = -301;
pub const CRYPT_KEYTYPE_PRIVATE: u32 = 0;
pub const CRYPT_KEYTYPE_PUBLIC: u32 = 1;
pub const CRYPT_OK: u32 = 0;
pub const CRYPT_ERROR_PARAM1: i32 = -1;
pub const CRYPT_ERROR_PARAM2: i32 = -2;
pub const CRYPT_ERROR_PARAM3: i32 = -3;
pub const CRYPT_ERROR_PARAM4: i32 = -4;
pub const CRYPT_ERROR_PARAM5: i32 = -5;
pub const CRYPT_ERROR_PARAM6: i32 = -6;
pub const CRYPT_ERROR_PARAM7: i32 = -7;
pub const CRYPT_ERROR_MEMORY: i32 = -10;
pub const CRYPT_ERROR_NOTINITED: i32 = -11;
pub const CRYPT_ERROR_INITED: i32 = -12;
pub const CRYPT_ERROR_NOSECURE: i32 = -13;
pub const CRYPT_ERROR_RANDOM: i32 = -14;
pub const CRYPT_ERROR_FAILED: i32 = -15;
pub const CRYPT_ERROR_INTERNAL: i32 = -16;
pub const CRYPT_ERROR_NOTAVAIL: i32 = -20;
pub const CRYPT_ERROR_PERMISSION: i32 = -21;
pub const CRYPT_ERROR_WRONGKEY: i32 = -22;
pub const CRYPT_ERROR_INCOMPLETE: i32 = -23;
pub const CRYPT_ERROR_COMPLETE: i32 = -24;
pub const CRYPT_ERROR_TIMEOUT: i32 = -25;
pub const CRYPT_ERROR_INVALID: i32 = -26;
pub const CRYPT_ERROR_SIGNALLED: i32 = -27;
pub const CRYPT_ERROR_OVERFLOW: i32 = -30;
pub const CRYPT_ERROR_UNDERFLOW: i32 = -31;
pub const CRYPT_ERROR_BADDATA: i32 = -32;
pub const CRYPT_ERROR_SIGNATURE: i32 = -33;
pub const CRYPT_ERROR_OPEN: i32 = -40;
pub const CRYPT_ERROR_READ: i32 = -41;
pub const CRYPT_ERROR_WRITE: i32 = -42;
pub const CRYPT_ERROR_NOTFOUND: i32 = -43;
pub const CRYPT_ERROR_DUPLICATE: i32 = -44;
pub const CRYPT_ENVELOPE_RESOURCE: i32 = -50;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_NONE: CRYPT_ALGO_TYPE = 0;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_DES: CRYPT_ALGO_TYPE = 1;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_3DES: CRYPT_ALGO_TYPE = 2;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_IDEA: CRYPT_ALGO_TYPE = 3;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_CAST: CRYPT_ALGO_TYPE = 4;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RC2: CRYPT_ALGO_TYPE = 5;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RC4: CRYPT_ALGO_TYPE = 6;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RESERVED1: CRYPT_ALGO_TYPE = 7;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_AES: CRYPT_ALGO_TYPE = 8;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RESERVED2: CRYPT_ALGO_TYPE = 9;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_CHACHA20: CRYPT_ALGO_TYPE = 10;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_DH: CRYPT_ALGO_TYPE = 100;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RSA: CRYPT_ALGO_TYPE = 101;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_DSA: CRYPT_ALGO_TYPE = 102;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_ELGAMAL: CRYPT_ALGO_TYPE = 103;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RESERVED3: CRYPT_ALGO_TYPE = 104;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_ECDSA: CRYPT_ALGO_TYPE = 105;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_ECDH: CRYPT_ALGO_TYPE = 106;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_25519: CRYPT_ALGO_TYPE = 107;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_ED25519: CRYPT_ALGO_TYPE = 108;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RESERVED4: CRYPT_ALGO_TYPE = 200;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RESERVED5: CRYPT_ALGO_TYPE = 201;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_MD5: CRYPT_ALGO_TYPE = 202;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_SHA1: CRYPT_ALGO_TYPE = 203;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RESERVED6: CRYPT_ALGO_TYPE = 204;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_SHA2: CRYPT_ALGO_TYPE = 205;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_SHA256: CRYPT_ALGO_TYPE = 205;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_SHAng: CRYPT_ALGO_TYPE = 206;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RESERVED7: CRYPT_ALGO_TYPE = 300;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_HMAC_SHA1: CRYPT_ALGO_TYPE = 301;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_RESERVED8: CRYPT_ALGO_TYPE = 302;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_HMAC_SHA2: CRYPT_ALGO_TYPE = 303;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_HMAC_SHAng: CRYPT_ALGO_TYPE = 304;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_POLY1305: CRYPT_ALGO_TYPE = 305;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_LAST: CRYPT_ALGO_TYPE = 306;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_FIRST_CONVENTIONAL: CRYPT_ALGO_TYPE = 1;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_LAST_CONVENTIONAL: CRYPT_ALGO_TYPE = 99;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_FIRST_PKC: CRYPT_ALGO_TYPE = 100;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_LAST_PKC: CRYPT_ALGO_TYPE = 199;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_FIRST_HASH: CRYPT_ALGO_TYPE = 200;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_LAST_HASH: CRYPT_ALGO_TYPE = 299;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_FIRST_MAC: CRYPT_ALGO_TYPE = 300;
pub const CRYPT_ALGO_TYPE_CRYPT_ALGO_LAST_MAC: CRYPT_ALGO_TYPE = 399;
#[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\tAlgorithm and Object Types\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
pub type CRYPT_ALGO_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_MODE_TYPE_CRYPT_MODE_NONE: CRYPT_MODE_TYPE = 0;
pub const CRYPT_MODE_TYPE_CRYPT_MODE_ECB: CRYPT_MODE_TYPE = 1;
pub const CRYPT_MODE_TYPE_CRYPT_MODE_CBC: CRYPT_MODE_TYPE = 2;
pub const CRYPT_MODE_TYPE_CRYPT_MODE_CFB: CRYPT_MODE_TYPE = 3;
pub const CRYPT_MODE_TYPE_CRYPT_MODE_GCM: CRYPT_MODE_TYPE = 4;
pub const CRYPT_MODE_TYPE_CRYPT_MODE_LAST: CRYPT_MODE_TYPE = 5;
pub type CRYPT_MODE_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_PKCFORMAT_TYPE_CRYPT_PKCFORMAT_NONE: CRYPT_PKCFORMAT_TYPE = 0;
pub const CRYPT_PKCFORMAT_TYPE_CRYPT_PKCFORMAT_PKCS1: CRYPT_PKCFORMAT_TYPE = 1;
pub const CRYPT_PKCFORMAT_TYPE_CRYPT_PKCFORMAT_DEFAULT: CRYPT_PKCFORMAT_TYPE = 1;
pub const CRYPT_PKCFORMAT_TYPE_CRYPT_PKCFORMAT_OAEP: CRYPT_PKCFORMAT_TYPE = 2;
pub const CRYPT_PKCFORMAT_TYPE_CRYPT_PKCFORMAT_PSS: CRYPT_PKCFORMAT_TYPE = 3;
pub const CRYPT_PKCFORMAT_TYPE_CRYPT_PKCFORMAT_LAST: CRYPT_PKCFORMAT_TYPE = 4;
pub type CRYPT_PKCFORMAT_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_NONE: CRYPT_KEYSET_TYPE = 0;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_FILE: CRYPT_KEYSET_TYPE = 1;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_HTTP: CRYPT_KEYSET_TYPE = 2;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_LDAP: CRYPT_KEYSET_TYPE = 3;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_DATABASE: CRYPT_KEYSET_TYPE = 4;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_ODBC: CRYPT_KEYSET_TYPE = 4;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_DATABASE_STORE: CRYPT_KEYSET_TYPE = 5;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_ODBC_STORE: CRYPT_KEYSET_TYPE = 5;
pub const CRYPT_KEYSET_TYPE_CRYPT_KEYSET_LAST: CRYPT_KEYSET_TYPE = 6;
pub type CRYPT_KEYSET_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_DEVICE_TYPE_CRYPT_DEVICE_NONE: CRYPT_DEVICE_TYPE = 0;
pub const CRYPT_DEVICE_TYPE_CRYPT_DEVICE_TPM: CRYPT_DEVICE_TYPE = 1;
pub const CRYPT_DEVICE_TYPE_CRYPT_DEVICE_PKCS11: CRYPT_DEVICE_TYPE = 2;
pub const CRYPT_DEVICE_TYPE_CRYPT_DEVICE_CRYPTOAPI: CRYPT_DEVICE_TYPE = 3;
pub const CRYPT_DEVICE_TYPE_CRYPT_DEVICE_HARDWARE: CRYPT_DEVICE_TYPE = 4;
pub const CRYPT_DEVICE_TYPE_CRYPT_DEVICE_LAST: CRYPT_DEVICE_TYPE = 5;
pub type CRYPT_DEVICE_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_NONE: CRYPT_CERTTYPE_TYPE = 0;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_CERTIFICATE: CRYPT_CERTTYPE_TYPE = 1;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_ATTRIBUTE_CERT: CRYPT_CERTTYPE_TYPE = 2;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_CERTCHAIN: CRYPT_CERTTYPE_TYPE = 3;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_CERTREQUEST: CRYPT_CERTTYPE_TYPE = 4;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_REQUEST_CERT: CRYPT_CERTTYPE_TYPE = 5;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_REQUEST_REVOCATION: CRYPT_CERTTYPE_TYPE = 6;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_CRL: CRYPT_CERTTYPE_TYPE = 7;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_CMS_ATTRIBUTES: CRYPT_CERTTYPE_TYPE = 8;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_RTCS_REQUEST: CRYPT_CERTTYPE_TYPE = 9;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_RTCS_RESPONSE: CRYPT_CERTTYPE_TYPE = 10;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_OCSP_REQUEST: CRYPT_CERTTYPE_TYPE = 11;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_OCSP_RESPONSE: CRYPT_CERTTYPE_TYPE = 12;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_PKIUSER: CRYPT_CERTTYPE_TYPE = 13;
pub const CRYPT_CERTTYPE_TYPE_CRYPT_CERTTYPE_LAST: CRYPT_CERTTYPE_TYPE = 14;
pub type CRYPT_CERTTYPE_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_FORMAT_TYPE_CRYPT_FORMAT_NONE: CRYPT_FORMAT_TYPE = 0;
pub const CRYPT_FORMAT_TYPE_CRYPT_FORMAT_AUTO: CRYPT_FORMAT_TYPE = 1;
pub const CRYPT_FORMAT_TYPE_CRYPT_FORMAT_CRYPTLIB: CRYPT_FORMAT_TYPE = 2;
pub const CRYPT_FORMAT_TYPE_CRYPT_FORMAT_CMS: CRYPT_FORMAT_TYPE = 3;
pub const CRYPT_FORMAT_TYPE_CRYPT_FORMAT_PKCS7: CRYPT_FORMAT_TYPE = 3;
pub const CRYPT_FORMAT_TYPE_CRYPT_FORMAT_SMIME: CRYPT_FORMAT_TYPE = 4;
pub const CRYPT_FORMAT_TYPE_CRYPT_FORMAT_PGP: CRYPT_FORMAT_TYPE = 5;
pub const CRYPT_FORMAT_TYPE_CRYPT_FORMAT_LAST: CRYPT_FORMAT_TYPE = 6;
pub type CRYPT_FORMAT_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_NONE: CRYPT_SESSION_TYPE = 0;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_SSH: CRYPT_SESSION_TYPE = 1;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_SSH_SERVER: CRYPT_SESSION_TYPE = 2;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_TLS: CRYPT_SESSION_TYPE = 3;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_SSL: CRYPT_SESSION_TYPE = 3;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_TLS_SERVER: CRYPT_SESSION_TYPE = 4;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_SSL_SERVER: CRYPT_SESSION_TYPE = 4;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_RTCS: CRYPT_SESSION_TYPE = 5;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_RTCS_SERVER: CRYPT_SESSION_TYPE = 6;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_SCVP: CRYPT_SESSION_TYPE = 7;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_SCVP_SERVER: CRYPT_SESSION_TYPE = 8;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_OCSP: CRYPT_SESSION_TYPE = 9;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_OCSP_SERVER: CRYPT_SESSION_TYPE = 10;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_TSP: CRYPT_SESSION_TYPE = 11;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_TSP_SERVER: CRYPT_SESSION_TYPE = 12;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_CMP: CRYPT_SESSION_TYPE = 13;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_CMP_SERVER: CRYPT_SESSION_TYPE = 14;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_SCEP: CRYPT_SESSION_TYPE = 15;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_SCEP_SERVER: CRYPT_SESSION_TYPE = 16;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_CERTSTORE_SERVER: CRYPT_SESSION_TYPE = 17;
pub const CRYPT_SESSION_TYPE_CRYPT_SESSION_LAST: CRYPT_SESSION_TYPE = 18;
pub type CRYPT_SESSION_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_USER_TYPE_CRYPT_USER_NONE: CRYPT_USER_TYPE = 0;
pub const CRYPT_USER_TYPE_CRYPT_USER_NORMAL: CRYPT_USER_TYPE = 1;
pub const CRYPT_USER_TYPE_CRYPT_USER_SO: CRYPT_USER_TYPE = 2;
pub const CRYPT_USER_TYPE_CRYPT_USER_CA: CRYPT_USER_TYPE = 3;
pub const CRYPT_USER_TYPE_CRYPT_USER_LAST: CRYPT_USER_TYPE = 4;
pub type CRYPT_USER_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_NONE: CRYPT_ATTRIBUTE_TYPE = 0;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_PROPERTY_FIRST: CRYPT_ATTRIBUTE_TYPE = 1;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_PROPERTY_HIGHSECURITY: CRYPT_ATTRIBUTE_TYPE = 2;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_PROPERTY_OWNER: CRYPT_ATTRIBUTE_TYPE = 3;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_PROPERTY_FORWARDCOUNT: CRYPT_ATTRIBUTE_TYPE = 4;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_PROPERTY_LOCKED: CRYPT_ATTRIBUTE_TYPE = 5;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_PROPERTY_USAGECOUNT: CRYPT_ATTRIBUTE_TYPE = 6;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_PROPERTY_NONEXPORTABLE: CRYPT_ATTRIBUTE_TYPE = 7;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_PROPERTY_LAST: CRYPT_ATTRIBUTE_TYPE = 8;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_GENERIC_FIRST: CRYPT_ATTRIBUTE_TYPE = 9;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_ERRORTYPE: CRYPT_ATTRIBUTE_TYPE = 10;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_ERRORLOCUS: CRYPT_ATTRIBUTE_TYPE = 11;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_ERRORMESSAGE: CRYPT_ATTRIBUTE_TYPE = 12;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_CURRENT_GROUP: CRYPT_ATTRIBUTE_TYPE = 13;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_CURRENT: CRYPT_ATTRIBUTE_TYPE = 14;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_CURRENT_INSTANCE: CRYPT_ATTRIBUTE_TYPE = 15;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_BUFFERSIZE: CRYPT_ATTRIBUTE_TYPE = 16;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_GENERIC_LAST: CRYPT_ATTRIBUTE_TYPE = 17;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_FIRST: CRYPT_ATTRIBUTE_TYPE = 100;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_INFO_DESCRIPTION: CRYPT_ATTRIBUTE_TYPE = 101;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_INFO_COPYRIGHT: CRYPT_ATTRIBUTE_TYPE = 102;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_INFO_MAJORVERSION: CRYPT_ATTRIBUTE_TYPE = 103;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_INFO_MINORVERSION: CRYPT_ATTRIBUTE_TYPE = 104;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_INFO_STEPPING: CRYPT_ATTRIBUTE_TYPE = 105;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_ENCR_ALGO: CRYPT_ATTRIBUTE_TYPE = 106;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_ENCR_HASH: CRYPT_ATTRIBUTE_TYPE = 107;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_ENCR_MAC: CRYPT_ATTRIBUTE_TYPE = 108;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_PKC_ALGO: CRYPT_ATTRIBUTE_TYPE = 109;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_PKC_KEYSIZE: CRYPT_ATTRIBUTE_TYPE = 110;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_PKC_FORMAT: CRYPT_ATTRIBUTE_TYPE = 111;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_ENCR_HASHPARAM: CRYPT_ATTRIBUTE_TYPE = 112;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYING_ALGO: CRYPT_ATTRIBUTE_TYPE = 113;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYING_ITERATIONS: CRYPT_ATTRIBUTE_TYPE = 114;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_CERT_SIGNUNRECOGNISEDATTRIBUTES: CRYPT_ATTRIBUTE_TYPE =
    115;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_CERT_VALIDITY: CRYPT_ATTRIBUTE_TYPE = 116;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_CERT_UPDATEINTERVAL: CRYPT_ATTRIBUTE_TYPE = 117;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_CERT_COMPLIANCELEVEL: CRYPT_ATTRIBUTE_TYPE = 118;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_CERT_REQUIREPOLICY: CRYPT_ATTRIBUTE_TYPE = 119;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_CMS_DEFAULTATTRIBUTES: CRYPT_ATTRIBUTE_TYPE = 120;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_SMIME_DEFAULTATTRIBUTES: CRYPT_ATTRIBUTE_TYPE = 120;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYS_LDAP_OBJECTCLASS: CRYPT_ATTRIBUTE_TYPE = 121;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYS_LDAP_OBJECTTYPE: CRYPT_ATTRIBUTE_TYPE = 122;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYS_LDAP_FILTER: CRYPT_ATTRIBUTE_TYPE = 123;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYS_LDAP_CACERTNAME: CRYPT_ATTRIBUTE_TYPE = 124;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYS_LDAP_CERTNAME: CRYPT_ATTRIBUTE_TYPE = 125;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYS_LDAP_CRLNAME: CRYPT_ATTRIBUTE_TYPE = 126;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_KEYS_LDAP_EMAILNAME: CRYPT_ATTRIBUTE_TYPE = 127;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_DEVICE_PKCS11_DVR01: CRYPT_ATTRIBUTE_TYPE = 128;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_DEVICE_PKCS11_DVR02: CRYPT_ATTRIBUTE_TYPE = 129;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_DEVICE_PKCS11_DVR03: CRYPT_ATTRIBUTE_TYPE = 130;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_DEVICE_PKCS11_DVR04: CRYPT_ATTRIBUTE_TYPE = 131;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_DEVICE_PKCS11_DVR05: CRYPT_ATTRIBUTE_TYPE = 132;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_DEVICE_PKCS11_HARDWAREONLY: CRYPT_ATTRIBUTE_TYPE = 133;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_NET_SOCKS_SERVER: CRYPT_ATTRIBUTE_TYPE = 134;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_NET_SOCKS_USERNAME: CRYPT_ATTRIBUTE_TYPE = 135;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_NET_HTTP_PROXY: CRYPT_ATTRIBUTE_TYPE = 136;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_NET_CONNECTTIMEOUT: CRYPT_ATTRIBUTE_TYPE = 137;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_NET_READTIMEOUT: CRYPT_ATTRIBUTE_TYPE = 138;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_NET_WRITETIMEOUT: CRYPT_ATTRIBUTE_TYPE = 139;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_MISC_ASYNCINIT: CRYPT_ATTRIBUTE_TYPE = 140;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_MISC_SIDECHANNELPROTECTION: CRYPT_ATTRIBUTE_TYPE = 141;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_CONFIGCHANGED: CRYPT_ATTRIBUTE_TYPE = 142;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_SELFTESTOK: CRYPT_ATTRIBUTE_TYPE = 143;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_OPTION_LAST: CRYPT_ATTRIBUTE_TYPE = 144;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_FIRST: CRYPT_ATTRIBUTE_TYPE = 1000;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_ALGO: CRYPT_ATTRIBUTE_TYPE = 1001;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_MODE: CRYPT_ATTRIBUTE_TYPE = 1002;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_NAME_ALGO: CRYPT_ATTRIBUTE_TYPE = 1003;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_NAME_MODE: CRYPT_ATTRIBUTE_TYPE = 1004;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_KEYSIZE: CRYPT_ATTRIBUTE_TYPE = 1005;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_BLOCKSIZE: CRYPT_ATTRIBUTE_TYPE = 1006;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_IVSIZE: CRYPT_ATTRIBUTE_TYPE = 1007;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_KEYING_ALGO: CRYPT_ATTRIBUTE_TYPE = 1008;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_KEYING_ITERATIONS: CRYPT_ATTRIBUTE_TYPE = 1009;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_KEYING_SALT: CRYPT_ATTRIBUTE_TYPE = 1010;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_KEYING_VALUE: CRYPT_ATTRIBUTE_TYPE = 1011;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_KEY: CRYPT_ATTRIBUTE_TYPE = 1012;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_KEY_COMPONENTS: CRYPT_ATTRIBUTE_TYPE = 1013;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_IV: CRYPT_ATTRIBUTE_TYPE = 1014;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_HASHVALUE: CRYPT_ATTRIBUTE_TYPE = 1015;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_LABEL: CRYPT_ATTRIBUTE_TYPE = 1016;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_PERSISTENT: CRYPT_ATTRIBUTE_TYPE = 1017;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CTXINFO_LAST: CRYPT_ATTRIBUTE_TYPE = 1018;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_FIRST: CRYPT_ATTRIBUTE_TYPE = 2000;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SELFSIGNED: CRYPT_ATTRIBUTE_TYPE = 2001;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_IMMUTABLE: CRYPT_ATTRIBUTE_TYPE = 2002;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_XYZZY: CRYPT_ATTRIBUTE_TYPE = 2003;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTTYPE: CRYPT_ATTRIBUTE_TYPE = 2004;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_FINGERPRINT_SHA1: CRYPT_ATTRIBUTE_TYPE = 2005;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_FINGERPRINT_SHA2: CRYPT_ATTRIBUTE_TYPE = 2006;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_FINGERPRINT_SHAng: CRYPT_ATTRIBUTE_TYPE = 2007;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CURRENT_CERTIFICATE: CRYPT_ATTRIBUTE_TYPE = 2008;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_TRUSTED_USAGE: CRYPT_ATTRIBUTE_TYPE = 2009;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_TRUSTED_IMPLICIT: CRYPT_ATTRIBUTE_TYPE = 2010;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGNATURELEVEL: CRYPT_ATTRIBUTE_TYPE = 2011;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_VERSION: CRYPT_ATTRIBUTE_TYPE = 2012;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SERIALNUMBER: CRYPT_ATTRIBUTE_TYPE = 2013;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTPUBLICKEYINFO: CRYPT_ATTRIBUTE_TYPE = 2014;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTIFICATE: CRYPT_ATTRIBUTE_TYPE = 2015;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_USERCERTIFICATE: CRYPT_ATTRIBUTE_TYPE = 2015;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CACERTIFICATE: CRYPT_ATTRIBUTE_TYPE = 2016;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUERNAME: CRYPT_ATTRIBUTE_TYPE = 2017;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_VALIDFROM: CRYPT_ATTRIBUTE_TYPE = 2018;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_VALIDTO: CRYPT_ATTRIBUTE_TYPE = 2019;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTNAME: CRYPT_ATTRIBUTE_TYPE = 2020;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUERUNIQUEID: CRYPT_ATTRIBUTE_TYPE = 2021;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTUNIQUEID: CRYPT_ATTRIBUTE_TYPE = 2022;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTREQUEST: CRYPT_ATTRIBUTE_TYPE = 2023;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_THISUPDATE: CRYPT_ATTRIBUTE_TYPE = 2024;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NEXTUPDATE: CRYPT_ATTRIBUTE_TYPE = 2025;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REVOCATIONDATE: CRYPT_ATTRIBUTE_TYPE = 2026;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REVOCATIONSTATUS: CRYPT_ATTRIBUTE_TYPE = 2027;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTSTATUS: CRYPT_ATTRIBUTE_TYPE = 2028;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_DN: CRYPT_ATTRIBUTE_TYPE = 2029;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PKIUSER_ID: CRYPT_ATTRIBUTE_TYPE = 2030;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PKIUSER_ISSUEPASSWORD: CRYPT_ATTRIBUTE_TYPE = 2031;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PKIUSER_REVPASSWORD: CRYPT_ATTRIBUTE_TYPE = 2032;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PKIUSER_RA: CRYPT_ATTRIBUTE_TYPE = 2033;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_COUNTRYNAME: CRYPT_ATTRIBUTE_TYPE = 2100;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_STATEORPROVINCENAME: CRYPT_ATTRIBUTE_TYPE = 2101;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_LOCALITYNAME: CRYPT_ATTRIBUTE_TYPE = 2102;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ORGANIZATIONNAME: CRYPT_ATTRIBUTE_TYPE = 2103;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ORGANISATIONNAME: CRYPT_ATTRIBUTE_TYPE = 2103;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ORGANIZATIONALUNITNAME: CRYPT_ATTRIBUTE_TYPE = 2104;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ORGANISATIONALUNITNAME: CRYPT_ATTRIBUTE_TYPE = 2104;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_COMMONNAME: CRYPT_ATTRIBUTE_TYPE = 2105;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_OTHERNAME_TYPEID: CRYPT_ATTRIBUTE_TYPE = 2106;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_OTHERNAME_VALUE: CRYPT_ATTRIBUTE_TYPE = 2107;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_RFC822NAME: CRYPT_ATTRIBUTE_TYPE = 2108;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EMAIL: CRYPT_ATTRIBUTE_TYPE = 2108;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_DNSNAME: CRYPT_ATTRIBUTE_TYPE = 2109;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_DIRECTORYNAME: CRYPT_ATTRIBUTE_TYPE = 2110;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EDIPARTYNAME_NAMEASSIGNER: CRYPT_ATTRIBUTE_TYPE =
    2111;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EDIPARTYNAME_PARTYNAME: CRYPT_ATTRIBUTE_TYPE = 2112;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_UNIFORMRESOURCEIDENTIFIER: CRYPT_ATTRIBUTE_TYPE =
    2113;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_URL: CRYPT_ATTRIBUTE_TYPE = 2113;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_IPADDRESS: CRYPT_ATTRIBUTE_TYPE = 2114;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REGISTEREDID: CRYPT_ATTRIBUTE_TYPE = 2115;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CHALLENGEPASSWORD: CRYPT_ATTRIBUTE_TYPE = 2200;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CRLEXTREASON: CRYPT_ATTRIBUTE_TYPE = 2201;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_KEYFEATURES: CRYPT_ATTRIBUTE_TYPE = 2202;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITYINFOACCESS: CRYPT_ATTRIBUTE_TYPE = 2203;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITYINFO_RTCS: CRYPT_ATTRIBUTE_TYPE = 2204;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITYINFO_OCSP: CRYPT_ATTRIBUTE_TYPE = 2205;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITYINFO_CAISSUERS: CRYPT_ATTRIBUTE_TYPE = 2206;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITYINFO_CERTSTORE: CRYPT_ATTRIBUTE_TYPE = 2207;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITYINFO_CRLS: CRYPT_ATTRIBUTE_TYPE = 2208;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_BIOMETRICINFO: CRYPT_ATTRIBUTE_TYPE = 2209;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_BIOMETRICINFO_TYPE: CRYPT_ATTRIBUTE_TYPE = 2210;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_BIOMETRICINFO_HASHALGO: CRYPT_ATTRIBUTE_TYPE = 2211;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_BIOMETRICINFO_HASH: CRYPT_ATTRIBUTE_TYPE = 2212;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_BIOMETRICINFO_URL: CRYPT_ATTRIBUTE_TYPE = 2213;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_QCSTATEMENT: CRYPT_ATTRIBUTE_TYPE = 2214;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_QCSTATEMENT_SEMANTICS: CRYPT_ATTRIBUTE_TYPE = 2215;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_QCSTATEMENT_REGISTRATIONAUTHORITY:
    CRYPT_ATTRIBUTE_TYPE = 2216;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_IPADDRESSBLOCKS: CRYPT_ATTRIBUTE_TYPE = 2217;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_IPADDRESSBLOCKS_ADDRESSFAMILY: CRYPT_ATTRIBUTE_TYPE =
    2218;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_IPADDRESSBLOCKS_PREFIX: CRYPT_ATTRIBUTE_TYPE = 2219;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_IPADDRESSBLOCKS_MIN: CRYPT_ATTRIBUTE_TYPE = 2220;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_IPADDRESSBLOCKS_MAX: CRYPT_ATTRIBUTE_TYPE = 2221;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTONOMOUSSYSIDS: CRYPT_ATTRIBUTE_TYPE = 2222;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTONOMOUSSYSIDS_ASNUM_ID: CRYPT_ATTRIBUTE_TYPE =
    2223;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTONOMOUSSYSIDS_ASNUM_MIN: CRYPT_ATTRIBUTE_TYPE =
    2224;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTONOMOUSSYSIDS_ASNUM_MAX: CRYPT_ATTRIBUTE_TYPE =
    2225;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_OCSP_NONCE: CRYPT_ATTRIBUTE_TYPE = 2226;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_OCSP_RESPONSE: CRYPT_ATTRIBUTE_TYPE = 2227;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_OCSP_RESPONSE_OCSP: CRYPT_ATTRIBUTE_TYPE = 2228;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_OCSP_NOCHECK: CRYPT_ATTRIBUTE_TYPE = 2229;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_OCSP_ARCHIVECUTOFF: CRYPT_ATTRIBUTE_TYPE = 2230;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTINFOACCESS: CRYPT_ATTRIBUTE_TYPE = 2231;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTINFO_TIMESTAMPING: CRYPT_ATTRIBUTE_TYPE = 2232;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTINFO_CAREPOSITORY: CRYPT_ATTRIBUTE_TYPE = 2233;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTINFO_SIGNEDOBJECTREPOSITORY:
    CRYPT_ATTRIBUTE_TYPE = 2234;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTINFO_RPKIMANIFEST: CRYPT_ATTRIBUTE_TYPE = 2235;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTINFO_SIGNEDOBJECT: CRYPT_ATTRIBUTE_TYPE = 2236;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_DATEOFCERTGEN: CRYPT_ATTRIBUTE_TYPE = 2237;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_PROCURATION: CRYPT_ATTRIBUTE_TYPE = 2238;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_PROCURE_COUNTRY: CRYPT_ATTRIBUTE_TYPE = 2239;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_PROCURE_TYPEOFSUBSTITUTION:
    CRYPT_ATTRIBUTE_TYPE = 2240;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_PROCURE_SIGNINGFOR: CRYPT_ATTRIBUTE_TYPE = 2241;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADMISSIONS: CRYPT_ATTRIBUTE_TYPE = 2242;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADMISSIONS_AUTHORITY: CRYPT_ATTRIBUTE_TYPE =
    2243;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADMISSIONS_NAMINGAUTHID: CRYPT_ATTRIBUTE_TYPE =
    2244;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADMISSIONS_NAMINGAUTHURL: CRYPT_ATTRIBUTE_TYPE =
    2245;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADMISSIONS_NAMINGAUTHTEXT: CRYPT_ATTRIBUTE_TYPE =
    2246;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADMISSIONS_PROFESSIONITEM: CRYPT_ATTRIBUTE_TYPE =
    2247;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADMISSIONS_PROFESSIONOID: CRYPT_ATTRIBUTE_TYPE =
    2248;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADMISSIONS_REGISTRATIONNUMBER:
    CRYPT_ATTRIBUTE_TYPE = 2249;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_MONETARYLIMIT: CRYPT_ATTRIBUTE_TYPE = 2250;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_MONETARY_CURRENCY: CRYPT_ATTRIBUTE_TYPE = 2251;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_MONETARY_AMOUNT: CRYPT_ATTRIBUTE_TYPE = 2252;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_MONETARY_EXPONENT: CRYPT_ATTRIBUTE_TYPE = 2253;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_DECLARATIONOFMAJORITY: CRYPT_ATTRIBUTE_TYPE =
    2254;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_DECLARATIONOFMAJORITY_COUNTRY:
    CRYPT_ATTRIBUTE_TYPE = 2255;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_RESTRICTION: CRYPT_ATTRIBUTE_TYPE = 2256;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_CERTHASH: CRYPT_ATTRIBUTE_TYPE = 2257;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SIGG_ADDITIONALINFORMATION: CRYPT_ATTRIBUTE_TYPE =
    2258;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_STRONGEXTRANET: CRYPT_ATTRIBUTE_TYPE = 2259;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_STRONGEXTRANET_ZONE: CRYPT_ATTRIBUTE_TYPE = 2260;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_STRONGEXTRANET_ID: CRYPT_ATTRIBUTE_TYPE = 2261;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTDIRECTORYATTRIBUTES: CRYPT_ATTRIBUTE_TYPE =
    2262;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTDIR_TYPE: CRYPT_ATTRIBUTE_TYPE = 2263;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTDIR_VALUES: CRYPT_ATTRIBUTE_TYPE = 2264;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTKEYIDENTIFIER: CRYPT_ATTRIBUTE_TYPE = 2265;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_KEYUSAGE: CRYPT_ATTRIBUTE_TYPE = 2266;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PRIVATEKEYUSAGEPERIOD: CRYPT_ATTRIBUTE_TYPE = 2267;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PRIVATEKEY_NOTBEFORE: CRYPT_ATTRIBUTE_TYPE = 2268;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PRIVATEKEY_NOTAFTER: CRYPT_ATTRIBUTE_TYPE = 2269;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTALTNAME: CRYPT_ATTRIBUTE_TYPE = 2270;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUERALTNAME: CRYPT_ATTRIBUTE_TYPE = 2271;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_BASICCONSTRAINTS: CRYPT_ATTRIBUTE_TYPE = 2272;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CA: CRYPT_ATTRIBUTE_TYPE = 2273;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITY: CRYPT_ATTRIBUTE_TYPE = 2273;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PATHLENCONSTRAINT: CRYPT_ATTRIBUTE_TYPE = 2274;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CRLNUMBER: CRYPT_ATTRIBUTE_TYPE = 2275;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CRLREASON: CRYPT_ATTRIBUTE_TYPE = 2276;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_HOLDINSTRUCTIONCODE: CRYPT_ATTRIBUTE_TYPE = 2277;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_INVALIDITYDATE: CRYPT_ATTRIBUTE_TYPE = 2278;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_DELTACRLINDICATOR: CRYPT_ATTRIBUTE_TYPE = 2279;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUINGDISTRIBUTIONPOINT: CRYPT_ATTRIBUTE_TYPE = 2280;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUINGDIST_FULLNAME: CRYPT_ATTRIBUTE_TYPE = 2281;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUINGDIST_USERCERTSONLY: CRYPT_ATTRIBUTE_TYPE =
    2282;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUINGDIST_CACERTSONLY: CRYPT_ATTRIBUTE_TYPE = 2283;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUINGDIST_SOMEREASONSONLY: CRYPT_ATTRIBUTE_TYPE =
    2284;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUINGDIST_INDIRECTCRL: CRYPT_ATTRIBUTE_TYPE = 2285;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTIFICATEISSUER: CRYPT_ATTRIBUTE_TYPE = 2286;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NAMECONSTRAINTS: CRYPT_ATTRIBUTE_TYPE = 2287;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_PERMITTEDSUBTREES: CRYPT_ATTRIBUTE_TYPE = 2288;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXCLUDEDSUBTREES: CRYPT_ATTRIBUTE_TYPE = 2289;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CRLDISTRIBUTIONPOINT: CRYPT_ATTRIBUTE_TYPE = 2290;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CRLDIST_FULLNAME: CRYPT_ATTRIBUTE_TYPE = 2291;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CRLDIST_REASONS: CRYPT_ATTRIBUTE_TYPE = 2292;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CRLDIST_CRLISSUER: CRYPT_ATTRIBUTE_TYPE = 2293;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTIFICATEPOLICIES: CRYPT_ATTRIBUTE_TYPE = 2294;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTPOLICYID: CRYPT_ATTRIBUTE_TYPE = 2295;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTPOLICY_CPSURI: CRYPT_ATTRIBUTE_TYPE = 2296;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTPOLICY_ORGANIZATION: CRYPT_ATTRIBUTE_TYPE = 2297;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTPOLICY_NOTICENUMBERS: CRYPT_ATTRIBUTE_TYPE = 2298;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CERTPOLICY_EXPLICITTEXT: CRYPT_ATTRIBUTE_TYPE = 2299;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_POLICYMAPPINGS: CRYPT_ATTRIBUTE_TYPE = 2300;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ISSUERDOMAINPOLICY: CRYPT_ATTRIBUTE_TYPE = 2301;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SUBJECTDOMAINPOLICY: CRYPT_ATTRIBUTE_TYPE = 2302;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITYKEYIDENTIFIER: CRYPT_ATTRIBUTE_TYPE = 2303;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITY_KEYIDENTIFIER: CRYPT_ATTRIBUTE_TYPE = 2304;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITY_CERTISSUER: CRYPT_ATTRIBUTE_TYPE = 2305;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AUTHORITY_CERTSERIALNUMBER: CRYPT_ATTRIBUTE_TYPE =
    2306;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_POLICYCONSTRAINTS: CRYPT_ATTRIBUTE_TYPE = 2307;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REQUIREEXPLICITPOLICY: CRYPT_ATTRIBUTE_TYPE = 2308;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_INHIBITPOLICYMAPPING: CRYPT_ATTRIBUTE_TYPE = 2309;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEYUSAGE: CRYPT_ATTRIBUTE_TYPE = 2310;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_MS_INDIVIDUALCODESIGNING:
    CRYPT_ATTRIBUTE_TYPE = 2311;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_MS_COMMERCIALCODESIGNING:
    CRYPT_ATTRIBUTE_TYPE = 2312;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_MS_CERTTRUSTLISTSIGNING: CRYPT_ATTRIBUTE_TYPE =
    2313;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_MS_TIMESTAMPSIGNING: CRYPT_ATTRIBUTE_TYPE =
    2314;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_MS_SERVERGATEDCRYPTO: CRYPT_ATTRIBUTE_TYPE =
    2315;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_MS_ENCRYPTEDFILESYSTEM: CRYPT_ATTRIBUTE_TYPE =
    2316;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_SERVERAUTH: CRYPT_ATTRIBUTE_TYPE = 2317;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_CLIENTAUTH: CRYPT_ATTRIBUTE_TYPE = 2318;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_CODESIGNING: CRYPT_ATTRIBUTE_TYPE = 2319;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_EMAILPROTECTION: CRYPT_ATTRIBUTE_TYPE = 2320;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_IPSECENDSYSTEM: CRYPT_ATTRIBUTE_TYPE = 2321;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_IPSECTUNNEL: CRYPT_ATTRIBUTE_TYPE = 2322;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_IPSECUSER: CRYPT_ATTRIBUTE_TYPE = 2323;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_TIMESTAMPING: CRYPT_ATTRIBUTE_TYPE = 2324;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_OCSPSIGNING: CRYPT_ATTRIBUTE_TYPE = 2325;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_DIRECTORYSERVICE: CRYPT_ATTRIBUTE_TYPE = 2326;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_ANYKEYUSAGE: CRYPT_ATTRIBUTE_TYPE = 2327;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_NS_SERVERGATEDCRYPTO: CRYPT_ATTRIBUTE_TYPE =
    2328;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEY_VS_SERVERGATEDCRYPTO_CA: CRYPT_ATTRIBUTE_TYPE =
    2329;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXTKEYUSAGE_LAST: CRYPT_ATTRIBUTE_TYPE = 2329;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CRLSTREAMIDENTIFIER: CRYPT_ATTRIBUTE_TYPE = 2330;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_FRESHESTCRL: CRYPT_ATTRIBUTE_TYPE = 2331;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_FRESHESTCRL_FULLNAME: CRYPT_ATTRIBUTE_TYPE = 2332;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_FRESHESTCRL_REASONS: CRYPT_ATTRIBUTE_TYPE = 2333;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_FRESHESTCRL_CRLISSUER: CRYPT_ATTRIBUTE_TYPE = 2334;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_ORDEREDLIST: CRYPT_ATTRIBUTE_TYPE = 2335;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_BASEUPDATETIME: CRYPT_ATTRIBUTE_TYPE = 2336;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_DELTAINFO: CRYPT_ATTRIBUTE_TYPE = 2337;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_DELTAINFO_LOCATION: CRYPT_ATTRIBUTE_TYPE = 2338;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_DELTAINFO_NEXTDELTA: CRYPT_ATTRIBUTE_TYPE = 2339;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_INHIBITANYPOLICY: CRYPT_ATTRIBUTE_TYPE = 2340;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_TOBEREVOKED: CRYPT_ATTRIBUTE_TYPE = 2341;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_TOBEREVOKED_CERTISSUER: CRYPT_ATTRIBUTE_TYPE = 2342;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_TOBEREVOKED_REASONCODE: CRYPT_ATTRIBUTE_TYPE = 2343;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_TOBEREVOKED_REVOCATIONTIME: CRYPT_ATTRIBUTE_TYPE =
    2344;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_TOBEREVOKED_CERTSERIALNUMBER: CRYPT_ATTRIBUTE_TYPE =
    2345;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REVOKEDGROUPS: CRYPT_ATTRIBUTE_TYPE = 2346;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REVOKEDGROUPS_CERTISSUER: CRYPT_ATTRIBUTE_TYPE = 2347;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REVOKEDGROUPS_REASONCODE: CRYPT_ATTRIBUTE_TYPE = 2348;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REVOKEDGROUPS_INVALIDITYDATE: CRYPT_ATTRIBUTE_TYPE =
    2349;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REVOKEDGROUPS_STARTINGNUMBER: CRYPT_ATTRIBUTE_TYPE =
    2350;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_REVOKEDGROUPS_ENDINGNUMBER: CRYPT_ATTRIBUTE_TYPE =
    2351;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_EXPIREDCERTSONCRL: CRYPT_ATTRIBUTE_TYPE = 2352;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AAISSUINGDISTRIBUTIONPOINT: CRYPT_ATTRIBUTE_TYPE =
    2353;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AAISSUINGDIST_FULLNAME: CRYPT_ATTRIBUTE_TYPE = 2354;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AAISSUINGDIST_SOMEREASONSONLY: CRYPT_ATTRIBUTE_TYPE =
    2355;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AAISSUINGDIST_INDIRECTCRL: CRYPT_ATTRIBUTE_TYPE =
    2356;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AAISSUINGDIST_USERATTRCERTS: CRYPT_ATTRIBUTE_TYPE =
    2357;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AAISSUINGDIST_AACERTS: CRYPT_ATTRIBUTE_TYPE = 2358;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_AAISSUINGDIST_SOACERTS: CRYPT_ATTRIBUTE_TYPE = 2359;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NS_CERTTYPE: CRYPT_ATTRIBUTE_TYPE = 2360;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NS_BASEURL: CRYPT_ATTRIBUTE_TYPE = 2361;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NS_REVOCATIONURL: CRYPT_ATTRIBUTE_TYPE = 2362;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NS_CAREVOCATIONURL: CRYPT_ATTRIBUTE_TYPE = 2363;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NS_CERTRENEWALURL: CRYPT_ATTRIBUTE_TYPE = 2364;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NS_CAPOLICYURL: CRYPT_ATTRIBUTE_TYPE = 2365;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NS_SSLSERVERNAME: CRYPT_ATTRIBUTE_TYPE = 2366;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_NS_COMMENT: CRYPT_ATTRIBUTE_TYPE = 2367;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_HASHEDROOTKEY: CRYPT_ATTRIBUTE_TYPE = 2368;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_ROOTKEYTHUMBPRINT: CRYPT_ATTRIBUTE_TYPE = 2369;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_CERTIFICATETYPE: CRYPT_ATTRIBUTE_TYPE = 2370;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERCHANTDATA: CRYPT_ATTRIBUTE_TYPE = 2371;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERID: CRYPT_ATTRIBUTE_TYPE = 2372;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERACQUIRERBIN: CRYPT_ATTRIBUTE_TYPE = 2373;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERCHANTLANGUAGE: CRYPT_ATTRIBUTE_TYPE = 2374;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERCHANTNAME: CRYPT_ATTRIBUTE_TYPE = 2375;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERCHANTCITY: CRYPT_ATTRIBUTE_TYPE = 2376;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERCHANTSTATEPROVINCE: CRYPT_ATTRIBUTE_TYPE =
    2377;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERCHANTPOSTALCODE: CRYPT_ATTRIBUTE_TYPE = 2378;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERCHANTCOUNTRYNAME: CRYPT_ATTRIBUTE_TYPE = 2379;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERCOUNTRY: CRYPT_ATTRIBUTE_TYPE = 2380;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_MERAUTHFLAG: CRYPT_ATTRIBUTE_TYPE = 2381;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_CERTCARDREQUIRED: CRYPT_ATTRIBUTE_TYPE = 2382;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_TUNNELING: CRYPT_ATTRIBUTE_TYPE = 2383;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_TUNNELLING: CRYPT_ATTRIBUTE_TYPE = 2383;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_TUNNELINGFLAG: CRYPT_ATTRIBUTE_TYPE = 2384;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_TUNNELLINGFLAG: CRYPT_ATTRIBUTE_TYPE = 2384;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_TUNNELINGALGID: CRYPT_ATTRIBUTE_TYPE = 2385;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SET_TUNNELLINGALGID: CRYPT_ATTRIBUTE_TYPE = 2385;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_CONTENTTYPE: CRYPT_ATTRIBUTE_TYPE = 2500;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_MESSAGEDIGEST: CRYPT_ATTRIBUTE_TYPE = 2501;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNINGTIME: CRYPT_ATTRIBUTE_TYPE = 2502;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_COUNTERSIGNATURE: CRYPT_ATTRIBUTE_TYPE = 2503;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNINGDESCRIPTION: CRYPT_ATTRIBUTE_TYPE = 2504;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAPABILITIES: CRYPT_ATTRIBUTE_TYPE = 2505;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_3DES: CRYPT_ATTRIBUTE_TYPE = 2506;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_AES: CRYPT_ATTRIBUTE_TYPE = 2507;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_CAST128: CRYPT_ATTRIBUTE_TYPE = 2508;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_SHAng: CRYPT_ATTRIBUTE_TYPE = 2509;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_SHA2: CRYPT_ATTRIBUTE_TYPE = 2510;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_SHA1: CRYPT_ATTRIBUTE_TYPE = 2511;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_HMAC_SHAng: CRYPT_ATTRIBUTE_TYPE = 2512;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_HMAC_SHA2: CRYPT_ATTRIBUTE_TYPE = 2513;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_HMAC_SHA1: CRYPT_ATTRIBUTE_TYPE = 2514;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_AUTHENC256: CRYPT_ATTRIBUTE_TYPE = 2515;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_AUTHENC128: CRYPT_ATTRIBUTE_TYPE = 2516;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_RSA_SHAng: CRYPT_ATTRIBUTE_TYPE = 2517;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_RSA_SHA2: CRYPT_ATTRIBUTE_TYPE = 2518;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_RSA_SHA1: CRYPT_ATTRIBUTE_TYPE = 2519;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_DSA_SHA1: CRYPT_ATTRIBUTE_TYPE = 2520;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_ECDSA_SHAng: CRYPT_ATTRIBUTE_TYPE = 2521;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_ECDSA_SHA2: CRYPT_ATTRIBUTE_TYPE = 2522;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_ECDSA_SHA1: CRYPT_ATTRIBUTE_TYPE = 2523;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_PREFERSIGNEDDATA: CRYPT_ATTRIBUTE_TYPE =
    2524;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_CANNOTDECRYPTANY: CRYPT_ATTRIBUTE_TYPE =
    2525;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SMIMECAP_PREFERBINARYINSIDE:
    CRYPT_ATTRIBUTE_TYPE = 2526;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_RECEIPTREQUEST: CRYPT_ATTRIBUTE_TYPE = 2527;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_RECEIPT_CONTENTIDENTIFIER: CRYPT_ATTRIBUTE_TYPE =
    2528;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_RECEIPT_FROM: CRYPT_ATTRIBUTE_TYPE = 2529;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_RECEIPT_TO: CRYPT_ATTRIBUTE_TYPE = 2530;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SECURITYLABEL: CRYPT_ATTRIBUTE_TYPE = 2531;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SECLABEL_POLICY: CRYPT_ATTRIBUTE_TYPE = 2532;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SECLABEL_CLASSIFICATION: CRYPT_ATTRIBUTE_TYPE =
    2533;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SECLABEL_PRIVACYMARK: CRYPT_ATTRIBUTE_TYPE = 2534;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SECLABEL_CATTYPE: CRYPT_ATTRIBUTE_TYPE = 2535;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SECLABEL_CATVALUE: CRYPT_ATTRIBUTE_TYPE = 2536;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_MLEXPANSIONHISTORY: CRYPT_ATTRIBUTE_TYPE = 2537;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_MLEXP_ENTITYIDENTIFIER: CRYPT_ATTRIBUTE_TYPE =
    2538;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_MLEXP_TIME: CRYPT_ATTRIBUTE_TYPE = 2539;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_MLEXP_NONE: CRYPT_ATTRIBUTE_TYPE = 2540;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_MLEXP_INSTEADOF: CRYPT_ATTRIBUTE_TYPE = 2541;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_MLEXP_INADDITIONTO: CRYPT_ATTRIBUTE_TYPE = 2542;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_CONTENTHINTS: CRYPT_ATTRIBUTE_TYPE = 2543;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_CONTENTHINT_DESCRIPTION: CRYPT_ATTRIBUTE_TYPE =
    2544;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_CONTENTHINT_TYPE: CRYPT_ATTRIBUTE_TYPE = 2545;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_EQUIVALENTLABEL: CRYPT_ATTRIBUTE_TYPE = 2546;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_EQVLABEL_POLICY: CRYPT_ATTRIBUTE_TYPE = 2547;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_EQVLABEL_CLASSIFICATION: CRYPT_ATTRIBUTE_TYPE =
    2548;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_EQVLABEL_PRIVACYMARK: CRYPT_ATTRIBUTE_TYPE = 2549;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_EQVLABEL_CATTYPE: CRYPT_ATTRIBUTE_TYPE = 2550;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_EQVLABEL_CATVALUE: CRYPT_ATTRIBUTE_TYPE = 2551;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNINGCERTIFICATE: CRYPT_ATTRIBUTE_TYPE = 2552;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNINGCERT_ESSCERTID: CRYPT_ATTRIBUTE_TYPE =
    2553;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNINGCERT_POLICIES: CRYPT_ATTRIBUTE_TYPE = 2554;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNINGCERTIFICATEV2: CRYPT_ATTRIBUTE_TYPE = 2555;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNINGCERTV2_ESSCERTIDV2: CRYPT_ATTRIBUTE_TYPE =
    2556;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNINGCERTV2_POLICIES: CRYPT_ATTRIBUTE_TYPE =
    2557;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGNATUREPOLICYID: CRYPT_ATTRIBUTE_TYPE = 2558;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGPOLICYID: CRYPT_ATTRIBUTE_TYPE = 2559;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGPOLICYHASH: CRYPT_ATTRIBUTE_TYPE = 2560;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGPOLICY_CPSURI: CRYPT_ATTRIBUTE_TYPE = 2561;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGPOLICY_ORGANIZATION: CRYPT_ATTRIBUTE_TYPE =
    2562;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGPOLICY_NOTICENUMBERS: CRYPT_ATTRIBUTE_TYPE =
    2563;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGPOLICY_EXPLICITTEXT: CRYPT_ATTRIBUTE_TYPE =
    2564;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGTYPEIDENTIFIER: CRYPT_ATTRIBUTE_TYPE = 2565;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGTYPEID_ORIGINATORSIG: CRYPT_ATTRIBUTE_TYPE =
    2566;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGTYPEID_DOMAINSIG: CRYPT_ATTRIBUTE_TYPE = 2567;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGTYPEID_ADDITIONALATTRIBUTES:
    CRYPT_ATTRIBUTE_TYPE = 2568;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SIGTYPEID_REVIEWSIG: CRYPT_ATTRIBUTE_TYPE = 2569;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_NONCE: CRYPT_ATTRIBUTE_TYPE = 2570;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_ALGORITHMPROTECTION: CRYPT_ATTRIBUTE_TYPE = 2571;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_ALGORITHMPROTECTION_HASH: CRYPT_ATTRIBUTE_TYPE =
    2572;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_ALGORITHMPROTECTION_SIG: CRYPT_ATTRIBUTE_TYPE =
    2573;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_ALGORITHMPROTECTION_MAC: CRYPT_ATTRIBUTE_TYPE =
    2574;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SCEP_MESSAGETYPE: CRYPT_ATTRIBUTE_TYPE = 2575;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SCEP_PKISTATUS: CRYPT_ATTRIBUTE_TYPE = 2576;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SCEP_FAILINFO: CRYPT_ATTRIBUTE_TYPE = 2577;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SCEP_SENDERNONCE: CRYPT_ATTRIBUTE_TYPE = 2578;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SCEP_RECIPIENTNONCE: CRYPT_ATTRIBUTE_TYPE = 2579;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_SCEP_TRANSACTIONID: CRYPT_ATTRIBUTE_TYPE = 2580;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SPCAGENCYINFO: CRYPT_ATTRIBUTE_TYPE = 2581;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SPCAGENCYURL: CRYPT_ATTRIBUTE_TYPE = 2582;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SPCSTATEMENTTYPE: CRYPT_ATTRIBUTE_TYPE = 2583;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SPCSTMT_INDIVIDUALCODESIGNING:
    CRYPT_ATTRIBUTE_TYPE = 2584;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SPCSTMT_COMMERCIALCODESIGNING:
    CRYPT_ATTRIBUTE_TYPE = 2585;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SPCOPUSINFO: CRYPT_ATTRIBUTE_TYPE = 2586;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SPCOPUSINFO_NAME: CRYPT_ATTRIBUTE_TYPE = 2587;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_CMS_SPCOPUSINFO_URL: CRYPT_ATTRIBUTE_TYPE = 2588;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_CERTINFO_LAST: CRYPT_ATTRIBUTE_TYPE = 2589;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_KEYINFO_FIRST: CRYPT_ATTRIBUTE_TYPE = 3000;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_KEYINFO_QUERY: CRYPT_ATTRIBUTE_TYPE = 3001;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_KEYINFO_QUERY_REQUESTS: CRYPT_ATTRIBUTE_TYPE = 3002;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_KEYINFO_LAST: CRYPT_ATTRIBUTE_TYPE = 3003;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_FIRST: CRYPT_ATTRIBUTE_TYPE = 4000;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_INITIALISE: CRYPT_ATTRIBUTE_TYPE = 4001;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_INITIALIZE: CRYPT_ATTRIBUTE_TYPE = 4001;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_AUTHENT_USER: CRYPT_ATTRIBUTE_TYPE = 4002;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_AUTHENT_SUPERVISOR: CRYPT_ATTRIBUTE_TYPE = 4003;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_SET_AUTHENT_USER: CRYPT_ATTRIBUTE_TYPE = 4004;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_SET_AUTHENT_SUPERVISOR: CRYPT_ATTRIBUTE_TYPE = 4005;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_ZEROISE: CRYPT_ATTRIBUTE_TYPE = 4006;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_ZEROIZE: CRYPT_ATTRIBUTE_TYPE = 4006;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_LOGGEDIN: CRYPT_ATTRIBUTE_TYPE = 4007;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_LABEL: CRYPT_ATTRIBUTE_TYPE = 4008;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_DEVINFO_LAST: CRYPT_ATTRIBUTE_TYPE = 4009;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_FIRST: CRYPT_ATTRIBUTE_TYPE = 5000;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_DATASIZE: CRYPT_ATTRIBUTE_TYPE = 5001;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_COMPRESSION: CRYPT_ATTRIBUTE_TYPE = 5002;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_CONTENTTYPE: CRYPT_ATTRIBUTE_TYPE = 5003;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_DETACHEDSIGNATURE: CRYPT_ATTRIBUTE_TYPE = 5004;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_SIGNATURE_RESULT: CRYPT_ATTRIBUTE_TYPE = 5005;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_INTEGRITY: CRYPT_ATTRIBUTE_TYPE = 5006;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_PASSWORD: CRYPT_ATTRIBUTE_TYPE = 5007;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_KEY: CRYPT_ATTRIBUTE_TYPE = 5008;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_SIGNATURE: CRYPT_ATTRIBUTE_TYPE = 5009;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_SIGNATURE_EXTRADATA: CRYPT_ATTRIBUTE_TYPE = 5010;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_RECIPIENT: CRYPT_ATTRIBUTE_TYPE = 5011;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_PUBLICKEY: CRYPT_ATTRIBUTE_TYPE = 5012;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_PRIVATEKEY: CRYPT_ATTRIBUTE_TYPE = 5013;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_PRIVATEKEY_LABEL: CRYPT_ATTRIBUTE_TYPE = 5014;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_ORIGINATOR: CRYPT_ATTRIBUTE_TYPE = 5015;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_SESSIONKEY: CRYPT_ATTRIBUTE_TYPE = 5016;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_HASH: CRYPT_ATTRIBUTE_TYPE = 5017;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_TIMESTAMP: CRYPT_ATTRIBUTE_TYPE = 5018;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_KEYSET_SIGCHECK: CRYPT_ATTRIBUTE_TYPE = 5019;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_KEYSET_ENCRYPT: CRYPT_ATTRIBUTE_TYPE = 5020;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_KEYSET_DECRYPT: CRYPT_ATTRIBUTE_TYPE = 5021;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ENVINFO_LAST: CRYPT_ATTRIBUTE_TYPE = 5022;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_FIRST: CRYPT_ATTRIBUTE_TYPE = 6000;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_ACTIVE: CRYPT_ATTRIBUTE_TYPE = 6001;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_CONNECTIONACTIVE: CRYPT_ATTRIBUTE_TYPE = 6002;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_USERNAME: CRYPT_ATTRIBUTE_TYPE = 6003;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_PASSWORD: CRYPT_ATTRIBUTE_TYPE = 6004;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_AUTHTOKEN: CRYPT_ATTRIBUTE_TYPE = 6005;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_PRIVATEKEY: CRYPT_ATTRIBUTE_TYPE = 6006;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_KEYSET: CRYPT_ATTRIBUTE_TYPE = 6007;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_AUTHRESPONSE: CRYPT_ATTRIBUTE_TYPE = 6008;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SERVER_NAME: CRYPT_ATTRIBUTE_TYPE = 6009;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SERVER_PORT: CRYPT_ATTRIBUTE_TYPE = 6010;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SERVER_FINGERPRINT_SHA2: CRYPT_ATTRIBUTE_TYPE = 6011;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_CLIENT_NAME: CRYPT_ATTRIBUTE_TYPE = 6012;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_CLIENT_PORT: CRYPT_ATTRIBUTE_TYPE = 6013;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SESSION: CRYPT_ATTRIBUTE_TYPE = 6014;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_NETWORKSOCKET: CRYPT_ATTRIBUTE_TYPE = 6015;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_VERSION: CRYPT_ATTRIBUTE_TYPE = 6016;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_REQUEST: CRYPT_ATTRIBUTE_TYPE = 6017;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_RESPONSE: CRYPT_ATTRIBUTE_TYPE = 6018;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_CACERTIFICATE: CRYPT_ATTRIBUTE_TYPE = 6019;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_CMP_REQUESTTYPE: CRYPT_ATTRIBUTE_TYPE = 6020;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_CMP_PRIVKEYSET: CRYPT_ATTRIBUTE_TYPE = 6021;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_CMP_OPTIONS: CRYPT_ATTRIBUTE_TYPE = 6022;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SSH_CHANNEL: CRYPT_ATTRIBUTE_TYPE = 6023;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SSH_CHANNEL_TYPE: CRYPT_ATTRIBUTE_TYPE = 6024;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SSH_CHANNEL_ARG1: CRYPT_ATTRIBUTE_TYPE = 6025;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SSH_CHANNEL_ARG2: CRYPT_ATTRIBUTE_TYPE = 6026;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SSH_CHANNEL_ACTIVE: CRYPT_ATTRIBUTE_TYPE = 6027;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SSH_PREAUTH: CRYPT_ATTRIBUTE_TYPE = 6028;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_TLS_OPTIONS: CRYPT_ATTRIBUTE_TYPE = 6029;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_SSL_OPTIONS: CRYPT_ATTRIBUTE_TYPE = 6029;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_TLS_SUBPROTOCOL: CRYPT_ATTRIBUTE_TYPE = 6030;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_TLS_WSPROTOCOL: CRYPT_ATTRIBUTE_TYPE = 6031;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_TLS_EAPCHALLENGE: CRYPT_ATTRIBUTE_TYPE = 6032;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_TLS_EAPKEY: CRYPT_ATTRIBUTE_TYPE = 6033;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_TLS_EAPDATA: CRYPT_ATTRIBUTE_TYPE = 6034;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_TSP_MSGIMPRINT: CRYPT_ATTRIBUTE_TYPE = 6035;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_SESSINFO_LAST: CRYPT_ATTRIBUTE_TYPE = 6036;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_USERINFO_FIRST: CRYPT_ATTRIBUTE_TYPE = 7000;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_USERINFO_PASSWORD: CRYPT_ATTRIBUTE_TYPE = 7001;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_USERINFO_CAKEY_CERTSIGN: CRYPT_ATTRIBUTE_TYPE = 7002;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_USERINFO_CAKEY_CRLSIGN: CRYPT_ATTRIBUTE_TYPE = 7003;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_USERINFO_CAKEY_RTCSSIGN: CRYPT_ATTRIBUTE_TYPE = 7004;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_USERINFO_CAKEY_OCSPSIGN: CRYPT_ATTRIBUTE_TYPE = 7005;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_USERINFO_LAST: CRYPT_ATTRIBUTE_TYPE = 7006;
pub const CRYPT_ATTRIBUTE_TYPE_CRYPT_ATTRIBUTE_LAST: CRYPT_ATTRIBUTE_TYPE = 7006;
#[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\tAttribute Types\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
pub type CRYPT_ATTRIBUTE_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_CRLREASON_UNSPECIFIED: _bindgen_ty_1 = 0;
pub const CRYPT_CRLREASON_KEYCOMPROMISE: _bindgen_ty_1 = 1;
pub const CRYPT_CRLREASON_CACOMPROMISE: _bindgen_ty_1 = 2;
pub const CRYPT_CRLREASON_AFFILIATIONCHANGED: _bindgen_ty_1 = 3;
pub const CRYPT_CRLREASON_SUPERSEDED: _bindgen_ty_1 = 4;
pub const CRYPT_CRLREASON_CESSATIONOFOPERATION: _bindgen_ty_1 = 5;
pub const CRYPT_CRLREASON_CERTIFICATEHOLD: _bindgen_ty_1 = 6;
pub const CRYPT_CRLREASON_REMOVEFROMCRL: _bindgen_ty_1 = 8;
pub const CRYPT_CRLREASON_PRIVILEGEWITHDRAWN: _bindgen_ty_1 = 9;
pub const CRYPT_CRLREASON_AACOMPROMISE: _bindgen_ty_1 = 10;
pub const CRYPT_CRLREASON_LAST: _bindgen_ty_1 = 11;
pub const CRYPT_CRLREASON_NEVERVALID: _bindgen_ty_1 = 20;
pub const CRYPT_CRLEXTREASON_LAST: _bindgen_ty_1 = 21;
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
pub const CRYPT_HOLDINSTRUCTION_NONE: _bindgen_ty_2 = 0;
pub const CRYPT_HOLDINSTRUCTION_CALLISSUER: _bindgen_ty_2 = 1;
pub const CRYPT_HOLDINSTRUCTION_REJECT: _bindgen_ty_2 = 2;
pub const CRYPT_HOLDINSTRUCTION_PICKUPTOKEN: _bindgen_ty_2 = 3;
pub const CRYPT_HOLDINSTRUCTION_LAST: _bindgen_ty_2 = 4;
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
pub const CRYPT_COMPLIANCELEVEL_TYPE_CRYPT_COMPLIANCELEVEL_OBLIVIOUS: CRYPT_COMPLIANCELEVEL_TYPE =
    0;
pub const CRYPT_COMPLIANCELEVEL_TYPE_CRYPT_COMPLIANCELEVEL_REDUCED: CRYPT_COMPLIANCELEVEL_TYPE = 1;
pub const CRYPT_COMPLIANCELEVEL_TYPE_CRYPT_COMPLIANCELEVEL_STANDARD: CRYPT_COMPLIANCELEVEL_TYPE = 2;
pub const CRYPT_COMPLIANCELEVEL_TYPE_CRYPT_COMPLIANCELEVEL_PKIX_PARTIAL:
    CRYPT_COMPLIANCELEVEL_TYPE = 3;
pub const CRYPT_COMPLIANCELEVEL_TYPE_CRYPT_COMPLIANCELEVEL_PKIX_FULL: CRYPT_COMPLIANCELEVEL_TYPE =
    4;
pub const CRYPT_COMPLIANCELEVEL_TYPE_CRYPT_COMPLIANCELEVEL_LAST: CRYPT_COMPLIANCELEVEL_TYPE = 5;
pub type CRYPT_COMPLIANCELEVEL_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_NONE: CRYPT_CONTENT_TYPE = 0;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_DATA: CRYPT_CONTENT_TYPE = 1;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_SIGNEDDATA: CRYPT_CONTENT_TYPE = 2;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_ENVELOPEDDATA: CRYPT_CONTENT_TYPE = 3;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_SIGNEDANDENVELOPEDDATA: CRYPT_CONTENT_TYPE = 4;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_DIGESTEDDATA: CRYPT_CONTENT_TYPE = 5;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_ENCRYPTEDDATA: CRYPT_CONTENT_TYPE = 6;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_COMPRESSEDDATA: CRYPT_CONTENT_TYPE = 7;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_AUTHDATA: CRYPT_CONTENT_TYPE = 8;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_AUTHENVDATA: CRYPT_CONTENT_TYPE = 9;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_TSTINFO: CRYPT_CONTENT_TYPE = 10;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_SPCINDIRECTDATACONTEXT: CRYPT_CONTENT_TYPE = 11;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_RTCSREQUEST: CRYPT_CONTENT_TYPE = 12;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_RTCSRESPONSE: CRYPT_CONTENT_TYPE = 13;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_RTCSRESPONSE_EXT: CRYPT_CONTENT_TYPE = 14;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_SCVPCERTVALREQUEST: CRYPT_CONTENT_TYPE = 15;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_SCVPCERTVALRESPONSE: CRYPT_CONTENT_TYPE = 16;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_SCVPVALPOLREQUEST: CRYPT_CONTENT_TYPE = 17;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_SCVPVALPOLRESPONSE: CRYPT_CONTENT_TYPE = 18;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_MRTD: CRYPT_CONTENT_TYPE = 19;
pub const CRYPT_CONTENT_TYPE_CRYPT_CONTENT_LAST: CRYPT_CONTENT_TYPE = 20;
pub type CRYPT_CONTENT_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_CLASSIFICATION_UNMARKED: _bindgen_ty_3 = 0;
pub const CRYPT_CLASSIFICATION_UNCLASSIFIED: _bindgen_ty_3 = 1;
pub const CRYPT_CLASSIFICATION_RESTRICTED: _bindgen_ty_3 = 2;
pub const CRYPT_CLASSIFICATION_CONFIDENTIAL: _bindgen_ty_3 = 3;
pub const CRYPT_CLASSIFICATION_SECRET: _bindgen_ty_3 = 4;
pub const CRYPT_CLASSIFICATION_TOP_SECRET: _bindgen_ty_3 = 5;
pub const CRYPT_CLASSIFICATION_LAST: _bindgen_ty_3 = 255;
pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
pub const CRYPT_CERTSTATUS_TYPE_CRYPT_CERTSTATUS_NONE: CRYPT_CERTSTATUS_TYPE = 0;
pub const CRYPT_CERTSTATUS_TYPE_CRYPT_CERTSTATUS_VALID: CRYPT_CERTSTATUS_TYPE = 1;
pub const CRYPT_CERTSTATUS_TYPE_CRYPT_CERTSTATUS_NOTVALID: CRYPT_CERTSTATUS_TYPE = 2;
pub const CRYPT_CERTSTATUS_TYPE_CRYPT_CERTSTATUS_NONAUTHORITATIVE: CRYPT_CERTSTATUS_TYPE = 3;
pub const CRYPT_CERTSTATUS_TYPE_CRYPT_CERTSTATUS_UNKNOWN: CRYPT_CERTSTATUS_TYPE = 4;
pub const CRYPT_CERTSTATUS_TYPE_CRYPT_CERTSTATUS_LAST: CRYPT_CERTSTATUS_TYPE = 5;
pub type CRYPT_CERTSTATUS_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_OCSPSTATUS_NOTREVOKED: _bindgen_ty_4 = 0;
pub const CRYPT_OCSPSTATUS_REVOKED: _bindgen_ty_4 = 1;
pub const CRYPT_OCSPSTATUS_UNKNOWN: _bindgen_ty_4 = 2;
pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
pub const CRYPT_SIGNATURELEVEL_TYPE_CRYPT_SIGNATURELEVEL_NONE: CRYPT_SIGNATURELEVEL_TYPE = 0;
pub const CRYPT_SIGNATURELEVEL_TYPE_CRYPT_SIGNATURELEVEL_SIGNERCERT: CRYPT_SIGNATURELEVEL_TYPE = 1;
pub const CRYPT_SIGNATURELEVEL_TYPE_CRYPT_SIGNATURELEVEL_ALL: CRYPT_SIGNATURELEVEL_TYPE = 2;
pub const CRYPT_SIGNATURELEVEL_TYPE_CRYPT_SIGNATURELEVEL_LAST: CRYPT_SIGNATURELEVEL_TYPE = 3;
pub type CRYPT_SIGNATURELEVEL_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_INTEGRITY_TYPE_CRYPT_INTEGRITY_NONE: CRYPT_INTEGRITY_TYPE = 0;
pub const CRYPT_INTEGRITY_TYPE_CRYPT_INTEGRITY_MACONLY: CRYPT_INTEGRITY_TYPE = 1;
pub const CRYPT_INTEGRITY_TYPE_CRYPT_INTEGRITY_FULL: CRYPT_INTEGRITY_TYPE = 2;
pub type CRYPT_INTEGRITY_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_CERTFORMAT_TYPE_CRYPT_CERTFORMAT_NONE: CRYPT_CERTFORMAT_TYPE = 0;
pub const CRYPT_CERTFORMAT_TYPE_CRYPT_CERTFORMAT_CERTIFICATE: CRYPT_CERTFORMAT_TYPE = 1;
pub const CRYPT_CERTFORMAT_TYPE_CRYPT_CERTFORMAT_CERTCHAIN: CRYPT_CERTFORMAT_TYPE = 2;
pub const CRYPT_CERTFORMAT_TYPE_CRYPT_CERTFORMAT_TEXT_CERTIFICATE: CRYPT_CERTFORMAT_TYPE = 3;
pub const CRYPT_CERTFORMAT_TYPE_CRYPT_CERTFORMAT_TEXT_CERTCHAIN: CRYPT_CERTFORMAT_TYPE = 4;
pub const CRYPT_CERTFORMAT_TYPE_CRYPT_CERTFORMAT_XML_CERTIFICATE: CRYPT_CERTFORMAT_TYPE = 5;
pub const CRYPT_CERTFORMAT_TYPE_CRYPT_CERTFORMAT_XML_CERTCHAIN: CRYPT_CERTFORMAT_TYPE = 6;
pub const CRYPT_CERTFORMAT_TYPE_CRYPT_CERTFORMAT_LAST: CRYPT_CERTFORMAT_TYPE = 7;
pub type CRYPT_CERTFORMAT_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_REQUESTTYPE_TYPE_CRYPT_REQUESTTYPE_NONE: CRYPT_REQUESTTYPE_TYPE = 0;
pub const CRYPT_REQUESTTYPE_TYPE_CRYPT_REQUESTTYPE_INITIALISATION: CRYPT_REQUESTTYPE_TYPE = 1;
pub const CRYPT_REQUESTTYPE_TYPE_CRYPT_REQUESTTYPE_INITIALIZATION: CRYPT_REQUESTTYPE_TYPE = 1;
pub const CRYPT_REQUESTTYPE_TYPE_CRYPT_REQUESTTYPE_CERTIFICATE: CRYPT_REQUESTTYPE_TYPE = 2;
pub const CRYPT_REQUESTTYPE_TYPE_CRYPT_REQUESTTYPE_KEYUPDATE: CRYPT_REQUESTTYPE_TYPE = 3;
pub const CRYPT_REQUESTTYPE_TYPE_CRYPT_REQUESTTYPE_REVOCATION: CRYPT_REQUESTTYPE_TYPE = 4;
pub const CRYPT_REQUESTTYPE_TYPE_CRYPT_REQUESTTYPE_PKIBOOT: CRYPT_REQUESTTYPE_TYPE = 5;
pub const CRYPT_REQUESTTYPE_TYPE_CRYPT_REQUESTTYPE_LAST: CRYPT_REQUESTTYPE_TYPE = 6;
pub type CRYPT_REQUESTTYPE_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_KEYID_TYPE_CRYPT_KEYID_NONE: CRYPT_KEYID_TYPE = 0;
pub const CRYPT_KEYID_TYPE_CRYPT_KEYID_NAME: CRYPT_KEYID_TYPE = 1;
pub const CRYPT_KEYID_TYPE_CRYPT_KEYID_URI: CRYPT_KEYID_TYPE = 2;
pub const CRYPT_KEYID_TYPE_CRYPT_KEYID_EMAIL: CRYPT_KEYID_TYPE = 2;
pub const CRYPT_KEYID_TYPE_CRYPT_KEYID_LAST: CRYPT_KEYID_TYPE = 3;
pub type CRYPT_KEYID_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_OBJECT_TYPE_CRYPT_OBJECT_NONE: CRYPT_OBJECT_TYPE = 0;
pub const CRYPT_OBJECT_TYPE_CRYPT_OBJECT_ENCRYPTED_KEY: CRYPT_OBJECT_TYPE = 1;
pub const CRYPT_OBJECT_TYPE_CRYPT_OBJECT_PKCENCRYPTED_KEY: CRYPT_OBJECT_TYPE = 2;
pub const CRYPT_OBJECT_TYPE_CRYPT_OBJECT_KEYAGREEMENT: CRYPT_OBJECT_TYPE = 3;
pub const CRYPT_OBJECT_TYPE_CRYPT_OBJECT_SIGNATURE: CRYPT_OBJECT_TYPE = 4;
pub const CRYPT_OBJECT_TYPE_CRYPT_OBJECT_LAST: CRYPT_OBJECT_TYPE = 5;
pub type CRYPT_OBJECT_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_ERRTYPE_TYPE_CRYPT_ERRTYPE_NONE: CRYPT_ERRTYPE_TYPE = 0;
pub const CRYPT_ERRTYPE_TYPE_CRYPT_ERRTYPE_ATTR_SIZE: CRYPT_ERRTYPE_TYPE = 1;
pub const CRYPT_ERRTYPE_TYPE_CRYPT_ERRTYPE_ATTR_VALUE: CRYPT_ERRTYPE_TYPE = 2;
pub const CRYPT_ERRTYPE_TYPE_CRYPT_ERRTYPE_ATTR_ABSENT: CRYPT_ERRTYPE_TYPE = 3;
pub const CRYPT_ERRTYPE_TYPE_CRYPT_ERRTYPE_ATTR_PRESENT: CRYPT_ERRTYPE_TYPE = 4;
pub const CRYPT_ERRTYPE_TYPE_CRYPT_ERRTYPE_CONSTRAINT: CRYPT_ERRTYPE_TYPE = 5;
pub const CRYPT_ERRTYPE_TYPE_CRYPT_ERRTYPE_ISSUERCONSTRAINT: CRYPT_ERRTYPE_TYPE = 6;
pub const CRYPT_ERRTYPE_TYPE_CRYPT_ERRTYPE_LAST: CRYPT_ERRTYPE_TYPE = 7;
pub type CRYPT_ERRTYPE_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_NONE: CRYPT_CERTACTION_TYPE = 0;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_CREATE: CRYPT_CERTACTION_TYPE = 1;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_CONNECT: CRYPT_CERTACTION_TYPE = 2;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_DISCONNECT: CRYPT_CERTACTION_TYPE = 3;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_ERROR: CRYPT_CERTACTION_TYPE = 4;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_ADDUSER: CRYPT_CERTACTION_TYPE = 5;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_DELETEUSER: CRYPT_CERTACTION_TYPE = 6;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_REQUEST_CERT: CRYPT_CERTACTION_TYPE = 7;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_REQUEST_RENEWAL: CRYPT_CERTACTION_TYPE = 8;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_REQUEST_REVOCATION: CRYPT_CERTACTION_TYPE = 9;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_CERT_CREATION: CRYPT_CERTACTION_TYPE = 10;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_CERT_CREATION_COMPLETE: CRYPT_CERTACTION_TYPE = 11;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_CERT_CREATION_DROP: CRYPT_CERTACTION_TYPE = 12;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_CERT_CREATION_REVERSE: CRYPT_CERTACTION_TYPE = 13;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_RESTART_CLEANUP: CRYPT_CERTACTION_TYPE = 14;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_RESTART_REVOKE_CERT: CRYPT_CERTACTION_TYPE = 15;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_ISSUE_CERT: CRYPT_CERTACTION_TYPE = 16;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_ISSUE_CRL: CRYPT_CERTACTION_TYPE = 17;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_REVOKE_CERT: CRYPT_CERTACTION_TYPE = 18;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_EXPIRE_CERT: CRYPT_CERTACTION_TYPE = 19;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_CLEANUP: CRYPT_CERTACTION_TYPE = 20;
pub const CRYPT_CERTACTION_TYPE_CRYPT_CERTACTION_LAST: CRYPT_CERTACTION_TYPE = 21;
pub type CRYPT_CERTACTION_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_SUBPROTOCOL_TYPE_CRYPT_SUBPROTOCOL_NONE: CRYPT_SUBPROTOCOL_TYPE = 0;
pub const CRYPT_SUBPROTOCOL_TYPE_CRYPT_SUBPROTOCOL_WEBSOCKETS: CRYPT_SUBPROTOCOL_TYPE = 1;
pub const CRYPT_SUBPROTOCOL_TYPE_CRYPT_SUBPROTOCOL_EAPTTLS: CRYPT_SUBPROTOCOL_TYPE = 2;
pub const CRYPT_SUBPROTOCOL_TYPE_CRYPT_SUBPROTOCOL_PEAP: CRYPT_SUBPROTOCOL_TYPE = 3;
pub const CRYPT_SUBPROTOCOL_TYPE_CRYPT_SUBPROTOCOL_LAST: CRYPT_SUBPROTOCOL_TYPE = 4;
pub type CRYPT_SUBPROTOCOL_TYPE = ::std::os::raw::c_uint;
pub const CRYPT_KEYOPT_TYPE_CRYPT_KEYOPT_NONE: CRYPT_KEYOPT_TYPE = 0;
pub const CRYPT_KEYOPT_TYPE_CRYPT_KEYOPT_READONLY: CRYPT_KEYOPT_TYPE = 1;
pub const CRYPT_KEYOPT_TYPE_CRYPT_KEYOPT_CREATE: CRYPT_KEYOPT_TYPE = 2;
pub const CRYPT_KEYOPT_TYPE_CRYPT_KEYOPT_LAST: CRYPT_KEYOPT_TYPE = 3;
pub type CRYPT_KEYOPT_TYPE = ::std::os::raw::c_uint;
pub type CRYPT_CERTIFICATE = ::std::os::raw::c_int;
pub type CRYPT_CONTEXT = ::std::os::raw::c_int;
pub type CRYPT_DEVICE = ::std::os::raw::c_int;
pub type CRYPT_ENVELOPE = ::std::os::raw::c_int;
pub type CRYPT_KEYSET = ::std::os::raw::c_int;
pub type CRYPT_SESSION = ::std::os::raw::c_int;
pub type CRYPT_USER = ::std::os::raw::c_int;
pub type CRYPT_HANDLE = ::std::os::raw::c_int;
#[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\tEncryption Data Structures\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CRYPT_QUERY_INFO {
    pub algoName: [::std::os::raw::c_char; 64usize],
    pub blockSize: ::std::os::raw::c_int,
    pub minKeySize: ::std::os::raw::c_int,
    pub keySize: ::std::os::raw::c_int,
    pub maxKeySize: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of CRYPT_QUERY_INFO"][::std::mem::size_of::<CRYPT_QUERY_INFO>() - 80usize];
    ["Alignment of CRYPT_QUERY_INFO"][::std::mem::align_of::<CRYPT_QUERY_INFO>() - 4usize];
    ["Offset of field: CRYPT_QUERY_INFO::algoName"]
        [::std::mem::offset_of!(CRYPT_QUERY_INFO, algoName) - 0usize];
    ["Offset of field: CRYPT_QUERY_INFO::blockSize"]
        [::std::mem::offset_of!(CRYPT_QUERY_INFO, blockSize) - 64usize];
    ["Offset of field: CRYPT_QUERY_INFO::minKeySize"]
        [::std::mem::offset_of!(CRYPT_QUERY_INFO, minKeySize) - 68usize];
    ["Offset of field: CRYPT_QUERY_INFO::keySize"]
        [::std::mem::offset_of!(CRYPT_QUERY_INFO, keySize) - 72usize];
    ["Offset of field: CRYPT_QUERY_INFO::maxKeySize"]
        [::std::mem::offset_of!(CRYPT_QUERY_INFO, maxKeySize) - 76usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CRYPT_OBJECT_INFO {
    pub objectType: CRYPT_OBJECT_TYPE,
    pub cryptAlgo: CRYPT_ALGO_TYPE,
    pub cryptMode: CRYPT_MODE_TYPE,
    pub hashAlgo: CRYPT_ALGO_TYPE,
    pub salt: [::std::os::raw::c_uchar; 64usize],
    pub saltSize: ::std::os::raw::c_int,
    pub iterations: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of CRYPT_OBJECT_INFO"][::std::mem::size_of::<CRYPT_OBJECT_INFO>() - 88usize];
    ["Alignment of CRYPT_OBJECT_INFO"][::std::mem::align_of::<CRYPT_OBJECT_INFO>() - 4usize];
    ["Offset of field: CRYPT_OBJECT_INFO::objectType"]
        [::std::mem::offset_of!(CRYPT_OBJECT_INFO, objectType) - 0usize];
    ["Offset of field: CRYPT_OBJECT_INFO::cryptAlgo"]
        [::std::mem::offset_of!(CRYPT_OBJECT_INFO, cryptAlgo) - 4usize];
    ["Offset of field: CRYPT_OBJECT_INFO::cryptMode"]
        [::std::mem::offset_of!(CRYPT_OBJECT_INFO, cryptMode) - 8usize];
    ["Offset of field: CRYPT_OBJECT_INFO::hashAlgo"]
        [::std::mem::offset_of!(CRYPT_OBJECT_INFO, hashAlgo) - 12usize];
    ["Offset of field: CRYPT_OBJECT_INFO::salt"]
        [::std::mem::offset_of!(CRYPT_OBJECT_INFO, salt) - 16usize];
    ["Offset of field: CRYPT_OBJECT_INFO::saltSize"]
        [::std::mem::offset_of!(CRYPT_OBJECT_INFO, saltSize) - 80usize];
    ["Offset of field: CRYPT_OBJECT_INFO::iterations"]
        [::std::mem::offset_of!(CRYPT_OBJECT_INFO, iterations) - 84usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CRYPT_PKCINFO_RSA {
    pub isPublicKey: ::std::os::raw::c_int,
    pub n: [::std::os::raw::c_uchar; 512usize],
    pub nLen: ::std::os::raw::c_int,
    pub e: [::std::os::raw::c_uchar; 512usize],
    pub eLen: ::std::os::raw::c_int,
    pub d: [::std::os::raw::c_uchar; 512usize],
    pub dLen: ::std::os::raw::c_int,
    pub p: [::std::os::raw::c_uchar; 512usize],
    pub pLen: ::std::os::raw::c_int,
    pub q: [::std::os::raw::c_uchar; 512usize],
    pub qLen: ::std::os::raw::c_int,
    pub u: [::std::os::raw::c_uchar; 512usize],
    pub uLen: ::std::os::raw::c_int,
    pub e1: [::std::os::raw::c_uchar; 512usize],
    pub e1Len: ::std::os::raw::c_int,
    pub e2: [::std::os::raw::c_uchar; 512usize],
    pub e2Len: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of CRYPT_PKCINFO_RSA"][::std::mem::size_of::<CRYPT_PKCINFO_RSA>() - 4132usize];
    ["Alignment of CRYPT_PKCINFO_RSA"][::std::mem::align_of::<CRYPT_PKCINFO_RSA>() - 4usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::isPublicKey"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, isPublicKey) - 0usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::n"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, n) - 4usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::nLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, nLen) - 516usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::e"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, e) - 520usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::eLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, eLen) - 1032usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::d"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, d) - 1036usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::dLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, dLen) - 1548usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::p"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, p) - 1552usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::pLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, pLen) - 2064usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::q"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, q) - 2068usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::qLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, qLen) - 2580usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::u"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, u) - 2584usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::uLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, uLen) - 3096usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::e1"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, e1) - 3100usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::e1Len"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, e1Len) - 3612usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::e2"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, e2) - 3616usize];
    ["Offset of field: CRYPT_PKCINFO_RSA::e2Len"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_RSA, e2Len) - 4128usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CRYPT_PKCINFO_DLP {
    pub isPublicKey: ::std::os::raw::c_int,
    pub p: [::std::os::raw::c_uchar; 512usize],
    pub pLen: ::std::os::raw::c_int,
    pub q: [::std::os::raw::c_uchar; 512usize],
    pub qLen: ::std::os::raw::c_int,
    pub g: [::std::os::raw::c_uchar; 512usize],
    pub gLen: ::std::os::raw::c_int,
    pub y: [::std::os::raw::c_uchar; 512usize],
    pub yLen: ::std::os::raw::c_int,
    pub x: [::std::os::raw::c_uchar; 512usize],
    pub xLen: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of CRYPT_PKCINFO_DLP"][::std::mem::size_of::<CRYPT_PKCINFO_DLP>() - 2584usize];
    ["Alignment of CRYPT_PKCINFO_DLP"][::std::mem::align_of::<CRYPT_PKCINFO_DLP>() - 4usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::isPublicKey"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, isPublicKey) - 0usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::p"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, p) - 4usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::pLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, pLen) - 516usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::q"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, q) - 520usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::qLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, qLen) - 1032usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::g"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, g) - 1036usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::gLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, gLen) - 1548usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::y"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, y) - 1552usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::yLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, yLen) - 2064usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::x"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, x) - 2068usize];
    ["Offset of field: CRYPT_PKCINFO_DLP::xLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DLP, xLen) - 2580usize];
};
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_NONE: CRYPT_ECCCURVE_TYPE = 0;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_P256: CRYPT_ECCCURVE_TYPE = 1;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_P384: CRYPT_ECCCURVE_TYPE = 2;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_P521: CRYPT_ECCCURVE_TYPE = 3;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_BRAINPOOL_P256: CRYPT_ECCCURVE_TYPE = 4;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_BRAINPOOL_P384: CRYPT_ECCCURVE_TYPE = 5;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_BRAINPOOL_P512: CRYPT_ECCCURVE_TYPE = 6;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_25519: CRYPT_ECCCURVE_TYPE = 7;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_448: CRYPT_ECCCURVE_TYPE = 8;
pub const CRYPT_ECCCURVE_TYPE_CRYPT_ECCCURVE_LAST: CRYPT_ECCCURVE_TYPE = 9;
pub type CRYPT_ECCCURVE_TYPE = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CRYPT_PKCINFO_ECC {
    pub isPublicKey: ::std::os::raw::c_int,
    pub curveType: CRYPT_ECCCURVE_TYPE,
    pub p: [::std::os::raw::c_uchar; 72usize],
    pub pLen: ::std::os::raw::c_int,
    pub a: [::std::os::raw::c_uchar; 72usize],
    pub aLen: ::std::os::raw::c_int,
    pub b: [::std::os::raw::c_uchar; 72usize],
    pub bLen: ::std::os::raw::c_int,
    pub gx: [::std::os::raw::c_uchar; 72usize],
    pub gxLen: ::std::os::raw::c_int,
    pub gy: [::std::os::raw::c_uchar; 72usize],
    pub gyLen: ::std::os::raw::c_int,
    pub n: [::std::os::raw::c_uchar; 72usize],
    pub nLen: ::std::os::raw::c_int,
    pub h: [::std::os::raw::c_uchar; 72usize],
    pub hLen: ::std::os::raw::c_int,
    pub qx: [::std::os::raw::c_uchar; 72usize],
    pub qxLen: ::std::os::raw::c_int,
    pub qy: [::std::os::raw::c_uchar; 72usize],
    pub qyLen: ::std::os::raw::c_int,
    pub d: [::std::os::raw::c_uchar; 72usize],
    pub dLen: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of CRYPT_PKCINFO_ECC"][::std::mem::size_of::<CRYPT_PKCINFO_ECC>() - 768usize];
    ["Alignment of CRYPT_PKCINFO_ECC"][::std::mem::align_of::<CRYPT_PKCINFO_ECC>() - 4usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::isPublicKey"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, isPublicKey) - 0usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::curveType"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, curveType) - 4usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::p"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, p) - 8usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::pLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, pLen) - 80usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::a"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, a) - 84usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::aLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, aLen) - 156usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::b"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, b) - 160usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::bLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, bLen) - 232usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::gx"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, gx) - 236usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::gxLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, gxLen) - 308usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::gy"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, gy) - 312usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::gyLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, gyLen) - 384usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::n"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, n) - 388usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::nLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, nLen) - 460usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::h"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, h) - 464usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::hLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, hLen) - 536usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::qx"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, qx) - 540usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::qxLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, qxLen) - 612usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::qy"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, qy) - 616usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::qyLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, qyLen) - 688usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::d"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, d) - 692usize];
    ["Offset of field: CRYPT_PKCINFO_ECC::dLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_ECC, dLen) - 764usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CRYPT_PKCINFO_DJB {
    pub isPublicKey: ::std::os::raw::c_int,
    pub pub_: [::std::os::raw::c_uchar; 512usize],
    pub pubLen: ::std::os::raw::c_int,
    pub priv_: [::std::os::raw::c_uchar; 512usize],
    pub privLen: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of CRYPT_PKCINFO_DJB"][::std::mem::size_of::<CRYPT_PKCINFO_DJB>() - 1036usize];
    ["Alignment of CRYPT_PKCINFO_DJB"][::std::mem::align_of::<CRYPT_PKCINFO_DJB>() - 4usize];
    ["Offset of field: CRYPT_PKCINFO_DJB::isPublicKey"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DJB, isPublicKey) - 0usize];
    ["Offset of field: CRYPT_PKCINFO_DJB::pub_"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DJB, pub_) - 4usize];
    ["Offset of field: CRYPT_PKCINFO_DJB::pubLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DJB, pubLen) - 516usize];
    ["Offset of field: CRYPT_PKCINFO_DJB::priv_"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DJB, priv_) - 520usize];
    ["Offset of field: CRYPT_PKCINFO_DJB::privLen"]
        [::std::mem::offset_of!(CRYPT_PKCINFO_DJB, privLen) - 1032usize];
};
unsafe extern "C" {
    pub fn cryptInit() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptEnd() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptQueryCapability(
        cryptAlgo: CRYPT_ALGO_TYPE,
        cryptQueryInfo: *mut CRYPT_QUERY_INFO,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCreateContext(
        cryptContext: *mut CRYPT_CONTEXT,
        cryptUser: CRYPT_USER,
        cryptAlgo: CRYPT_ALGO_TYPE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDestroyContext(cryptContext: CRYPT_CONTEXT) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDestroyObject(cryptObject: CRYPT_HANDLE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptGenerateKey(cryptContext: CRYPT_CONTEXT) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptEncrypt(
        cryptContext: CRYPT_CONTEXT,
        buffer: *mut ::std::os::raw::c_void,
        length: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDecrypt(
        cryptContext: CRYPT_CONTEXT,
        buffer: *mut ::std::os::raw::c_void,
        length: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptSetAttribute(
        cryptHandle: CRYPT_HANDLE,
        attributeType: CRYPT_ATTRIBUTE_TYPE,
        value: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptSetAttributeString(
        cryptHandle: CRYPT_HANDLE,
        attributeType: CRYPT_ATTRIBUTE_TYPE,
        value: *const ::std::os::raw::c_void,
        valueLength: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptGetAttribute(
        cryptHandle: CRYPT_HANDLE,
        attributeType: CRYPT_ATTRIBUTE_TYPE,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptGetAttributeString(
        cryptHandle: CRYPT_HANDLE,
        attributeType: CRYPT_ATTRIBUTE_TYPE,
        value: *mut ::std::os::raw::c_void,
        valueLength: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDeleteAttribute(
        cryptHandle: CRYPT_HANDLE,
        attributeType: CRYPT_ATTRIBUTE_TYPE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptAddRandom(
        randomData: *const ::std::os::raw::c_void,
        randomDataLength: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptQueryObject(
        objectData: *const ::std::os::raw::c_void,
        objectDataLength: ::std::os::raw::c_int,
        cryptObjectInfo: *mut CRYPT_OBJECT_INFO,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\tMid-level Encryption Functions\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
    pub fn cryptExportKey(
        encryptedKey: *mut ::std::os::raw::c_void,
        encryptedKeyMaxLength: ::std::os::raw::c_int,
        encryptedKeyLength: *mut ::std::os::raw::c_int,
        exportKey: CRYPT_HANDLE,
        sessionKeyContext: CRYPT_CONTEXT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptExportKeyEx(
        encryptedKey: *mut ::std::os::raw::c_void,
        encryptedKeyMaxLength: ::std::os::raw::c_int,
        encryptedKeyLength: *mut ::std::os::raw::c_int,
        formatType: CRYPT_FORMAT_TYPE,
        exportKey: CRYPT_HANDLE,
        sessionKeyContext: CRYPT_CONTEXT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptImportKey(
        encryptedKey: *const ::std::os::raw::c_void,
        encryptedKeyLength: ::std::os::raw::c_int,
        importKey: CRYPT_CONTEXT,
        sessionKeyContext: CRYPT_CONTEXT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptImportKeyEx(
        encryptedKey: *const ::std::os::raw::c_void,
        encryptedKeyLength: ::std::os::raw::c_int,
        importKey: CRYPT_CONTEXT,
        sessionKeyContext: CRYPT_CONTEXT,
        returnedContext: *mut CRYPT_CONTEXT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCreateSignature(
        signature: *mut ::std::os::raw::c_void,
        signatureMaxLength: ::std::os::raw::c_int,
        signatureLength: *mut ::std::os::raw::c_int,
        signContext: CRYPT_CONTEXT,
        hashContext: CRYPT_CONTEXT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCreateSignatureEx(
        signature: *mut ::std::os::raw::c_void,
        signatureMaxLength: ::std::os::raw::c_int,
        signatureLength: *mut ::std::os::raw::c_int,
        formatType: CRYPT_FORMAT_TYPE,
        signContext: CRYPT_CONTEXT,
        hashContext: CRYPT_CONTEXT,
        extraData: CRYPT_CERTIFICATE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCheckSignature(
        signature: *const ::std::os::raw::c_void,
        signatureLength: ::std::os::raw::c_int,
        sigCheckKey: CRYPT_HANDLE,
        hashContext: CRYPT_CONTEXT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCheckSignatureEx(
        signature: *const ::std::os::raw::c_void,
        signatureLength: ::std::os::raw::c_int,
        sigCheckKey: CRYPT_HANDLE,
        hashContext: CRYPT_CONTEXT,
        extraData: *mut CRYPT_HANDLE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\tKeyset Functions\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
    pub fn cryptKeysetOpen(
        keyset: *mut CRYPT_KEYSET,
        cryptUser: CRYPT_USER,
        keysetType: CRYPT_KEYSET_TYPE,
        name: *const ::std::os::raw::c_char,
        options: CRYPT_KEYOPT_TYPE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptKeysetClose(keyset: CRYPT_KEYSET) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptGetPublicKey(
        keyset: CRYPT_KEYSET,
        cryptContext: *mut CRYPT_CONTEXT,
        keyIDtype: CRYPT_KEYID_TYPE,
        keyID: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptGetPrivateKey(
        keyset: CRYPT_KEYSET,
        cryptContext: *mut CRYPT_CONTEXT,
        keyIDtype: CRYPT_KEYID_TYPE,
        keyID: *const ::std::os::raw::c_char,
        password: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptGetKey(
        keyset: CRYPT_KEYSET,
        cryptContext: *mut CRYPT_CONTEXT,
        keyIDtype: CRYPT_KEYID_TYPE,
        keyID: *const ::std::os::raw::c_char,
        password: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptAddPublicKey(
        keyset: CRYPT_KEYSET,
        certificate: CRYPT_CERTIFICATE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptAddPrivateKey(
        keyset: CRYPT_KEYSET,
        cryptKey: CRYPT_HANDLE,
        password: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDeleteKey(
        keyset: CRYPT_KEYSET,
        keyIDtype: CRYPT_KEYID_TYPE,
        keyID: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\tCertificate Functions\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
    pub fn cryptCreateCert(
        certificate: *mut CRYPT_CERTIFICATE,
        cryptUser: CRYPT_USER,
        certType: CRYPT_CERTTYPE_TYPE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDestroyCert(certificate: CRYPT_CERTIFICATE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptGetCertExtension(
        certificate: CRYPT_CERTIFICATE,
        oid: *const ::std::os::raw::c_char,
        criticalFlag: *mut ::std::os::raw::c_int,
        extension: *mut ::std::os::raw::c_void,
        extensionMaxLength: ::std::os::raw::c_int,
        extensionLength: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptAddCertExtension(
        certificate: CRYPT_CERTIFICATE,
        oid: *const ::std::os::raw::c_char,
        criticalFlag: ::std::os::raw::c_int,
        extension: *const ::std::os::raw::c_void,
        extensionLength: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDeleteCertExtension(
        certificate: CRYPT_CERTIFICATE,
        oid: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptSignCert(
        certificate: CRYPT_CERTIFICATE,
        signContext: CRYPT_CONTEXT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCheckCert(
        certificate: CRYPT_CERTIFICATE,
        sigCheckKey: CRYPT_HANDLE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptImportCert(
        certObject: *const ::std::os::raw::c_void,
        certObjectLength: ::std::os::raw::c_int,
        cryptUser: CRYPT_USER,
        certificate: *mut CRYPT_CERTIFICATE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptExportCert(
        certObject: *mut ::std::os::raw::c_void,
        certObjectMaxLength: ::std::os::raw::c_int,
        certObjectLength: *mut ::std::os::raw::c_int,
        certFormatType: CRYPT_CERTFORMAT_TYPE,
        certificate: CRYPT_CERTIFICATE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCAAddItem(
        keyset: CRYPT_KEYSET,
        certificate: CRYPT_CERTIFICATE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCAGetItem(
        keyset: CRYPT_KEYSET,
        certificate: *mut CRYPT_CERTIFICATE,
        certType: CRYPT_CERTTYPE_TYPE,
        keyIDtype: CRYPT_KEYID_TYPE,
        keyID: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCADeleteItem(
        keyset: CRYPT_KEYSET,
        certType: CRYPT_CERTTYPE_TYPE,
        keyIDtype: CRYPT_KEYID_TYPE,
        keyID: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCACertManagement(
        certificate: *mut CRYPT_CERTIFICATE,
        action: CRYPT_CERTACTION_TYPE,
        keyset: CRYPT_KEYSET,
        caKey: CRYPT_CONTEXT,
        certRequest: CRYPT_CERTIFICATE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\tEnvelope and Session Functions\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
    pub fn cryptCreateEnvelope(
        envelope: *mut CRYPT_ENVELOPE,
        cryptUser: CRYPT_USER,
        formatType: CRYPT_FORMAT_TYPE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDestroyEnvelope(envelope: CRYPT_ENVELOPE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptCreateSession(
        session: *mut CRYPT_SESSION,
        cryptUser: CRYPT_USER,
        formatType: CRYPT_SESSION_TYPE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDestroySession(session: CRYPT_SESSION) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptPushData(
        envelope: CRYPT_HANDLE,
        buffer: *const ::std::os::raw::c_void,
        length: ::std::os::raw::c_int,
        bytesCopied: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptFlushData(envelope: CRYPT_HANDLE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptPopData(
        envelope: CRYPT_HANDLE,
        buffer: *mut ::std::os::raw::c_void,
        length: ::std::os::raw::c_int,
        bytesCopied: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\tDevice Functions\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
    pub fn cryptDeviceOpen(
        device: *mut CRYPT_DEVICE,
        cryptUser: CRYPT_USER,
        deviceType: CRYPT_DEVICE_TYPE,
        name: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDeviceClose(device: CRYPT_DEVICE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDeviceQueryCapability(
        device: CRYPT_DEVICE,
        cryptAlgo: CRYPT_ALGO_TYPE,
        cryptQueryInfo: *mut CRYPT_QUERY_INFO,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptDeviceCreateContext(
        device: CRYPT_DEVICE,
        cryptContext: *mut CRYPT_CONTEXT,
        cryptAlgo: CRYPT_ALGO_TYPE,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[doc = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\tUser Management Functions\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*"]
    pub fn cryptLogin(
        user: *mut CRYPT_USER,
        name: *const ::std::os::raw::c_char,
        password: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn cryptLogout(user: CRYPT_USER) -> ::std::os::raw::c_int;
}
