1 use libc::*;
2 
3 use *;
4 
5 pub enum PKCS7_SIGNED {}
6 pub enum PKCS7_ENVELOPE {}
7 pub enum PKCS7_SIGN_ENVELOPE {}
8 pub enum PKCS7_DIGEST {}
9 pub enum PKCS7_ENCRYPT {}
10 pub enum PKCS7 {}
11 
12 pub const PKCS7_TEXT: c_int = 0x1;
13 pub const PKCS7_NOCERTS: c_int = 0x2;
14 pub const PKCS7_NOSIGS: c_int = 0x4;
15 pub const PKCS7_NOCHAIN: c_int = 0x8;
16 pub const PKCS7_NOINTERN: c_int = 0x10;
17 pub const PKCS7_NOVERIFY: c_int = 0x20;
18 pub const PKCS7_DETACHED: c_int = 0x40;
19 pub const PKCS7_BINARY: c_int = 0x80;
20 pub const PKCS7_NOATTR: c_int = 0x100;
21 pub const PKCS7_NOSMIMECAP: c_int = 0x200;
22 pub const PKCS7_NOOLDMIMETYPE: c_int = 0x400;
23 pub const PKCS7_CRLFEOL: c_int = 0x800;
24 pub const PKCS7_STREAM: c_int = 0x1000;
25 pub const PKCS7_NOCRL: c_int = 0x2000;
26 pub const PKCS7_PARTIAL: c_int = 0x4000;
27 pub const PKCS7_REUSE_DIGEST: c_int = 0x8000;
28 #[cfg(not(any(ossl101, ossl102, libressl)))]
29 pub const PKCS7_NO_DUAL_CONTENT: c_int = 0x10000;
30 
31 extern "C" {
d2i_PKCS7(a: *mut *mut PKCS7, pp: *mut *const c_uchar, length: c_long) -> *mut PKCS732     pub fn d2i_PKCS7(a: *mut *mut PKCS7, pp: *mut *const c_uchar, length: c_long) -> *mut PKCS7;
33 }
34 
35 const_ptr_api! {
36     extern "C" {
37         pub fn i2d_PKCS7(a: #[const_ptr_if(ossl300)] PKCS7, buf: *mut *mut u8) -> c_int;
38     }
39 }
40 
41 extern "C" {
PKCS7_encrypt( certs: *mut stack_st_X509, b: *mut BIO, cipher: *const EVP_CIPHER, flags: c_int, ) -> *mut PKCS742     pub fn PKCS7_encrypt(
43         certs: *mut stack_st_X509,
44         b: *mut BIO,
45         cipher: *const EVP_CIPHER,
46         flags: c_int,
47     ) -> *mut PKCS7;
48 
PKCS7_verify( pkcs7: *mut PKCS7, certs: *mut stack_st_X509, store: *mut X509_STORE, indata: *mut BIO, out: *mut BIO, flags: c_int, ) -> c_int49     pub fn PKCS7_verify(
50         pkcs7: *mut PKCS7,
51         certs: *mut stack_st_X509,
52         store: *mut X509_STORE,
53         indata: *mut BIO,
54         out: *mut BIO,
55         flags: c_int,
56     ) -> c_int;
57 
PKCS7_get0_signers( pkcs7: *mut PKCS7, certs: *mut stack_st_X509, flags: c_int, ) -> *mut stack_st_X50958     pub fn PKCS7_get0_signers(
59         pkcs7: *mut PKCS7,
60         certs: *mut stack_st_X509,
61         flags: c_int,
62     ) -> *mut stack_st_X509;
63 
PKCS7_sign( signcert: *mut X509, pkey: *mut EVP_PKEY, certs: *mut stack_st_X509, data: *mut BIO, flags: c_int, ) -> *mut PKCS764     pub fn PKCS7_sign(
65         signcert: *mut X509,
66         pkey: *mut EVP_PKEY,
67         certs: *mut stack_st_X509,
68         data: *mut BIO,
69         flags: c_int,
70     ) -> *mut PKCS7;
71 
PKCS7_decrypt( pkcs7: *mut PKCS7, pkey: *mut EVP_PKEY, cert: *mut X509, data: *mut BIO, flags: c_int, ) -> c_int72     pub fn PKCS7_decrypt(
73         pkcs7: *mut PKCS7,
74         pkey: *mut EVP_PKEY,
75         cert: *mut X509,
76         data: *mut BIO,
77         flags: c_int,
78     ) -> c_int;
79 
PKCS7_free(pkcs7: *mut PKCS7)80     pub fn PKCS7_free(pkcs7: *mut PKCS7);
81 
SMIME_write_PKCS7( out: *mut BIO, pkcs7: *mut PKCS7, data: *mut BIO, flags: c_int, ) -> c_int82     pub fn SMIME_write_PKCS7(
83         out: *mut BIO,
84         pkcs7: *mut PKCS7,
85         data: *mut BIO,
86         flags: c_int,
87     ) -> c_int;
88 
SMIME_read_PKCS7(bio: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS789     pub fn SMIME_read_PKCS7(bio: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS7;
90 }
91