1 use libc::*;
2 
3 use *;
4 
5 pub type pem_password_cb = Option<
6     unsafe extern "C" fn(
7         buf: *mut c_char,
8         size: c_int,
9         rwflag: c_int,
10         user_data: *mut c_void,
11     ) -> c_int,
12 >;
13 
14 extern "C" {
PEM_read_bio_X509( bio: *mut BIO, out: *mut *mut X509, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X50915     pub fn PEM_read_bio_X509(
16         bio: *mut BIO,
17         out: *mut *mut X509,
18         callback: pem_password_cb,
19         user_data: *mut c_void,
20     ) -> *mut X509;
PEM_write_bio_X509(bio: *mut BIO, x509: *mut X509) -> c_int21     pub fn PEM_write_bio_X509(bio: *mut BIO, x509: *mut X509) -> c_int;
PEM_read_bio_X509_REQ( bio: *mut BIO, out: *mut *mut X509_REQ, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X509_REQ22     pub fn PEM_read_bio_X509_REQ(
23         bio: *mut BIO,
24         out: *mut *mut X509_REQ,
25         callback: pem_password_cb,
26         user_data: *mut c_void,
27     ) -> *mut X509_REQ;
PEM_write_bio_X509_REQ(bio: *mut BIO, x509: *mut X509_REQ) -> c_int28     pub fn PEM_write_bio_X509_REQ(bio: *mut BIO, x509: *mut X509_REQ) -> c_int;
PEM_read_bio_RSAPrivateKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA29     pub fn PEM_read_bio_RSAPrivateKey(
30         bio: *mut BIO,
31         rsa: *mut *mut RSA,
32         callback: pem_password_cb,
33         user_data: *mut c_void,
34     ) -> *mut RSA;
PEM_write_bio_RSAPrivateKey( bp: *mut BIO, rsa: *mut RSA, cipher: *const EVP_CIPHER, kstr: *mut c_uchar, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int35     pub fn PEM_write_bio_RSAPrivateKey(
36         bp: *mut BIO,
37         rsa: *mut RSA,
38         cipher: *const EVP_CIPHER,
39         kstr: *mut c_uchar,
40         klen: c_int,
41         callback: pem_password_cb,
42         user_data: *mut c_void,
43     ) -> c_int;
PEM_read_bio_RSAPublicKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA44     pub fn PEM_read_bio_RSAPublicKey(
45         bio: *mut BIO,
46         rsa: *mut *mut RSA,
47         callback: pem_password_cb,
48         user_data: *mut c_void,
49     ) -> *mut RSA;
PEM_write_bio_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int50     pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int;
PEM_read_bio_RSA_PUBKEY( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA51     pub fn PEM_read_bio_RSA_PUBKEY(
52         bio: *mut BIO,
53         rsa: *mut *mut RSA,
54         callback: pem_password_cb,
55         user_data: *mut c_void,
56     ) -> *mut RSA;
PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, rsa: *mut RSA) -> c_int57     pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, rsa: *mut RSA) -> c_int;
PEM_read_bio_DSAPrivateKey( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA58     pub fn PEM_read_bio_DSAPrivateKey(
59         bp: *mut BIO,
60         dsa: *mut *mut DSA,
61         callback: pem_password_cb,
62         user_data: *mut c_void,
63     ) -> *mut DSA;
PEM_write_bio_DSAPrivateKey( bp: *mut BIO, dsa: *mut DSA, cipher: *const EVP_CIPHER, kstr: *mut c_uchar, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int64     pub fn PEM_write_bio_DSAPrivateKey(
65         bp: *mut BIO,
66         dsa: *mut DSA,
67         cipher: *const EVP_CIPHER,
68         kstr: *mut c_uchar,
69         klen: c_int,
70         callback: pem_password_cb,
71         user_data: *mut c_void,
72     ) -> c_int;
PEM_read_bio_DSA_PUBKEY( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA73     pub fn PEM_read_bio_DSA_PUBKEY(
74         bp: *mut BIO,
75         dsa: *mut *mut DSA,
76         callback: pem_password_cb,
77         user_data: *mut c_void,
78     ) -> *mut DSA;
PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: *mut DSA) -> c_int79     pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: *mut DSA) -> c_int;
PEM_read_bio_ECPrivateKey( bio: *mut BIO, key: *mut *mut EC_KEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EC_KEY80     pub fn PEM_read_bio_ECPrivateKey(
81         bio: *mut BIO,
82         key: *mut *mut EC_KEY,
83         callback: pem_password_cb,
84         user_data: *mut c_void,
85     ) -> *mut EC_KEY;
PEM_write_bio_ECPrivateKey( bio: *mut BIO, key: *mut EC_KEY, cipher: *const EVP_CIPHER, kstr: *mut c_uchar, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int86     pub fn PEM_write_bio_ECPrivateKey(
87         bio: *mut BIO,
88         key: *mut EC_KEY,
89         cipher: *const EVP_CIPHER,
90         kstr: *mut c_uchar,
91         klen: c_int,
92         callback: pem_password_cb,
93         user_data: *mut c_void,
94     ) -> c_int;
PEM_read_bio_EC_PUBKEY( bp: *mut BIO, ec: *mut *mut EC_KEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EC_KEY95     pub fn PEM_read_bio_EC_PUBKEY(
96         bp: *mut BIO,
97         ec: *mut *mut EC_KEY,
98         callback: pem_password_cb,
99         user_data: *mut c_void,
100     ) -> *mut EC_KEY;
PEM_write_bio_EC_PUBKEY(bp: *mut BIO, ec: *mut EC_KEY) -> c_int101     pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, ec: *mut EC_KEY) -> c_int;
PEM_read_bio_DHparams( bio: *mut BIO, out: *mut *mut DH, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DH102     pub fn PEM_read_bio_DHparams(
103         bio: *mut BIO,
104         out: *mut *mut DH,
105         callback: pem_password_cb,
106         user_data: *mut c_void,
107     ) -> *mut DH;
PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int108     pub fn PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int;
PEM_read_bio_PrivateKey( bio: *mut BIO, out: *mut *mut EVP_PKEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EVP_PKEY109     pub fn PEM_read_bio_PrivateKey(
110         bio: *mut BIO,
111         out: *mut *mut EVP_PKEY,
112         callback: pem_password_cb,
113         user_data: *mut c_void,
114     ) -> *mut EVP_PKEY;
PEM_write_bio_PrivateKey( bio: *mut BIO, pkey: *mut EVP_PKEY, cipher: *const EVP_CIPHER, kstr: *mut c_uchar, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int115     pub fn PEM_write_bio_PrivateKey(
116         bio: *mut BIO,
117         pkey: *mut EVP_PKEY,
118         cipher: *const EVP_CIPHER,
119         kstr: *mut c_uchar,
120         klen: c_int,
121         callback: pem_password_cb,
122         user_data: *mut c_void,
123     ) -> c_int;
PEM_read_bio_PUBKEY( bio: *mut BIO, out: *mut *mut EVP_PKEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EVP_PKEY124     pub fn PEM_read_bio_PUBKEY(
125         bio: *mut BIO,
126         out: *mut *mut EVP_PKEY,
127         callback: pem_password_cb,
128         user_data: *mut c_void,
129     ) -> *mut EVP_PKEY;
PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int130     pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int;
131 
PEM_write_bio_PKCS8PrivateKey( bio: *mut BIO, pkey: *mut EVP_PKEY, cipher: *const EVP_CIPHER, kstr: *mut c_char, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int132     pub fn PEM_write_bio_PKCS8PrivateKey(
133         bio: *mut BIO,
134         pkey: *mut EVP_PKEY,
135         cipher: *const EVP_CIPHER,
136         kstr: *mut c_char,
137         klen: c_int,
138         callback: pem_password_cb,
139         user_data: *mut c_void,
140     ) -> c_int;
d2i_PKCS8PrivateKey_bio( bp: *mut BIO, x: *mut *mut EVP_PKEY, cb: pem_password_cb, u: *mut c_void, ) -> *mut EVP_PKEY141     pub fn d2i_PKCS8PrivateKey_bio(
142         bp: *mut BIO,
143         x: *mut *mut EVP_PKEY,
144         cb: pem_password_cb,
145         u: *mut c_void,
146     ) -> *mut EVP_PKEY;
d2i_PKCS8_PRIV_KEY_INFO( k: *mut *mut PKCS8_PRIV_KEY_INFO, buf: *mut *const u8, length: c_long, ) -> *mut PKCS8_PRIV_KEY_INFO147     pub fn d2i_PKCS8_PRIV_KEY_INFO(
148         k: *mut *mut PKCS8_PRIV_KEY_INFO,
149         buf: *mut *const u8,
150         length: c_long,
151     ) -> *mut PKCS8_PRIV_KEY_INFO;
PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO)152     pub fn PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO);
153 
PEM_read_bio_PKCS7( bio: *mut BIO, out: *mut *mut PKCS7, cb: pem_password_cb, u: *mut c_void, ) -> *mut PKCS7154     pub fn PEM_read_bio_PKCS7(
155         bio: *mut BIO,
156         out: *mut *mut PKCS7,
157         cb: pem_password_cb,
158         u: *mut c_void,
159     ) -> *mut PKCS7;
160 
PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int161     pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int;
162 
163     #[cfg(ossl101)]
PEM_read_bio_CMS( bio: *mut BIO, out: *mut *mut CMS_ContentInfo, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut CMS_ContentInfo164     pub fn PEM_read_bio_CMS(
165         bio: *mut BIO,
166         out: *mut *mut CMS_ContentInfo,
167         callback: pem_password_cb,
168         user_data: *mut c_void,
169     ) -> *mut CMS_ContentInfo;
170     #[cfg(ossl101)]
PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int171     pub fn PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int;
172 }
173 
174 pub const PEM_R_NO_START_LINE: c_int = 108;
175