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_DHparams( bio: *mut BIO, out: *mut *mut DH, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DH95     pub fn PEM_read_bio_DHparams(
96         bio: *mut BIO,
97         out: *mut *mut DH,
98         callback: pem_password_cb,
99         user_data: *mut c_void,
100     ) -> *mut DH;
PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int101     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_PKEY102     pub fn PEM_read_bio_PrivateKey(
103         bio: *mut BIO,
104         out: *mut *mut EVP_PKEY,
105         callback: pem_password_cb,
106         user_data: *mut c_void,
107     ) -> *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_int108     pub fn PEM_write_bio_PrivateKey(
109         bio: *mut BIO,
110         pkey: *mut EVP_PKEY,
111         cipher: *const EVP_CIPHER,
112         kstr: *mut c_uchar,
113         klen: c_int,
114         callback: pem_password_cb,
115         user_data: *mut c_void,
116     ) -> 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_PKEY117     pub fn PEM_read_bio_PUBKEY(
118         bio: *mut BIO,
119         out: *mut *mut EVP_PKEY,
120         callback: pem_password_cb,
121         user_data: *mut c_void,
122     ) -> *mut EVP_PKEY;
PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int123     pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int;
124 
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_int125     pub fn PEM_write_bio_PKCS8PrivateKey(
126         bio: *mut BIO,
127         pkey: *mut EVP_PKEY,
128         cipher: *const EVP_CIPHER,
129         kstr: *mut c_char,
130         klen: c_int,
131         callback: pem_password_cb,
132         user_data: *mut c_void,
133     ) -> c_int;
d2i_PKCS8PrivateKey_bio( bp: *mut BIO, x: *mut *mut EVP_PKEY, cb: pem_password_cb, u: *mut c_void, ) -> *mut EVP_PKEY134     pub fn d2i_PKCS8PrivateKey_bio(
135         bp: *mut BIO,
136         x: *mut *mut EVP_PKEY,
137         cb: pem_password_cb,
138         u: *mut c_void,
139     ) -> *mut EVP_PKEY;
140 
PEM_read_bio_PKCS7( bio: *mut BIO, out: *mut *mut PKCS7, cb: pem_password_cb, u: *mut c_void, ) -> *mut PKCS7141     pub fn PEM_read_bio_PKCS7(
142         bio: *mut BIO,
143         out: *mut *mut PKCS7,
144         cb: pem_password_cb,
145         u: *mut c_void,
146     ) -> *mut PKCS7;
147 
PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int148     pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int;
149 
150     #[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_ContentInfo151     pub fn PEM_read_bio_CMS(
152         bio: *mut BIO,
153         out: *mut *mut CMS_ContentInfo,
154         callback: pem_password_cb,
155         user_data: *mut c_void,
156     ) -> *mut CMS_ContentInfo;
157     #[cfg(ossl101)]
PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int158     pub fn PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int;
159 }
160 
161 pub const PEM_R_NO_START_LINE: c_int = 108;
162