cprocsp_sys/opt/rustwide/workdir/bindgen/
cades_bindings.rs

1/* automatically generated by rust-bindgen 0.65.1 */
2
3extern crate libloading;
4pub struct Cades {
5    __library: ::libloading::Library,
6    pub GetLastError: unsafe extern "C" fn() -> DWORD,
7    pub CadesSignMessage: unsafe extern "C" fn(
8        pSignPara: PCADES_SIGN_MESSAGE_PARA,
9        fDetachedSignature: BOOL,
10        cToBeSigned: DWORD,
11        rgpbToBeSigned: *mut *const BYTE,
12        rgcbToBeSigned: *mut DWORD,
13        ppSignedBlob: *mut PCRYPT_DATA_BLOB,
14    ) -> BOOL,
15    pub CadesSignHash: unsafe extern "C" fn(
16        pSignPara: PCADES_SIGN_MESSAGE_PARA,
17        pbHash: *const BYTE,
18        cbHash: DWORD,
19        pszInnerContentObjID: LPCSTR,
20        ppSignedBlob: *mut PCRYPT_DATA_BLOB,
21    ) -> BOOL,
22    pub CadesVerifyHash: unsafe extern "C" fn(
23        pVerifyPara: PCADES_VERIFY_MESSAGE_PARA,
24        dwSignerIndex: DWORD,
25        pbDetachedSignBlob: *const BYTE,
26        cbDetachedSignBlob: DWORD,
27        pbHash: *const BYTE,
28        cbHash: DWORD,
29        pHashAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER,
30        ppVerificationInfo: *mut PCADES_VERIFICATION_INFO,
31    ) -> BOOL,
32    pub CadesVerifyMessage: unsafe extern "C" fn(
33        pVerifyPara: PCADES_VERIFY_MESSAGE_PARA,
34        dwSignerIndex: DWORD,
35        pbSignedBlob: *const BYTE,
36        cbSignedBlob: DWORD,
37        ppDecodedBlob: *mut PCRYPT_DATA_BLOB,
38        ppVerificationInfo: *mut PCADES_VERIFICATION_INFO,
39    ) -> BOOL,
40    pub CadesVerifyDetachedMessage: unsafe extern "C" fn(
41        pVerifyPara: PCADES_VERIFY_MESSAGE_PARA,
42        dwSignerIndex: DWORD,
43        pbDetachedSignBlob: *const BYTE,
44        cbDetachedSignBlob: DWORD,
45        cToBeSigned: DWORD,
46        rgpbToBeSigned: *mut *const BYTE,
47        rgcbToBeSigned: *mut DWORD,
48        ppVerificationInfo: *mut PCADES_VERIFICATION_INFO,
49    ) -> BOOL,
50    pub CadesEnhanceMessage: unsafe extern "C" fn(
51        pEnhancePara: PCADES_ENHANCE_MESSAGE_PARA,
52        dwSignerIndex: DWORD,
53        pbSignedBlob: *const BYTE,
54        cbSignedBlob: DWORD,
55        ppEnhancedBlob: *mut PCRYPT_DATA_BLOB,
56    ) -> BOOL,
57    pub CadesFreeVerificationInfo:
58        unsafe extern "C" fn(pVerificationInfo: PCADES_VERIFICATION_INFO) -> BOOL,
59    pub CadesFreeBlob: unsafe extern "C" fn(pBlob: PCRYPT_DATA_BLOB) -> BOOL,
60    pub CadesFormatMessage: unsafe extern "C" fn(
61        dwFlags: DWORD,
62        lpSource: LPCVOID,
63        dwMessageId: DWORD,
64        dwLanguageId: DWORD,
65        lpBuffer: LPTSTR,
66        nSize: DWORD,
67        Arguments: *mut va_list,
68    ) -> DWORD,
69}
70impl Cades {
71    pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
72    where
73        P: AsRef<::std::ffi::OsStr>,
74    {
75        let library = ::libloading::Library::new(path)?;
76        Self::from_library(library)
77    }
78    pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
79    where
80        L: Into<::libloading::Library>,
81    {
82        let __library = library.into();
83        let GetLastError = __library.get(b"GetLastError\0").map(|sym| *sym)?;
84        let CadesSignMessage = __library.get(b"CadesSignMessage\0").map(|sym| *sym)?;
85        let CadesSignHash = __library.get(b"CadesSignHash\0").map(|sym| *sym)?;
86        let CadesVerifyHash = __library.get(b"CadesVerifyHash\0").map(|sym| *sym)?;
87        let CadesVerifyMessage = __library.get(b"CadesVerifyMessage\0").map(|sym| *sym)?;
88        let CadesVerifyDetachedMessage = __library
89            .get(b"CadesVerifyDetachedMessage\0")
90            .map(|sym| *sym)?;
91        let CadesEnhanceMessage = __library.get(b"CadesEnhanceMessage\0").map(|sym| *sym)?;
92        let CadesFreeVerificationInfo = __library
93            .get(b"CadesFreeVerificationInfo\0")
94            .map(|sym| *sym)?;
95        let CadesFreeBlob = __library.get(b"CadesFreeBlob\0").map(|sym| *sym)?;
96        let CadesFormatMessage = __library.get(b"CadesFormatMessage\0").map(|sym| *sym)?;
97        Ok(Cades {
98            __library,
99            GetLastError,
100            CadesSignMessage,
101            CadesSignHash,
102            CadesVerifyHash,
103            CadesVerifyMessage,
104            CadesVerifyDetachedMessage,
105            CadesEnhanceMessage,
106            CadesFreeVerificationInfo,
107            CadesFreeBlob,
108            CadesFormatMessage,
109        })
110    }
111    pub unsafe fn GetLastError(&self) -> DWORD {
112        (self.GetLastError)()
113    }
114    pub unsafe fn CadesSignMessage(
115        &self,
116        pSignPara: PCADES_SIGN_MESSAGE_PARA,
117        fDetachedSignature: BOOL,
118        cToBeSigned: DWORD,
119        rgpbToBeSigned: *mut *const BYTE,
120        rgcbToBeSigned: *mut DWORD,
121        ppSignedBlob: *mut PCRYPT_DATA_BLOB,
122    ) -> BOOL {
123        (self.CadesSignMessage)(
124            pSignPara,
125            fDetachedSignature,
126            cToBeSigned,
127            rgpbToBeSigned,
128            rgcbToBeSigned,
129            ppSignedBlob,
130        )
131    }
132    pub unsafe fn CadesSignHash(
133        &self,
134        pSignPara: PCADES_SIGN_MESSAGE_PARA,
135        pbHash: *const BYTE,
136        cbHash: DWORD,
137        pszInnerContentObjID: LPCSTR,
138        ppSignedBlob: *mut PCRYPT_DATA_BLOB,
139    ) -> BOOL {
140        (self.CadesSignHash)(
141            pSignPara,
142            pbHash,
143            cbHash,
144            pszInnerContentObjID,
145            ppSignedBlob,
146        )
147    }
148    pub unsafe fn CadesVerifyHash(
149        &self,
150        pVerifyPara: PCADES_VERIFY_MESSAGE_PARA,
151        dwSignerIndex: DWORD,
152        pbDetachedSignBlob: *const BYTE,
153        cbDetachedSignBlob: DWORD,
154        pbHash: *const BYTE,
155        cbHash: DWORD,
156        pHashAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER,
157        ppVerificationInfo: *mut PCADES_VERIFICATION_INFO,
158    ) -> BOOL {
159        (self.CadesVerifyHash)(
160            pVerifyPara,
161            dwSignerIndex,
162            pbDetachedSignBlob,
163            cbDetachedSignBlob,
164            pbHash,
165            cbHash,
166            pHashAlgorithm,
167            ppVerificationInfo,
168        )
169    }
170    pub unsafe fn CadesVerifyMessage(
171        &self,
172        pVerifyPara: PCADES_VERIFY_MESSAGE_PARA,
173        dwSignerIndex: DWORD,
174        pbSignedBlob: *const BYTE,
175        cbSignedBlob: DWORD,
176        ppDecodedBlob: *mut PCRYPT_DATA_BLOB,
177        ppVerificationInfo: *mut PCADES_VERIFICATION_INFO,
178    ) -> BOOL {
179        (self.CadesVerifyMessage)(
180            pVerifyPara,
181            dwSignerIndex,
182            pbSignedBlob,
183            cbSignedBlob,
184            ppDecodedBlob,
185            ppVerificationInfo,
186        )
187    }
188    pub unsafe fn CadesVerifyDetachedMessage(
189        &self,
190        pVerifyPara: PCADES_VERIFY_MESSAGE_PARA,
191        dwSignerIndex: DWORD,
192        pbDetachedSignBlob: *const BYTE,
193        cbDetachedSignBlob: DWORD,
194        cToBeSigned: DWORD,
195        rgpbToBeSigned: *mut *const BYTE,
196        rgcbToBeSigned: *mut DWORD,
197        ppVerificationInfo: *mut PCADES_VERIFICATION_INFO,
198    ) -> BOOL {
199        (self.CadesVerifyDetachedMessage)(
200            pVerifyPara,
201            dwSignerIndex,
202            pbDetachedSignBlob,
203            cbDetachedSignBlob,
204            cToBeSigned,
205            rgpbToBeSigned,
206            rgcbToBeSigned,
207            ppVerificationInfo,
208        )
209    }
210    pub unsafe fn CadesEnhanceMessage(
211        &self,
212        pEnhancePara: PCADES_ENHANCE_MESSAGE_PARA,
213        dwSignerIndex: DWORD,
214        pbSignedBlob: *const BYTE,
215        cbSignedBlob: DWORD,
216        ppEnhancedBlob: *mut PCRYPT_DATA_BLOB,
217    ) -> BOOL {
218        (self.CadesEnhanceMessage)(
219            pEnhancePara,
220            dwSignerIndex,
221            pbSignedBlob,
222            cbSignedBlob,
223            ppEnhancedBlob,
224        )
225    }
226    pub unsafe fn CadesFreeVerificationInfo(
227        &self,
228        pVerificationInfo: PCADES_VERIFICATION_INFO,
229    ) -> BOOL {
230        (self.CadesFreeVerificationInfo)(pVerificationInfo)
231    }
232    pub unsafe fn CadesFreeBlob(&self, pBlob: PCRYPT_DATA_BLOB) -> BOOL {
233        (self.CadesFreeBlob)(pBlob)
234    }
235    pub unsafe fn CadesFormatMessage(
236        &self,
237        dwFlags: DWORD,
238        lpSource: LPCVOID,
239        dwMessageId: DWORD,
240        dwLanguageId: DWORD,
241        lpBuffer: LPTSTR,
242        nSize: DWORD,
243        Arguments: *mut va_list,
244    ) -> DWORD {
245        (self.CadesFormatMessage)(
246            dwFlags,
247            lpSource,
248            dwMessageId,
249            dwLanguageId,
250            lpBuffer,
251            nSize,
252            Arguments,
253        )
254    }
255}