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_CRL( bio: *mut BIO, out: *mut *mut X509_CRL, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X509_CRL22     pub fn PEM_read_bio_X509_CRL(
23         bio: *mut BIO,
24         out: *mut *mut X509_CRL,
25         callback: pem_password_cb,
26         user_data: *mut c_void,
27     ) -> *mut X509_CRL;
PEM_write_bio_X509_CRL(bio: *mut BIO, x509: *mut X509_CRL) -> c_int28     pub fn PEM_write_bio_X509_CRL(bio: *mut BIO, x509: *mut X509_CRL) -> 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_REQ29     pub fn PEM_read_bio_X509_REQ(
30         bio: *mut BIO,
31         out: *mut *mut X509_REQ,
32         callback: pem_password_cb,
33         user_data: *mut c_void,
34     ) -> *mut X509_REQ;
PEM_write_bio_X509_REQ(bio: *mut BIO, x509: *mut X509_REQ) -> c_int35     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 RSA36     pub fn PEM_read_bio_RSAPrivateKey(
37         bio: *mut BIO,
38         rsa: *mut *mut RSA,
39         callback: pem_password_cb,
40         user_data: *mut c_void,
41     ) -> *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_int42     pub fn PEM_write_bio_RSAPrivateKey(
43         bp: *mut BIO,
44         rsa: *mut RSA,
45         cipher: *const EVP_CIPHER,
46         kstr: *mut c_uchar,
47         klen: c_int,
48         callback: pem_password_cb,
49         user_data: *mut c_void,
50     ) -> c_int;
PEM_read_bio_RSAPublicKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA51     pub fn PEM_read_bio_RSAPublicKey(
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_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int57     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 RSA58     pub fn PEM_read_bio_RSA_PUBKEY(
59         bio: *mut BIO,
60         rsa: *mut *mut RSA,
61         callback: pem_password_cb,
62         user_data: *mut c_void,
63     ) -> *mut RSA;
PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, rsa: *mut RSA) -> c_int64     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 DSA65     pub fn PEM_read_bio_DSAPrivateKey(
66         bp: *mut BIO,
67         dsa: *mut *mut DSA,
68         callback: pem_password_cb,
69         user_data: *mut c_void,
70     ) -> *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_int71     pub fn PEM_write_bio_DSAPrivateKey(
72         bp: *mut BIO,
73         dsa: *mut DSA,
74         cipher: *const EVP_CIPHER,
75         kstr: *mut c_uchar,
76         klen: c_int,
77         callback: pem_password_cb,
78         user_data: *mut c_void,
79     ) -> c_int;
PEM_read_bio_DSA_PUBKEY( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA80     pub fn PEM_read_bio_DSA_PUBKEY(
81         bp: *mut BIO,
82         dsa: *mut *mut DSA,
83         callback: pem_password_cb,
84         user_data: *mut c_void,
85     ) -> *mut DSA;
PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: *mut DSA) -> c_int86     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_KEY87     pub fn PEM_read_bio_ECPrivateKey(
88         bio: *mut BIO,
89         key: *mut *mut EC_KEY,
90         callback: pem_password_cb,
91         user_data: *mut c_void,
92     ) -> *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_int93     pub fn PEM_write_bio_ECPrivateKey(
94         bio: *mut BIO,
95         key: *mut EC_KEY,
96         cipher: *const EVP_CIPHER,
97         kstr: *mut c_uchar,
98         klen: c_int,
99         callback: pem_password_cb,
100         user_data: *mut c_void,
101     ) -> 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_KEY102     pub fn PEM_read_bio_EC_PUBKEY(
103         bp: *mut BIO,
104         ec: *mut *mut EC_KEY,
105         callback: pem_password_cb,
106         user_data: *mut c_void,
107     ) -> *mut EC_KEY;
PEM_write_bio_EC_PUBKEY(bp: *mut BIO, ec: *mut EC_KEY) -> c_int108     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 DH109     pub fn PEM_read_bio_DHparams(
110         bio: *mut BIO,
111         out: *mut *mut DH,
112         callback: pem_password_cb,
113         user_data: *mut c_void,
114     ) -> *mut DH;
PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int115     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_PKEY116     pub fn PEM_read_bio_PrivateKey(
117         bio: *mut BIO,
118         out: *mut *mut EVP_PKEY,
119         callback: pem_password_cb,
120         user_data: *mut c_void,
121     ) -> *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_int122     pub fn PEM_write_bio_PrivateKey(
123         bio: *mut BIO,
124         pkey: *mut EVP_PKEY,
125         cipher: *const EVP_CIPHER,
126         kstr: *mut c_uchar,
127         klen: c_int,
128         callback: pem_password_cb,
129         user_data: *mut c_void,
130     ) -> 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_PKEY131     pub fn PEM_read_bio_PUBKEY(
132         bio: *mut BIO,
133         out: *mut *mut EVP_PKEY,
134         callback: pem_password_cb,
135         user_data: *mut c_void,
136     ) -> *mut EVP_PKEY;
PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int137     pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int;
138 
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_int139     pub fn PEM_write_bio_PKCS8PrivateKey(
140         bio: *mut BIO,
141         pkey: *mut EVP_PKEY,
142         cipher: *const EVP_CIPHER,
143         kstr: *mut c_char,
144         klen: c_int,
145         callback: pem_password_cb,
146         user_data: *mut c_void,
147     ) -> c_int;
d2i_PKCS8PrivateKey_bio( bp: *mut BIO, x: *mut *mut EVP_PKEY, cb: pem_password_cb, u: *mut c_void, ) -> *mut EVP_PKEY148     pub fn d2i_PKCS8PrivateKey_bio(
149         bp: *mut BIO,
150         x: *mut *mut EVP_PKEY,
151         cb: pem_password_cb,
152         u: *mut c_void,
153     ) -> *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_INFO154     pub fn d2i_PKCS8_PRIV_KEY_INFO(
155         k: *mut *mut PKCS8_PRIV_KEY_INFO,
156         buf: *mut *const u8,
157         length: c_long,
158     ) -> *mut PKCS8_PRIV_KEY_INFO;
PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO)159     pub fn PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO);
160 
PEM_read_bio_PKCS7( bio: *mut BIO, out: *mut *mut PKCS7, cb: pem_password_cb, u: *mut c_void, ) -> *mut PKCS7161     pub fn PEM_read_bio_PKCS7(
162         bio: *mut BIO,
163         out: *mut *mut PKCS7,
164         cb: pem_password_cb,
165         u: *mut c_void,
166     ) -> *mut PKCS7;
167 
PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int168     pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int;
169 
170     #[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_ContentInfo171     pub fn PEM_read_bio_CMS(
172         bio: *mut BIO,
173         out: *mut *mut CMS_ContentInfo,
174         callback: pem_password_cb,
175         user_data: *mut c_void,
176     ) -> *mut CMS_ContentInfo;
177     #[cfg(ossl101)]
PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int178     pub fn PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int;
179 }
180 
181 pub const PEM_R_NO_START_LINE: c_int = 108;
182