2 pub union CResult_SecretKeyErrorZPtr {
3 pub result: *mut crate::c_types::SecretKey,
4 pub err: *mut crate::c_types::Secp256k1Error,
7 pub struct CResult_SecretKeyErrorZ {
8 pub contents: CResult_SecretKeyErrorZPtr,
12 pub extern "C" fn CResult_SecretKeyErrorZ_ok(o: crate::c_types::SecretKey) -> CResult_SecretKeyErrorZ {
13 CResult_SecretKeyErrorZ {
14 contents: CResult_SecretKeyErrorZPtr {
15 result: Box::into_raw(Box::new(o)),
21 pub extern "C" fn CResult_SecretKeyErrorZ_err(e: crate::c_types::Secp256k1Error) -> CResult_SecretKeyErrorZ {
22 CResult_SecretKeyErrorZ {
23 contents: CResult_SecretKeyErrorZPtr {
24 err: Box::into_raw(Box::new(e)),
30 pub extern "C" fn CResult_SecretKeyErrorZ_free(_res: CResult_SecretKeyErrorZ) { }
31 impl Drop for CResult_SecretKeyErrorZ {
34 if unsafe { !(self.contents.result as *mut ()).is_null() } {
35 let _ = unsafe { Box::from_raw(self.contents.result) };
38 if unsafe { !(self.contents.err as *mut ()).is_null() } {
39 let _ = unsafe { Box::from_raw(self.contents.err) };
44 impl From<crate::c_types::CResultTempl<crate::c_types::SecretKey, crate::c_types::Secp256k1Error>> for CResult_SecretKeyErrorZ {
45 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::SecretKey, crate::c_types::Secp256k1Error>) -> Self {
46 let contents = if o.result_ok {
47 let result = unsafe { o.contents.result };
48 unsafe { o.contents.result = std::ptr::null_mut() };
49 CResult_SecretKeyErrorZPtr { result }
51 let err = unsafe { o.contents.err };
52 unsafe { o.contents.err = std::ptr::null_mut(); }
53 CResult_SecretKeyErrorZPtr { err }
57 result_ok: o.result_ok,
62 pub union CResult_PublicKeyErrorZPtr {
63 pub result: *mut crate::c_types::PublicKey,
64 pub err: *mut crate::c_types::Secp256k1Error,
67 pub struct CResult_PublicKeyErrorZ {
68 pub contents: CResult_PublicKeyErrorZPtr,
72 pub extern "C" fn CResult_PublicKeyErrorZ_ok(o: crate::c_types::PublicKey) -> CResult_PublicKeyErrorZ {
73 CResult_PublicKeyErrorZ {
74 contents: CResult_PublicKeyErrorZPtr {
75 result: Box::into_raw(Box::new(o)),
81 pub extern "C" fn CResult_PublicKeyErrorZ_err(e: crate::c_types::Secp256k1Error) -> CResult_PublicKeyErrorZ {
82 CResult_PublicKeyErrorZ {
83 contents: CResult_PublicKeyErrorZPtr {
84 err: Box::into_raw(Box::new(e)),
90 pub extern "C" fn CResult_PublicKeyErrorZ_free(_res: CResult_PublicKeyErrorZ) { }
91 impl Drop for CResult_PublicKeyErrorZ {
94 if unsafe { !(self.contents.result as *mut ()).is_null() } {
95 let _ = unsafe { Box::from_raw(self.contents.result) };
98 if unsafe { !(self.contents.err as *mut ()).is_null() } {
99 let _ = unsafe { Box::from_raw(self.contents.err) };
104 impl From<crate::c_types::CResultTempl<crate::c_types::PublicKey, crate::c_types::Secp256k1Error>> for CResult_PublicKeyErrorZ {
105 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::PublicKey, crate::c_types::Secp256k1Error>) -> Self {
106 let contents = if o.result_ok {
107 let result = unsafe { o.contents.result };
108 unsafe { o.contents.result = std::ptr::null_mut() };
109 CResult_PublicKeyErrorZPtr { result }
111 let err = unsafe { o.contents.err };
112 unsafe { o.contents.err = std::ptr::null_mut(); }
113 CResult_PublicKeyErrorZPtr { err }
117 result_ok: o.result_ok,
122 pub union CResult_TxCreationKeysDecodeErrorZPtr {
123 pub result: *mut crate::ln::chan_utils::TxCreationKeys,
124 pub err: *mut crate::ln::msgs::DecodeError,
127 pub struct CResult_TxCreationKeysDecodeErrorZ {
128 pub contents: CResult_TxCreationKeysDecodeErrorZPtr,
132 pub extern "C" fn CResult_TxCreationKeysDecodeErrorZ_ok(o: crate::ln::chan_utils::TxCreationKeys) -> CResult_TxCreationKeysDecodeErrorZ {
133 CResult_TxCreationKeysDecodeErrorZ {
134 contents: CResult_TxCreationKeysDecodeErrorZPtr {
135 result: Box::into_raw(Box::new(o)),
141 pub extern "C" fn CResult_TxCreationKeysDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_TxCreationKeysDecodeErrorZ {
142 CResult_TxCreationKeysDecodeErrorZ {
143 contents: CResult_TxCreationKeysDecodeErrorZPtr {
144 err: Box::into_raw(Box::new(e)),
150 pub extern "C" fn CResult_TxCreationKeysDecodeErrorZ_free(_res: CResult_TxCreationKeysDecodeErrorZ) { }
151 impl Drop for CResult_TxCreationKeysDecodeErrorZ {
154 if unsafe { !(self.contents.result as *mut ()).is_null() } {
155 let _ = unsafe { Box::from_raw(self.contents.result) };
158 if unsafe { !(self.contents.err as *mut ()).is_null() } {
159 let _ = unsafe { Box::from_raw(self.contents.err) };
164 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::TxCreationKeys, crate::ln::msgs::DecodeError>> for CResult_TxCreationKeysDecodeErrorZ {
165 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::TxCreationKeys, crate::ln::msgs::DecodeError>) -> Self {
166 let contents = if o.result_ok {
167 let result = unsafe { o.contents.result };
168 unsafe { o.contents.result = std::ptr::null_mut() };
169 CResult_TxCreationKeysDecodeErrorZPtr { result }
171 let err = unsafe { o.contents.err };
172 unsafe { o.contents.err = std::ptr::null_mut(); }
173 CResult_TxCreationKeysDecodeErrorZPtr { err }
177 result_ok: o.result_ok,
181 impl Clone for CResult_TxCreationKeysDecodeErrorZ {
182 fn clone(&self) -> Self {
184 Self { result_ok: true, contents: CResult_TxCreationKeysDecodeErrorZPtr {
185 result: Box::into_raw(Box::new(<crate::ln::chan_utils::TxCreationKeys>::clone(unsafe { &*self.contents.result })))
188 Self { result_ok: false, contents: CResult_TxCreationKeysDecodeErrorZPtr {
189 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
195 pub extern "C" fn CResult_TxCreationKeysDecodeErrorZ_clone(orig: &CResult_TxCreationKeysDecodeErrorZ) -> CResult_TxCreationKeysDecodeErrorZ { orig.clone() }
197 pub union CResult_ChannelPublicKeysDecodeErrorZPtr {
198 pub result: *mut crate::ln::chan_utils::ChannelPublicKeys,
199 pub err: *mut crate::ln::msgs::DecodeError,
202 pub struct CResult_ChannelPublicKeysDecodeErrorZ {
203 pub contents: CResult_ChannelPublicKeysDecodeErrorZPtr,
207 pub extern "C" fn CResult_ChannelPublicKeysDecodeErrorZ_ok(o: crate::ln::chan_utils::ChannelPublicKeys) -> CResult_ChannelPublicKeysDecodeErrorZ {
208 CResult_ChannelPublicKeysDecodeErrorZ {
209 contents: CResult_ChannelPublicKeysDecodeErrorZPtr {
210 result: Box::into_raw(Box::new(o)),
216 pub extern "C" fn CResult_ChannelPublicKeysDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelPublicKeysDecodeErrorZ {
217 CResult_ChannelPublicKeysDecodeErrorZ {
218 contents: CResult_ChannelPublicKeysDecodeErrorZPtr {
219 err: Box::into_raw(Box::new(e)),
225 pub extern "C" fn CResult_ChannelPublicKeysDecodeErrorZ_free(_res: CResult_ChannelPublicKeysDecodeErrorZ) { }
226 impl Drop for CResult_ChannelPublicKeysDecodeErrorZ {
229 if unsafe { !(self.contents.result as *mut ()).is_null() } {
230 let _ = unsafe { Box::from_raw(self.contents.result) };
233 if unsafe { !(self.contents.err as *mut ()).is_null() } {
234 let _ = unsafe { Box::from_raw(self.contents.err) };
239 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::ChannelPublicKeys, crate::ln::msgs::DecodeError>> for CResult_ChannelPublicKeysDecodeErrorZ {
240 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::ChannelPublicKeys, crate::ln::msgs::DecodeError>) -> Self {
241 let contents = if o.result_ok {
242 let result = unsafe { o.contents.result };
243 unsafe { o.contents.result = std::ptr::null_mut() };
244 CResult_ChannelPublicKeysDecodeErrorZPtr { result }
246 let err = unsafe { o.contents.err };
247 unsafe { o.contents.err = std::ptr::null_mut(); }
248 CResult_ChannelPublicKeysDecodeErrorZPtr { err }
252 result_ok: o.result_ok,
256 impl Clone for CResult_ChannelPublicKeysDecodeErrorZ {
257 fn clone(&self) -> Self {
259 Self { result_ok: true, contents: CResult_ChannelPublicKeysDecodeErrorZPtr {
260 result: Box::into_raw(Box::new(<crate::ln::chan_utils::ChannelPublicKeys>::clone(unsafe { &*self.contents.result })))
263 Self { result_ok: false, contents: CResult_ChannelPublicKeysDecodeErrorZPtr {
264 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
270 pub extern "C" fn CResult_ChannelPublicKeysDecodeErrorZ_clone(orig: &CResult_ChannelPublicKeysDecodeErrorZ) -> CResult_ChannelPublicKeysDecodeErrorZ { orig.clone() }
272 pub union CResult_TxCreationKeysErrorZPtr {
273 pub result: *mut crate::ln::chan_utils::TxCreationKeys,
274 pub err: *mut crate::c_types::Secp256k1Error,
277 pub struct CResult_TxCreationKeysErrorZ {
278 pub contents: CResult_TxCreationKeysErrorZPtr,
282 pub extern "C" fn CResult_TxCreationKeysErrorZ_ok(o: crate::ln::chan_utils::TxCreationKeys) -> CResult_TxCreationKeysErrorZ {
283 CResult_TxCreationKeysErrorZ {
284 contents: CResult_TxCreationKeysErrorZPtr {
285 result: Box::into_raw(Box::new(o)),
291 pub extern "C" fn CResult_TxCreationKeysErrorZ_err(e: crate::c_types::Secp256k1Error) -> CResult_TxCreationKeysErrorZ {
292 CResult_TxCreationKeysErrorZ {
293 contents: CResult_TxCreationKeysErrorZPtr {
294 err: Box::into_raw(Box::new(e)),
300 pub extern "C" fn CResult_TxCreationKeysErrorZ_free(_res: CResult_TxCreationKeysErrorZ) { }
301 impl Drop for CResult_TxCreationKeysErrorZ {
304 if unsafe { !(self.contents.result as *mut ()).is_null() } {
305 let _ = unsafe { Box::from_raw(self.contents.result) };
308 if unsafe { !(self.contents.err as *mut ()).is_null() } {
309 let _ = unsafe { Box::from_raw(self.contents.err) };
314 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::TxCreationKeys, crate::c_types::Secp256k1Error>> for CResult_TxCreationKeysErrorZ {
315 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::TxCreationKeys, crate::c_types::Secp256k1Error>) -> Self {
316 let contents = if o.result_ok {
317 let result = unsafe { o.contents.result };
318 unsafe { o.contents.result = std::ptr::null_mut() };
319 CResult_TxCreationKeysErrorZPtr { result }
321 let err = unsafe { o.contents.err };
322 unsafe { o.contents.err = std::ptr::null_mut(); }
323 CResult_TxCreationKeysErrorZPtr { err }
327 result_ok: o.result_ok,
332 pub union CResult_HTLCOutputInCommitmentDecodeErrorZPtr {
333 pub result: *mut crate::ln::chan_utils::HTLCOutputInCommitment,
334 pub err: *mut crate::ln::msgs::DecodeError,
337 pub struct CResult_HTLCOutputInCommitmentDecodeErrorZ {
338 pub contents: CResult_HTLCOutputInCommitmentDecodeErrorZPtr,
342 pub extern "C" fn CResult_HTLCOutputInCommitmentDecodeErrorZ_ok(o: crate::ln::chan_utils::HTLCOutputInCommitment) -> CResult_HTLCOutputInCommitmentDecodeErrorZ {
343 CResult_HTLCOutputInCommitmentDecodeErrorZ {
344 contents: CResult_HTLCOutputInCommitmentDecodeErrorZPtr {
345 result: Box::into_raw(Box::new(o)),
351 pub extern "C" fn CResult_HTLCOutputInCommitmentDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_HTLCOutputInCommitmentDecodeErrorZ {
352 CResult_HTLCOutputInCommitmentDecodeErrorZ {
353 contents: CResult_HTLCOutputInCommitmentDecodeErrorZPtr {
354 err: Box::into_raw(Box::new(e)),
360 pub extern "C" fn CResult_HTLCOutputInCommitmentDecodeErrorZ_free(_res: CResult_HTLCOutputInCommitmentDecodeErrorZ) { }
361 impl Drop for CResult_HTLCOutputInCommitmentDecodeErrorZ {
364 if unsafe { !(self.contents.result as *mut ()).is_null() } {
365 let _ = unsafe { Box::from_raw(self.contents.result) };
368 if unsafe { !(self.contents.err as *mut ()).is_null() } {
369 let _ = unsafe { Box::from_raw(self.contents.err) };
374 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::HTLCOutputInCommitment, crate::ln::msgs::DecodeError>> for CResult_HTLCOutputInCommitmentDecodeErrorZ {
375 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::HTLCOutputInCommitment, crate::ln::msgs::DecodeError>) -> Self {
376 let contents = if o.result_ok {
377 let result = unsafe { o.contents.result };
378 unsafe { o.contents.result = std::ptr::null_mut() };
379 CResult_HTLCOutputInCommitmentDecodeErrorZPtr { result }
381 let err = unsafe { o.contents.err };
382 unsafe { o.contents.err = std::ptr::null_mut(); }
383 CResult_HTLCOutputInCommitmentDecodeErrorZPtr { err }
387 result_ok: o.result_ok,
391 impl Clone for CResult_HTLCOutputInCommitmentDecodeErrorZ {
392 fn clone(&self) -> Self {
394 Self { result_ok: true, contents: CResult_HTLCOutputInCommitmentDecodeErrorZPtr {
395 result: Box::into_raw(Box::new(<crate::ln::chan_utils::HTLCOutputInCommitment>::clone(unsafe { &*self.contents.result })))
398 Self { result_ok: false, contents: CResult_HTLCOutputInCommitmentDecodeErrorZPtr {
399 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
405 pub extern "C" fn CResult_HTLCOutputInCommitmentDecodeErrorZ_clone(orig: &CResult_HTLCOutputInCommitmentDecodeErrorZ) -> CResult_HTLCOutputInCommitmentDecodeErrorZ { orig.clone() }
407 pub union CResult_CounterpartyChannelTransactionParametersDecodeErrorZPtr {
408 pub result: *mut crate::ln::chan_utils::CounterpartyChannelTransactionParameters,
409 pub err: *mut crate::ln::msgs::DecodeError,
412 pub struct CResult_CounterpartyChannelTransactionParametersDecodeErrorZ {
413 pub contents: CResult_CounterpartyChannelTransactionParametersDecodeErrorZPtr,
417 pub extern "C" fn CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_ok(o: crate::ln::chan_utils::CounterpartyChannelTransactionParameters) -> CResult_CounterpartyChannelTransactionParametersDecodeErrorZ {
418 CResult_CounterpartyChannelTransactionParametersDecodeErrorZ {
419 contents: CResult_CounterpartyChannelTransactionParametersDecodeErrorZPtr {
420 result: Box::into_raw(Box::new(o)),
426 pub extern "C" fn CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_CounterpartyChannelTransactionParametersDecodeErrorZ {
427 CResult_CounterpartyChannelTransactionParametersDecodeErrorZ {
428 contents: CResult_CounterpartyChannelTransactionParametersDecodeErrorZPtr {
429 err: Box::into_raw(Box::new(e)),
435 pub extern "C" fn CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_free(_res: CResult_CounterpartyChannelTransactionParametersDecodeErrorZ) { }
436 impl Drop for CResult_CounterpartyChannelTransactionParametersDecodeErrorZ {
439 if unsafe { !(self.contents.result as *mut ()).is_null() } {
440 let _ = unsafe { Box::from_raw(self.contents.result) };
443 if unsafe { !(self.contents.err as *mut ()).is_null() } {
444 let _ = unsafe { Box::from_raw(self.contents.err) };
449 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::CounterpartyChannelTransactionParameters, crate::ln::msgs::DecodeError>> for CResult_CounterpartyChannelTransactionParametersDecodeErrorZ {
450 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::CounterpartyChannelTransactionParameters, crate::ln::msgs::DecodeError>) -> Self {
451 let contents = if o.result_ok {
452 let result = unsafe { o.contents.result };
453 unsafe { o.contents.result = std::ptr::null_mut() };
454 CResult_CounterpartyChannelTransactionParametersDecodeErrorZPtr { result }
456 let err = unsafe { o.contents.err };
457 unsafe { o.contents.err = std::ptr::null_mut(); }
458 CResult_CounterpartyChannelTransactionParametersDecodeErrorZPtr { err }
462 result_ok: o.result_ok,
466 impl Clone for CResult_CounterpartyChannelTransactionParametersDecodeErrorZ {
467 fn clone(&self) -> Self {
469 Self { result_ok: true, contents: CResult_CounterpartyChannelTransactionParametersDecodeErrorZPtr {
470 result: Box::into_raw(Box::new(<crate::ln::chan_utils::CounterpartyChannelTransactionParameters>::clone(unsafe { &*self.contents.result })))
473 Self { result_ok: false, contents: CResult_CounterpartyChannelTransactionParametersDecodeErrorZPtr {
474 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
480 pub extern "C" fn CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_clone(orig: &CResult_CounterpartyChannelTransactionParametersDecodeErrorZ) -> CResult_CounterpartyChannelTransactionParametersDecodeErrorZ { orig.clone() }
482 pub union CResult_ChannelTransactionParametersDecodeErrorZPtr {
483 pub result: *mut crate::ln::chan_utils::ChannelTransactionParameters,
484 pub err: *mut crate::ln::msgs::DecodeError,
487 pub struct CResult_ChannelTransactionParametersDecodeErrorZ {
488 pub contents: CResult_ChannelTransactionParametersDecodeErrorZPtr,
492 pub extern "C" fn CResult_ChannelTransactionParametersDecodeErrorZ_ok(o: crate::ln::chan_utils::ChannelTransactionParameters) -> CResult_ChannelTransactionParametersDecodeErrorZ {
493 CResult_ChannelTransactionParametersDecodeErrorZ {
494 contents: CResult_ChannelTransactionParametersDecodeErrorZPtr {
495 result: Box::into_raw(Box::new(o)),
501 pub extern "C" fn CResult_ChannelTransactionParametersDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelTransactionParametersDecodeErrorZ {
502 CResult_ChannelTransactionParametersDecodeErrorZ {
503 contents: CResult_ChannelTransactionParametersDecodeErrorZPtr {
504 err: Box::into_raw(Box::new(e)),
510 pub extern "C" fn CResult_ChannelTransactionParametersDecodeErrorZ_free(_res: CResult_ChannelTransactionParametersDecodeErrorZ) { }
511 impl Drop for CResult_ChannelTransactionParametersDecodeErrorZ {
514 if unsafe { !(self.contents.result as *mut ()).is_null() } {
515 let _ = unsafe { Box::from_raw(self.contents.result) };
518 if unsafe { !(self.contents.err as *mut ()).is_null() } {
519 let _ = unsafe { Box::from_raw(self.contents.err) };
524 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::ChannelTransactionParameters, crate::ln::msgs::DecodeError>> for CResult_ChannelTransactionParametersDecodeErrorZ {
525 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::ChannelTransactionParameters, crate::ln::msgs::DecodeError>) -> Self {
526 let contents = if o.result_ok {
527 let result = unsafe { o.contents.result };
528 unsafe { o.contents.result = std::ptr::null_mut() };
529 CResult_ChannelTransactionParametersDecodeErrorZPtr { result }
531 let err = unsafe { o.contents.err };
532 unsafe { o.contents.err = std::ptr::null_mut(); }
533 CResult_ChannelTransactionParametersDecodeErrorZPtr { err }
537 result_ok: o.result_ok,
541 impl Clone for CResult_ChannelTransactionParametersDecodeErrorZ {
542 fn clone(&self) -> Self {
544 Self { result_ok: true, contents: CResult_ChannelTransactionParametersDecodeErrorZPtr {
545 result: Box::into_raw(Box::new(<crate::ln::chan_utils::ChannelTransactionParameters>::clone(unsafe { &*self.contents.result })))
548 Self { result_ok: false, contents: CResult_ChannelTransactionParametersDecodeErrorZPtr {
549 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
555 pub extern "C" fn CResult_ChannelTransactionParametersDecodeErrorZ_clone(orig: &CResult_ChannelTransactionParametersDecodeErrorZ) -> CResult_ChannelTransactionParametersDecodeErrorZ { orig.clone() }
557 pub struct CVec_SignatureZ {
558 pub data: *mut crate::c_types::Signature,
561 impl CVec_SignatureZ {
562 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::c_types::Signature> {
563 if self.datalen == 0 { return Vec::new(); }
564 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
565 self.data = std::ptr::null_mut();
569 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::c_types::Signature] {
570 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
573 impl From<Vec<crate::c_types::Signature>> for CVec_SignatureZ {
574 fn from(v: Vec<crate::c_types::Signature>) -> Self {
575 let datalen = v.len();
576 let data = Box::into_raw(v.into_boxed_slice());
577 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
581 pub extern "C" fn CVec_SignatureZ_free(_res: CVec_SignatureZ) { }
582 impl Drop for CVec_SignatureZ {
584 if self.datalen == 0 { return; }
585 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
588 impl Clone for CVec_SignatureZ {
589 fn clone(&self) -> Self {
590 let mut res = Vec::new();
591 if self.datalen == 0 { return Self::from(res); }
592 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
597 pub union CResult_HolderCommitmentTransactionDecodeErrorZPtr {
598 pub result: *mut crate::ln::chan_utils::HolderCommitmentTransaction,
599 pub err: *mut crate::ln::msgs::DecodeError,
602 pub struct CResult_HolderCommitmentTransactionDecodeErrorZ {
603 pub contents: CResult_HolderCommitmentTransactionDecodeErrorZPtr,
607 pub extern "C" fn CResult_HolderCommitmentTransactionDecodeErrorZ_ok(o: crate::ln::chan_utils::HolderCommitmentTransaction) -> CResult_HolderCommitmentTransactionDecodeErrorZ {
608 CResult_HolderCommitmentTransactionDecodeErrorZ {
609 contents: CResult_HolderCommitmentTransactionDecodeErrorZPtr {
610 result: Box::into_raw(Box::new(o)),
616 pub extern "C" fn CResult_HolderCommitmentTransactionDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_HolderCommitmentTransactionDecodeErrorZ {
617 CResult_HolderCommitmentTransactionDecodeErrorZ {
618 contents: CResult_HolderCommitmentTransactionDecodeErrorZPtr {
619 err: Box::into_raw(Box::new(e)),
625 pub extern "C" fn CResult_HolderCommitmentTransactionDecodeErrorZ_free(_res: CResult_HolderCommitmentTransactionDecodeErrorZ) { }
626 impl Drop for CResult_HolderCommitmentTransactionDecodeErrorZ {
629 if unsafe { !(self.contents.result as *mut ()).is_null() } {
630 let _ = unsafe { Box::from_raw(self.contents.result) };
633 if unsafe { !(self.contents.err as *mut ()).is_null() } {
634 let _ = unsafe { Box::from_raw(self.contents.err) };
639 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::HolderCommitmentTransaction, crate::ln::msgs::DecodeError>> for CResult_HolderCommitmentTransactionDecodeErrorZ {
640 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::HolderCommitmentTransaction, crate::ln::msgs::DecodeError>) -> Self {
641 let contents = if o.result_ok {
642 let result = unsafe { o.contents.result };
643 unsafe { o.contents.result = std::ptr::null_mut() };
644 CResult_HolderCommitmentTransactionDecodeErrorZPtr { result }
646 let err = unsafe { o.contents.err };
647 unsafe { o.contents.err = std::ptr::null_mut(); }
648 CResult_HolderCommitmentTransactionDecodeErrorZPtr { err }
652 result_ok: o.result_ok,
656 impl Clone for CResult_HolderCommitmentTransactionDecodeErrorZ {
657 fn clone(&self) -> Self {
659 Self { result_ok: true, contents: CResult_HolderCommitmentTransactionDecodeErrorZPtr {
660 result: Box::into_raw(Box::new(<crate::ln::chan_utils::HolderCommitmentTransaction>::clone(unsafe { &*self.contents.result })))
663 Self { result_ok: false, contents: CResult_HolderCommitmentTransactionDecodeErrorZPtr {
664 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
670 pub extern "C" fn CResult_HolderCommitmentTransactionDecodeErrorZ_clone(orig: &CResult_HolderCommitmentTransactionDecodeErrorZ) -> CResult_HolderCommitmentTransactionDecodeErrorZ { orig.clone() }
672 pub union CResult_BuiltCommitmentTransactionDecodeErrorZPtr {
673 pub result: *mut crate::ln::chan_utils::BuiltCommitmentTransaction,
674 pub err: *mut crate::ln::msgs::DecodeError,
677 pub struct CResult_BuiltCommitmentTransactionDecodeErrorZ {
678 pub contents: CResult_BuiltCommitmentTransactionDecodeErrorZPtr,
682 pub extern "C" fn CResult_BuiltCommitmentTransactionDecodeErrorZ_ok(o: crate::ln::chan_utils::BuiltCommitmentTransaction) -> CResult_BuiltCommitmentTransactionDecodeErrorZ {
683 CResult_BuiltCommitmentTransactionDecodeErrorZ {
684 contents: CResult_BuiltCommitmentTransactionDecodeErrorZPtr {
685 result: Box::into_raw(Box::new(o)),
691 pub extern "C" fn CResult_BuiltCommitmentTransactionDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_BuiltCommitmentTransactionDecodeErrorZ {
692 CResult_BuiltCommitmentTransactionDecodeErrorZ {
693 contents: CResult_BuiltCommitmentTransactionDecodeErrorZPtr {
694 err: Box::into_raw(Box::new(e)),
700 pub extern "C" fn CResult_BuiltCommitmentTransactionDecodeErrorZ_free(_res: CResult_BuiltCommitmentTransactionDecodeErrorZ) { }
701 impl Drop for CResult_BuiltCommitmentTransactionDecodeErrorZ {
704 if unsafe { !(self.contents.result as *mut ()).is_null() } {
705 let _ = unsafe { Box::from_raw(self.contents.result) };
708 if unsafe { !(self.contents.err as *mut ()).is_null() } {
709 let _ = unsafe { Box::from_raw(self.contents.err) };
714 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::BuiltCommitmentTransaction, crate::ln::msgs::DecodeError>> for CResult_BuiltCommitmentTransactionDecodeErrorZ {
715 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::BuiltCommitmentTransaction, crate::ln::msgs::DecodeError>) -> Self {
716 let contents = if o.result_ok {
717 let result = unsafe { o.contents.result };
718 unsafe { o.contents.result = std::ptr::null_mut() };
719 CResult_BuiltCommitmentTransactionDecodeErrorZPtr { result }
721 let err = unsafe { o.contents.err };
722 unsafe { o.contents.err = std::ptr::null_mut(); }
723 CResult_BuiltCommitmentTransactionDecodeErrorZPtr { err }
727 result_ok: o.result_ok,
731 impl Clone for CResult_BuiltCommitmentTransactionDecodeErrorZ {
732 fn clone(&self) -> Self {
734 Self { result_ok: true, contents: CResult_BuiltCommitmentTransactionDecodeErrorZPtr {
735 result: Box::into_raw(Box::new(<crate::ln::chan_utils::BuiltCommitmentTransaction>::clone(unsafe { &*self.contents.result })))
738 Self { result_ok: false, contents: CResult_BuiltCommitmentTransactionDecodeErrorZPtr {
739 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
745 pub extern "C" fn CResult_BuiltCommitmentTransactionDecodeErrorZ_clone(orig: &CResult_BuiltCommitmentTransactionDecodeErrorZ) -> CResult_BuiltCommitmentTransactionDecodeErrorZ { orig.clone() }
747 pub union CResult_CommitmentTransactionDecodeErrorZPtr {
748 pub result: *mut crate::ln::chan_utils::CommitmentTransaction,
749 pub err: *mut crate::ln::msgs::DecodeError,
752 pub struct CResult_CommitmentTransactionDecodeErrorZ {
753 pub contents: CResult_CommitmentTransactionDecodeErrorZPtr,
757 pub extern "C" fn CResult_CommitmentTransactionDecodeErrorZ_ok(o: crate::ln::chan_utils::CommitmentTransaction) -> CResult_CommitmentTransactionDecodeErrorZ {
758 CResult_CommitmentTransactionDecodeErrorZ {
759 contents: CResult_CommitmentTransactionDecodeErrorZPtr {
760 result: Box::into_raw(Box::new(o)),
766 pub extern "C" fn CResult_CommitmentTransactionDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_CommitmentTransactionDecodeErrorZ {
767 CResult_CommitmentTransactionDecodeErrorZ {
768 contents: CResult_CommitmentTransactionDecodeErrorZPtr {
769 err: Box::into_raw(Box::new(e)),
775 pub extern "C" fn CResult_CommitmentTransactionDecodeErrorZ_free(_res: CResult_CommitmentTransactionDecodeErrorZ) { }
776 impl Drop for CResult_CommitmentTransactionDecodeErrorZ {
779 if unsafe { !(self.contents.result as *mut ()).is_null() } {
780 let _ = unsafe { Box::from_raw(self.contents.result) };
783 if unsafe { !(self.contents.err as *mut ()).is_null() } {
784 let _ = unsafe { Box::from_raw(self.contents.err) };
789 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::CommitmentTransaction, crate::ln::msgs::DecodeError>> for CResult_CommitmentTransactionDecodeErrorZ {
790 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::CommitmentTransaction, crate::ln::msgs::DecodeError>) -> Self {
791 let contents = if o.result_ok {
792 let result = unsafe { o.contents.result };
793 unsafe { o.contents.result = std::ptr::null_mut() };
794 CResult_CommitmentTransactionDecodeErrorZPtr { result }
796 let err = unsafe { o.contents.err };
797 unsafe { o.contents.err = std::ptr::null_mut(); }
798 CResult_CommitmentTransactionDecodeErrorZPtr { err }
802 result_ok: o.result_ok,
806 impl Clone for CResult_CommitmentTransactionDecodeErrorZ {
807 fn clone(&self) -> Self {
809 Self { result_ok: true, contents: CResult_CommitmentTransactionDecodeErrorZPtr {
810 result: Box::into_raw(Box::new(<crate::ln::chan_utils::CommitmentTransaction>::clone(unsafe { &*self.contents.result })))
813 Self { result_ok: false, contents: CResult_CommitmentTransactionDecodeErrorZPtr {
814 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
820 pub extern "C" fn CResult_CommitmentTransactionDecodeErrorZ_clone(orig: &CResult_CommitmentTransactionDecodeErrorZ) -> CResult_CommitmentTransactionDecodeErrorZ { orig.clone() }
822 pub union CResult_TrustedCommitmentTransactionNoneZPtr {
823 pub result: *mut crate::ln::chan_utils::TrustedCommitmentTransaction,
824 /// Note that this value is always NULL, as there are no contents in the Err variant
825 pub err: *mut std::ffi::c_void,
828 pub struct CResult_TrustedCommitmentTransactionNoneZ {
829 pub contents: CResult_TrustedCommitmentTransactionNoneZPtr,
833 pub extern "C" fn CResult_TrustedCommitmentTransactionNoneZ_ok(o: crate::ln::chan_utils::TrustedCommitmentTransaction) -> CResult_TrustedCommitmentTransactionNoneZ {
834 CResult_TrustedCommitmentTransactionNoneZ {
835 contents: CResult_TrustedCommitmentTransactionNoneZPtr {
836 result: Box::into_raw(Box::new(o)),
842 pub extern "C" fn CResult_TrustedCommitmentTransactionNoneZ_err() -> CResult_TrustedCommitmentTransactionNoneZ {
843 CResult_TrustedCommitmentTransactionNoneZ {
844 contents: CResult_TrustedCommitmentTransactionNoneZPtr {
845 err: std::ptr::null_mut(),
851 pub extern "C" fn CResult_TrustedCommitmentTransactionNoneZ_free(_res: CResult_TrustedCommitmentTransactionNoneZ) { }
852 impl Drop for CResult_TrustedCommitmentTransactionNoneZ {
855 if unsafe { !(self.contents.result as *mut ()).is_null() } {
856 let _ = unsafe { Box::from_raw(self.contents.result) };
862 impl From<crate::c_types::CResultTempl<crate::ln::chan_utils::TrustedCommitmentTransaction, u8>> for CResult_TrustedCommitmentTransactionNoneZ {
863 fn from(mut o: crate::c_types::CResultTempl<crate::ln::chan_utils::TrustedCommitmentTransaction, u8>) -> Self {
864 let contents = if o.result_ok {
865 let result = unsafe { o.contents.result };
866 unsafe { o.contents.result = std::ptr::null_mut() };
867 CResult_TrustedCommitmentTransactionNoneZPtr { result }
869 let _ = unsafe { Box::from_raw(o.contents.err) };
870 o.contents.err = std::ptr::null_mut();
871 CResult_TrustedCommitmentTransactionNoneZPtr { err: std::ptr::null_mut() }
875 result_ok: o.result_ok,
880 pub union CResult_CVec_SignatureZNoneZPtr {
881 pub result: *mut crate::c_types::derived::CVec_SignatureZ,
882 /// Note that this value is always NULL, as there are no contents in the Err variant
883 pub err: *mut std::ffi::c_void,
886 pub struct CResult_CVec_SignatureZNoneZ {
887 pub contents: CResult_CVec_SignatureZNoneZPtr,
891 pub extern "C" fn CResult_CVec_SignatureZNoneZ_ok(o: crate::c_types::derived::CVec_SignatureZ) -> CResult_CVec_SignatureZNoneZ {
892 CResult_CVec_SignatureZNoneZ {
893 contents: CResult_CVec_SignatureZNoneZPtr {
894 result: Box::into_raw(Box::new(o)),
900 pub extern "C" fn CResult_CVec_SignatureZNoneZ_err() -> CResult_CVec_SignatureZNoneZ {
901 CResult_CVec_SignatureZNoneZ {
902 contents: CResult_CVec_SignatureZNoneZPtr {
903 err: std::ptr::null_mut(),
909 pub extern "C" fn CResult_CVec_SignatureZNoneZ_free(_res: CResult_CVec_SignatureZNoneZ) { }
910 impl Drop for CResult_CVec_SignatureZNoneZ {
913 if unsafe { !(self.contents.result as *mut ()).is_null() } {
914 let _ = unsafe { Box::from_raw(self.contents.result) };
920 impl From<crate::c_types::CResultTempl<crate::c_types::derived::CVec_SignatureZ, u8>> for CResult_CVec_SignatureZNoneZ {
921 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::derived::CVec_SignatureZ, u8>) -> Self {
922 let contents = if o.result_ok {
923 let result = unsafe { o.contents.result };
924 unsafe { o.contents.result = std::ptr::null_mut() };
925 CResult_CVec_SignatureZNoneZPtr { result }
927 let _ = unsafe { Box::from_raw(o.contents.err) };
928 o.contents.err = std::ptr::null_mut();
929 CResult_CVec_SignatureZNoneZPtr { err: std::ptr::null_mut() }
933 result_ok: o.result_ok,
937 impl Clone for CResult_CVec_SignatureZNoneZ {
938 fn clone(&self) -> Self {
940 Self { result_ok: true, contents: CResult_CVec_SignatureZNoneZPtr {
941 result: Box::into_raw(Box::new(<crate::c_types::derived::CVec_SignatureZ>::clone(unsafe { &*self.contents.result })))
944 Self { result_ok: false, contents: CResult_CVec_SignatureZNoneZPtr {
945 err: std::ptr::null_mut()
951 pub extern "C" fn CResult_CVec_SignatureZNoneZ_clone(orig: &CResult_CVec_SignatureZNoneZ) -> CResult_CVec_SignatureZNoneZ { orig.clone() }
953 pub struct CVec_PublicKeyZ {
954 pub data: *mut crate::c_types::PublicKey,
957 impl CVec_PublicKeyZ {
958 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::c_types::PublicKey> {
959 if self.datalen == 0 { return Vec::new(); }
960 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
961 self.data = std::ptr::null_mut();
965 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::c_types::PublicKey] {
966 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
969 impl From<Vec<crate::c_types::PublicKey>> for CVec_PublicKeyZ {
970 fn from(v: Vec<crate::c_types::PublicKey>) -> Self {
971 let datalen = v.len();
972 let data = Box::into_raw(v.into_boxed_slice());
973 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
977 pub extern "C" fn CVec_PublicKeyZ_free(_res: CVec_PublicKeyZ) { }
978 impl Drop for CVec_PublicKeyZ {
980 if self.datalen == 0 { return; }
981 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
985 pub struct CVec_u8Z {
990 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<u8> {
991 if self.datalen == 0 { return Vec::new(); }
992 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
993 self.data = std::ptr::null_mut();
997 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[u8] {
998 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
1001 impl From<Vec<u8>> for CVec_u8Z {
1002 fn from(v: Vec<u8>) -> Self {
1003 let datalen = v.len();
1004 let data = Box::into_raw(v.into_boxed_slice());
1005 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
1009 pub extern "C" fn CVec_u8Z_free(_res: CVec_u8Z) { }
1010 impl Drop for CVec_u8Z {
1011 fn drop(&mut self) {
1012 if self.datalen == 0 { return; }
1013 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
1016 impl Clone for CVec_u8Z {
1017 fn clone(&self) -> Self {
1018 let mut res = Vec::new();
1019 if self.datalen == 0 { return Self::from(res); }
1020 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
1025 pub union CResult_CVec_u8ZPeerHandleErrorZPtr {
1026 pub result: *mut crate::c_types::derived::CVec_u8Z,
1027 pub err: *mut crate::ln::peer_handler::PeerHandleError,
1030 pub struct CResult_CVec_u8ZPeerHandleErrorZ {
1031 pub contents: CResult_CVec_u8ZPeerHandleErrorZPtr,
1032 pub result_ok: bool,
1035 pub extern "C" fn CResult_CVec_u8ZPeerHandleErrorZ_ok(o: crate::c_types::derived::CVec_u8Z) -> CResult_CVec_u8ZPeerHandleErrorZ {
1036 CResult_CVec_u8ZPeerHandleErrorZ {
1037 contents: CResult_CVec_u8ZPeerHandleErrorZPtr {
1038 result: Box::into_raw(Box::new(o)),
1044 pub extern "C" fn CResult_CVec_u8ZPeerHandleErrorZ_err(e: crate::ln::peer_handler::PeerHandleError) -> CResult_CVec_u8ZPeerHandleErrorZ {
1045 CResult_CVec_u8ZPeerHandleErrorZ {
1046 contents: CResult_CVec_u8ZPeerHandleErrorZPtr {
1047 err: Box::into_raw(Box::new(e)),
1053 pub extern "C" fn CResult_CVec_u8ZPeerHandleErrorZ_free(_res: CResult_CVec_u8ZPeerHandleErrorZ) { }
1054 impl Drop for CResult_CVec_u8ZPeerHandleErrorZ {
1055 fn drop(&mut self) {
1057 if unsafe { !(self.contents.result as *mut ()).is_null() } {
1058 let _ = unsafe { Box::from_raw(self.contents.result) };
1061 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1062 let _ = unsafe { Box::from_raw(self.contents.err) };
1067 impl From<crate::c_types::CResultTempl<crate::c_types::derived::CVec_u8Z, crate::ln::peer_handler::PeerHandleError>> for CResult_CVec_u8ZPeerHandleErrorZ {
1068 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::derived::CVec_u8Z, crate::ln::peer_handler::PeerHandleError>) -> Self {
1069 let contents = if o.result_ok {
1070 let result = unsafe { o.contents.result };
1071 unsafe { o.contents.result = std::ptr::null_mut() };
1072 CResult_CVec_u8ZPeerHandleErrorZPtr { result }
1074 let err = unsafe { o.contents.err };
1075 unsafe { o.contents.err = std::ptr::null_mut(); }
1076 CResult_CVec_u8ZPeerHandleErrorZPtr { err }
1080 result_ok: o.result_ok,
1084 impl Clone for CResult_CVec_u8ZPeerHandleErrorZ {
1085 fn clone(&self) -> Self {
1087 Self { result_ok: true, contents: CResult_CVec_u8ZPeerHandleErrorZPtr {
1088 result: Box::into_raw(Box::new(<crate::c_types::derived::CVec_u8Z>::clone(unsafe { &*self.contents.result })))
1091 Self { result_ok: false, contents: CResult_CVec_u8ZPeerHandleErrorZPtr {
1092 err: Box::into_raw(Box::new(<crate::ln::peer_handler::PeerHandleError>::clone(unsafe { &*self.contents.err })))
1098 pub extern "C" fn CResult_CVec_u8ZPeerHandleErrorZ_clone(orig: &CResult_CVec_u8ZPeerHandleErrorZ) -> CResult_CVec_u8ZPeerHandleErrorZ { orig.clone() }
1100 pub union CResult_NonePeerHandleErrorZPtr {
1101 /// Note that this value is always NULL, as there are no contents in the OK variant
1102 pub result: *mut std::ffi::c_void,
1103 pub err: *mut crate::ln::peer_handler::PeerHandleError,
1106 pub struct CResult_NonePeerHandleErrorZ {
1107 pub contents: CResult_NonePeerHandleErrorZPtr,
1108 pub result_ok: bool,
1111 pub extern "C" fn CResult_NonePeerHandleErrorZ_ok() -> CResult_NonePeerHandleErrorZ {
1112 CResult_NonePeerHandleErrorZ {
1113 contents: CResult_NonePeerHandleErrorZPtr {
1114 result: std::ptr::null_mut(),
1120 pub extern "C" fn CResult_NonePeerHandleErrorZ_err(e: crate::ln::peer_handler::PeerHandleError) -> CResult_NonePeerHandleErrorZ {
1121 CResult_NonePeerHandleErrorZ {
1122 contents: CResult_NonePeerHandleErrorZPtr {
1123 err: Box::into_raw(Box::new(e)),
1129 pub extern "C" fn CResult_NonePeerHandleErrorZ_free(_res: CResult_NonePeerHandleErrorZ) { }
1130 impl Drop for CResult_NonePeerHandleErrorZ {
1131 fn drop(&mut self) {
1134 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1135 let _ = unsafe { Box::from_raw(self.contents.err) };
1140 impl From<crate::c_types::CResultTempl<u8, crate::ln::peer_handler::PeerHandleError>> for CResult_NonePeerHandleErrorZ {
1141 fn from(mut o: crate::c_types::CResultTempl<u8, crate::ln::peer_handler::PeerHandleError>) -> Self {
1142 let contents = if o.result_ok {
1143 let _ = unsafe { Box::from_raw(o.contents.result) };
1144 o.contents.result = std::ptr::null_mut();
1145 CResult_NonePeerHandleErrorZPtr { result: std::ptr::null_mut() }
1147 let err = unsafe { o.contents.err };
1148 unsafe { o.contents.err = std::ptr::null_mut(); }
1149 CResult_NonePeerHandleErrorZPtr { err }
1153 result_ok: o.result_ok,
1157 impl Clone for CResult_NonePeerHandleErrorZ {
1158 fn clone(&self) -> Self {
1160 Self { result_ok: true, contents: CResult_NonePeerHandleErrorZPtr {
1161 result: std::ptr::null_mut()
1164 Self { result_ok: false, contents: CResult_NonePeerHandleErrorZPtr {
1165 err: Box::into_raw(Box::new(<crate::ln::peer_handler::PeerHandleError>::clone(unsafe { &*self.contents.err })))
1171 pub extern "C" fn CResult_NonePeerHandleErrorZ_clone(orig: &CResult_NonePeerHandleErrorZ) -> CResult_NonePeerHandleErrorZ { orig.clone() }
1173 pub union CResult_boolPeerHandleErrorZPtr {
1174 pub result: *mut bool,
1175 pub err: *mut crate::ln::peer_handler::PeerHandleError,
1178 pub struct CResult_boolPeerHandleErrorZ {
1179 pub contents: CResult_boolPeerHandleErrorZPtr,
1180 pub result_ok: bool,
1183 pub extern "C" fn CResult_boolPeerHandleErrorZ_ok(o: bool) -> CResult_boolPeerHandleErrorZ {
1184 CResult_boolPeerHandleErrorZ {
1185 contents: CResult_boolPeerHandleErrorZPtr {
1186 result: Box::into_raw(Box::new(o)),
1192 pub extern "C" fn CResult_boolPeerHandleErrorZ_err(e: crate::ln::peer_handler::PeerHandleError) -> CResult_boolPeerHandleErrorZ {
1193 CResult_boolPeerHandleErrorZ {
1194 contents: CResult_boolPeerHandleErrorZPtr {
1195 err: Box::into_raw(Box::new(e)),
1201 pub extern "C" fn CResult_boolPeerHandleErrorZ_free(_res: CResult_boolPeerHandleErrorZ) { }
1202 impl Drop for CResult_boolPeerHandleErrorZ {
1203 fn drop(&mut self) {
1205 if unsafe { !(self.contents.result as *mut ()).is_null() } {
1206 let _ = unsafe { Box::from_raw(self.contents.result) };
1209 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1210 let _ = unsafe { Box::from_raw(self.contents.err) };
1215 impl From<crate::c_types::CResultTempl<bool, crate::ln::peer_handler::PeerHandleError>> for CResult_boolPeerHandleErrorZ {
1216 fn from(mut o: crate::c_types::CResultTempl<bool, crate::ln::peer_handler::PeerHandleError>) -> Self {
1217 let contents = if o.result_ok {
1218 let result = unsafe { o.contents.result };
1219 unsafe { o.contents.result = std::ptr::null_mut() };
1220 CResult_boolPeerHandleErrorZPtr { result }
1222 let err = unsafe { o.contents.err };
1223 unsafe { o.contents.err = std::ptr::null_mut(); }
1224 CResult_boolPeerHandleErrorZPtr { err }
1228 result_ok: o.result_ok,
1232 impl Clone for CResult_boolPeerHandleErrorZ {
1233 fn clone(&self) -> Self {
1235 Self { result_ok: true, contents: CResult_boolPeerHandleErrorZPtr {
1236 result: Box::into_raw(Box::new(<bool>::clone(unsafe { &*self.contents.result })))
1239 Self { result_ok: false, contents: CResult_boolPeerHandleErrorZPtr {
1240 err: Box::into_raw(Box::new(<crate::ln::peer_handler::PeerHandleError>::clone(unsafe { &*self.contents.err })))
1246 pub extern "C" fn CResult_boolPeerHandleErrorZ_clone(orig: &CResult_boolPeerHandleErrorZ) -> CResult_boolPeerHandleErrorZ { orig.clone() }
1248 pub union CResult_ChannelConfigDecodeErrorZPtr {
1249 pub result: *mut crate::util::config::ChannelConfig,
1250 pub err: *mut crate::ln::msgs::DecodeError,
1253 pub struct CResult_ChannelConfigDecodeErrorZ {
1254 pub contents: CResult_ChannelConfigDecodeErrorZPtr,
1255 pub result_ok: bool,
1258 pub extern "C" fn CResult_ChannelConfigDecodeErrorZ_ok(o: crate::util::config::ChannelConfig) -> CResult_ChannelConfigDecodeErrorZ {
1259 CResult_ChannelConfigDecodeErrorZ {
1260 contents: CResult_ChannelConfigDecodeErrorZPtr {
1261 result: Box::into_raw(Box::new(o)),
1267 pub extern "C" fn CResult_ChannelConfigDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelConfigDecodeErrorZ {
1268 CResult_ChannelConfigDecodeErrorZ {
1269 contents: CResult_ChannelConfigDecodeErrorZPtr {
1270 err: Box::into_raw(Box::new(e)),
1276 pub extern "C" fn CResult_ChannelConfigDecodeErrorZ_free(_res: CResult_ChannelConfigDecodeErrorZ) { }
1277 impl Drop for CResult_ChannelConfigDecodeErrorZ {
1278 fn drop(&mut self) {
1280 if unsafe { !(self.contents.result as *mut ()).is_null() } {
1281 let _ = unsafe { Box::from_raw(self.contents.result) };
1284 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1285 let _ = unsafe { Box::from_raw(self.contents.err) };
1290 impl From<crate::c_types::CResultTempl<crate::util::config::ChannelConfig, crate::ln::msgs::DecodeError>> for CResult_ChannelConfigDecodeErrorZ {
1291 fn from(mut o: crate::c_types::CResultTempl<crate::util::config::ChannelConfig, crate::ln::msgs::DecodeError>) -> Self {
1292 let contents = if o.result_ok {
1293 let result = unsafe { o.contents.result };
1294 unsafe { o.contents.result = std::ptr::null_mut() };
1295 CResult_ChannelConfigDecodeErrorZPtr { result }
1297 let err = unsafe { o.contents.err };
1298 unsafe { o.contents.err = std::ptr::null_mut(); }
1299 CResult_ChannelConfigDecodeErrorZPtr { err }
1303 result_ok: o.result_ok,
1307 impl Clone for CResult_ChannelConfigDecodeErrorZ {
1308 fn clone(&self) -> Self {
1310 Self { result_ok: true, contents: CResult_ChannelConfigDecodeErrorZPtr {
1311 result: Box::into_raw(Box::new(<crate::util::config::ChannelConfig>::clone(unsafe { &*self.contents.result })))
1314 Self { result_ok: false, contents: CResult_ChannelConfigDecodeErrorZPtr {
1315 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
1321 pub extern "C" fn CResult_ChannelConfigDecodeErrorZ_clone(orig: &CResult_ChannelConfigDecodeErrorZ) -> CResult_ChannelConfigDecodeErrorZ { orig.clone() }
1323 pub union CResult_boolLightningErrorZPtr {
1324 pub result: *mut bool,
1325 pub err: *mut crate::ln::msgs::LightningError,
1328 pub struct CResult_boolLightningErrorZ {
1329 pub contents: CResult_boolLightningErrorZPtr,
1330 pub result_ok: bool,
1333 pub extern "C" fn CResult_boolLightningErrorZ_ok(o: bool) -> CResult_boolLightningErrorZ {
1334 CResult_boolLightningErrorZ {
1335 contents: CResult_boolLightningErrorZPtr {
1336 result: Box::into_raw(Box::new(o)),
1342 pub extern "C" fn CResult_boolLightningErrorZ_err(e: crate::ln::msgs::LightningError) -> CResult_boolLightningErrorZ {
1343 CResult_boolLightningErrorZ {
1344 contents: CResult_boolLightningErrorZPtr {
1345 err: Box::into_raw(Box::new(e)),
1351 pub extern "C" fn CResult_boolLightningErrorZ_free(_res: CResult_boolLightningErrorZ) { }
1352 impl Drop for CResult_boolLightningErrorZ {
1353 fn drop(&mut self) {
1355 if unsafe { !(self.contents.result as *mut ()).is_null() } {
1356 let _ = unsafe { Box::from_raw(self.contents.result) };
1359 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1360 let _ = unsafe { Box::from_raw(self.contents.err) };
1365 impl From<crate::c_types::CResultTempl<bool, crate::ln::msgs::LightningError>> for CResult_boolLightningErrorZ {
1366 fn from(mut o: crate::c_types::CResultTempl<bool, crate::ln::msgs::LightningError>) -> Self {
1367 let contents = if o.result_ok {
1368 let result = unsafe { o.contents.result };
1369 unsafe { o.contents.result = std::ptr::null_mut() };
1370 CResult_boolLightningErrorZPtr { result }
1372 let err = unsafe { o.contents.err };
1373 unsafe { o.contents.err = std::ptr::null_mut(); }
1374 CResult_boolLightningErrorZPtr { err }
1378 result_ok: o.result_ok,
1382 impl Clone for CResult_boolLightningErrorZ {
1383 fn clone(&self) -> Self {
1385 Self { result_ok: true, contents: CResult_boolLightningErrorZPtr {
1386 result: Box::into_raw(Box::new(<bool>::clone(unsafe { &*self.contents.result })))
1389 Self { result_ok: false, contents: CResult_boolLightningErrorZPtr {
1390 err: Box::into_raw(Box::new(<crate::ln::msgs::LightningError>::clone(unsafe { &*self.contents.err })))
1396 pub extern "C" fn CResult_boolLightningErrorZ_clone(orig: &CResult_boolLightningErrorZ) -> CResult_boolLightningErrorZ { orig.clone() }
1398 pub struct C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ {
1399 pub a: crate::ln::msgs::ChannelAnnouncement,
1400 pub b: crate::ln::msgs::ChannelUpdate,
1401 pub c: crate::ln::msgs::ChannelUpdate,
1403 impl From<(crate::ln::msgs::ChannelAnnouncement, crate::ln::msgs::ChannelUpdate, crate::ln::msgs::ChannelUpdate)> for C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ {
1404 fn from (tup: (crate::ln::msgs::ChannelAnnouncement, crate::ln::msgs::ChannelUpdate, crate::ln::msgs::ChannelUpdate)) -> Self {
1412 impl C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ {
1413 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (crate::ln::msgs::ChannelAnnouncement, crate::ln::msgs::ChannelUpdate, crate::ln::msgs::ChannelUpdate) {
1414 (self.a, self.b, self.c)
1417 impl Clone for C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ {
1418 fn clone(&self) -> Self {
1427 pub extern "C" fn C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_clone(orig: &C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ) -> C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ { orig.clone() }
1429 pub extern "C" fn C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_new(a: crate::ln::msgs::ChannelAnnouncement, b: crate::ln::msgs::ChannelUpdate, c: crate::ln::msgs::ChannelUpdate) -> C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ {
1430 C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ { a, b, c, }
1434 pub extern "C" fn C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_free(_res: C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ) { }
1436 pub struct CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ {
1437 pub data: *mut crate::c_types::derived::C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ,
1440 impl CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ {
1441 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::c_types::derived::C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ> {
1442 if self.datalen == 0 { return Vec::new(); }
1443 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
1444 self.data = std::ptr::null_mut();
1448 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::c_types::derived::C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ] {
1449 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
1452 impl From<Vec<crate::c_types::derived::C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ>> for CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ {
1453 fn from(v: Vec<crate::c_types::derived::C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ>) -> Self {
1454 let datalen = v.len();
1455 let data = Box::into_raw(v.into_boxed_slice());
1456 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
1460 pub extern "C" fn CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_free(_res: CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ) { }
1461 impl Drop for CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ {
1462 fn drop(&mut self) {
1463 if self.datalen == 0 { return; }
1464 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
1467 impl Clone for CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ {
1468 fn clone(&self) -> Self {
1469 let mut res = Vec::new();
1470 if self.datalen == 0 { return Self::from(res); }
1471 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
1476 pub struct CVec_NodeAnnouncementZ {
1477 pub data: *mut crate::ln::msgs::NodeAnnouncement,
1480 impl CVec_NodeAnnouncementZ {
1481 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::ln::msgs::NodeAnnouncement> {
1482 if self.datalen == 0 { return Vec::new(); }
1483 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
1484 self.data = std::ptr::null_mut();
1488 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::ln::msgs::NodeAnnouncement] {
1489 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
1492 impl From<Vec<crate::ln::msgs::NodeAnnouncement>> for CVec_NodeAnnouncementZ {
1493 fn from(v: Vec<crate::ln::msgs::NodeAnnouncement>) -> Self {
1494 let datalen = v.len();
1495 let data = Box::into_raw(v.into_boxed_slice());
1496 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
1500 pub extern "C" fn CVec_NodeAnnouncementZ_free(_res: CVec_NodeAnnouncementZ) { }
1501 impl Drop for CVec_NodeAnnouncementZ {
1502 fn drop(&mut self) {
1503 if self.datalen == 0 { return; }
1504 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
1507 impl Clone for CVec_NodeAnnouncementZ {
1508 fn clone(&self) -> Self {
1509 let mut res = Vec::new();
1510 if self.datalen == 0 { return Self::from(res); }
1511 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
1516 pub union CResult_NoneLightningErrorZPtr {
1517 /// Note that this value is always NULL, as there are no contents in the OK variant
1518 pub result: *mut std::ffi::c_void,
1519 pub err: *mut crate::ln::msgs::LightningError,
1522 pub struct CResult_NoneLightningErrorZ {
1523 pub contents: CResult_NoneLightningErrorZPtr,
1524 pub result_ok: bool,
1527 pub extern "C" fn CResult_NoneLightningErrorZ_ok() -> CResult_NoneLightningErrorZ {
1528 CResult_NoneLightningErrorZ {
1529 contents: CResult_NoneLightningErrorZPtr {
1530 result: std::ptr::null_mut(),
1536 pub extern "C" fn CResult_NoneLightningErrorZ_err(e: crate::ln::msgs::LightningError) -> CResult_NoneLightningErrorZ {
1537 CResult_NoneLightningErrorZ {
1538 contents: CResult_NoneLightningErrorZPtr {
1539 err: Box::into_raw(Box::new(e)),
1545 pub extern "C" fn CResult_NoneLightningErrorZ_free(_res: CResult_NoneLightningErrorZ) { }
1546 impl Drop for CResult_NoneLightningErrorZ {
1547 fn drop(&mut self) {
1550 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1551 let _ = unsafe { Box::from_raw(self.contents.err) };
1556 impl From<crate::c_types::CResultTempl<u8, crate::ln::msgs::LightningError>> for CResult_NoneLightningErrorZ {
1557 fn from(mut o: crate::c_types::CResultTempl<u8, crate::ln::msgs::LightningError>) -> Self {
1558 let contents = if o.result_ok {
1559 let _ = unsafe { Box::from_raw(o.contents.result) };
1560 o.contents.result = std::ptr::null_mut();
1561 CResult_NoneLightningErrorZPtr { result: std::ptr::null_mut() }
1563 let err = unsafe { o.contents.err };
1564 unsafe { o.contents.err = std::ptr::null_mut(); }
1565 CResult_NoneLightningErrorZPtr { err }
1569 result_ok: o.result_ok,
1573 impl Clone for CResult_NoneLightningErrorZ {
1574 fn clone(&self) -> Self {
1576 Self { result_ok: true, contents: CResult_NoneLightningErrorZPtr {
1577 result: std::ptr::null_mut()
1580 Self { result_ok: false, contents: CResult_NoneLightningErrorZPtr {
1581 err: Box::into_raw(Box::new(<crate::ln::msgs::LightningError>::clone(unsafe { &*self.contents.err })))
1587 pub extern "C" fn CResult_NoneLightningErrorZ_clone(orig: &CResult_NoneLightningErrorZ) -> CResult_NoneLightningErrorZ { orig.clone() }
1589 pub struct CVec_MessageSendEventZ {
1590 pub data: *mut crate::util::events::MessageSendEvent,
1593 impl CVec_MessageSendEventZ {
1594 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::util::events::MessageSendEvent> {
1595 if self.datalen == 0 { return Vec::new(); }
1596 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
1597 self.data = std::ptr::null_mut();
1601 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::util::events::MessageSendEvent] {
1602 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
1605 impl From<Vec<crate::util::events::MessageSendEvent>> for CVec_MessageSendEventZ {
1606 fn from(v: Vec<crate::util::events::MessageSendEvent>) -> Self {
1607 let datalen = v.len();
1608 let data = Box::into_raw(v.into_boxed_slice());
1609 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
1613 pub extern "C" fn CVec_MessageSendEventZ_free(_res: CVec_MessageSendEventZ) { }
1614 impl Drop for CVec_MessageSendEventZ {
1615 fn drop(&mut self) {
1616 if self.datalen == 0 { return; }
1617 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
1620 impl Clone for CVec_MessageSendEventZ {
1621 fn clone(&self) -> Self {
1622 let mut res = Vec::new();
1623 if self.datalen == 0 { return Self::from(res); }
1624 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
1629 pub union CResult_DirectionalChannelInfoDecodeErrorZPtr {
1630 pub result: *mut crate::routing::network_graph::DirectionalChannelInfo,
1631 pub err: *mut crate::ln::msgs::DecodeError,
1634 pub struct CResult_DirectionalChannelInfoDecodeErrorZ {
1635 pub contents: CResult_DirectionalChannelInfoDecodeErrorZPtr,
1636 pub result_ok: bool,
1639 pub extern "C" fn CResult_DirectionalChannelInfoDecodeErrorZ_ok(o: crate::routing::network_graph::DirectionalChannelInfo) -> CResult_DirectionalChannelInfoDecodeErrorZ {
1640 CResult_DirectionalChannelInfoDecodeErrorZ {
1641 contents: CResult_DirectionalChannelInfoDecodeErrorZPtr {
1642 result: Box::into_raw(Box::new(o)),
1648 pub extern "C" fn CResult_DirectionalChannelInfoDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_DirectionalChannelInfoDecodeErrorZ {
1649 CResult_DirectionalChannelInfoDecodeErrorZ {
1650 contents: CResult_DirectionalChannelInfoDecodeErrorZPtr {
1651 err: Box::into_raw(Box::new(e)),
1657 pub extern "C" fn CResult_DirectionalChannelInfoDecodeErrorZ_free(_res: CResult_DirectionalChannelInfoDecodeErrorZ) { }
1658 impl Drop for CResult_DirectionalChannelInfoDecodeErrorZ {
1659 fn drop(&mut self) {
1661 if unsafe { !(self.contents.result as *mut ()).is_null() } {
1662 let _ = unsafe { Box::from_raw(self.contents.result) };
1665 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1666 let _ = unsafe { Box::from_raw(self.contents.err) };
1671 impl From<crate::c_types::CResultTempl<crate::routing::network_graph::DirectionalChannelInfo, crate::ln::msgs::DecodeError>> for CResult_DirectionalChannelInfoDecodeErrorZ {
1672 fn from(mut o: crate::c_types::CResultTempl<crate::routing::network_graph::DirectionalChannelInfo, crate::ln::msgs::DecodeError>) -> Self {
1673 let contents = if o.result_ok {
1674 let result = unsafe { o.contents.result };
1675 unsafe { o.contents.result = std::ptr::null_mut() };
1676 CResult_DirectionalChannelInfoDecodeErrorZPtr { result }
1678 let err = unsafe { o.contents.err };
1679 unsafe { o.contents.err = std::ptr::null_mut(); }
1680 CResult_DirectionalChannelInfoDecodeErrorZPtr { err }
1684 result_ok: o.result_ok,
1688 impl Clone for CResult_DirectionalChannelInfoDecodeErrorZ {
1689 fn clone(&self) -> Self {
1691 Self { result_ok: true, contents: CResult_DirectionalChannelInfoDecodeErrorZPtr {
1692 result: Box::into_raw(Box::new(<crate::routing::network_graph::DirectionalChannelInfo>::clone(unsafe { &*self.contents.result })))
1695 Self { result_ok: false, contents: CResult_DirectionalChannelInfoDecodeErrorZPtr {
1696 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
1702 pub extern "C" fn CResult_DirectionalChannelInfoDecodeErrorZ_clone(orig: &CResult_DirectionalChannelInfoDecodeErrorZ) -> CResult_DirectionalChannelInfoDecodeErrorZ { orig.clone() }
1704 pub union CResult_ChannelInfoDecodeErrorZPtr {
1705 pub result: *mut crate::routing::network_graph::ChannelInfo,
1706 pub err: *mut crate::ln::msgs::DecodeError,
1709 pub struct CResult_ChannelInfoDecodeErrorZ {
1710 pub contents: CResult_ChannelInfoDecodeErrorZPtr,
1711 pub result_ok: bool,
1714 pub extern "C" fn CResult_ChannelInfoDecodeErrorZ_ok(o: crate::routing::network_graph::ChannelInfo) -> CResult_ChannelInfoDecodeErrorZ {
1715 CResult_ChannelInfoDecodeErrorZ {
1716 contents: CResult_ChannelInfoDecodeErrorZPtr {
1717 result: Box::into_raw(Box::new(o)),
1723 pub extern "C" fn CResult_ChannelInfoDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelInfoDecodeErrorZ {
1724 CResult_ChannelInfoDecodeErrorZ {
1725 contents: CResult_ChannelInfoDecodeErrorZPtr {
1726 err: Box::into_raw(Box::new(e)),
1732 pub extern "C" fn CResult_ChannelInfoDecodeErrorZ_free(_res: CResult_ChannelInfoDecodeErrorZ) { }
1733 impl Drop for CResult_ChannelInfoDecodeErrorZ {
1734 fn drop(&mut self) {
1736 if unsafe { !(self.contents.result as *mut ()).is_null() } {
1737 let _ = unsafe { Box::from_raw(self.contents.result) };
1740 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1741 let _ = unsafe { Box::from_raw(self.contents.err) };
1746 impl From<crate::c_types::CResultTempl<crate::routing::network_graph::ChannelInfo, crate::ln::msgs::DecodeError>> for CResult_ChannelInfoDecodeErrorZ {
1747 fn from(mut o: crate::c_types::CResultTempl<crate::routing::network_graph::ChannelInfo, crate::ln::msgs::DecodeError>) -> Self {
1748 let contents = if o.result_ok {
1749 let result = unsafe { o.contents.result };
1750 unsafe { o.contents.result = std::ptr::null_mut() };
1751 CResult_ChannelInfoDecodeErrorZPtr { result }
1753 let err = unsafe { o.contents.err };
1754 unsafe { o.contents.err = std::ptr::null_mut(); }
1755 CResult_ChannelInfoDecodeErrorZPtr { err }
1759 result_ok: o.result_ok,
1764 pub union CResult_RoutingFeesDecodeErrorZPtr {
1765 pub result: *mut crate::routing::network_graph::RoutingFees,
1766 pub err: *mut crate::ln::msgs::DecodeError,
1769 pub struct CResult_RoutingFeesDecodeErrorZ {
1770 pub contents: CResult_RoutingFeesDecodeErrorZPtr,
1771 pub result_ok: bool,
1774 pub extern "C" fn CResult_RoutingFeesDecodeErrorZ_ok(o: crate::routing::network_graph::RoutingFees) -> CResult_RoutingFeesDecodeErrorZ {
1775 CResult_RoutingFeesDecodeErrorZ {
1776 contents: CResult_RoutingFeesDecodeErrorZPtr {
1777 result: Box::into_raw(Box::new(o)),
1783 pub extern "C" fn CResult_RoutingFeesDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_RoutingFeesDecodeErrorZ {
1784 CResult_RoutingFeesDecodeErrorZ {
1785 contents: CResult_RoutingFeesDecodeErrorZPtr {
1786 err: Box::into_raw(Box::new(e)),
1792 pub extern "C" fn CResult_RoutingFeesDecodeErrorZ_free(_res: CResult_RoutingFeesDecodeErrorZ) { }
1793 impl Drop for CResult_RoutingFeesDecodeErrorZ {
1794 fn drop(&mut self) {
1796 if unsafe { !(self.contents.result as *mut ()).is_null() } {
1797 let _ = unsafe { Box::from_raw(self.contents.result) };
1800 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1801 let _ = unsafe { Box::from_raw(self.contents.err) };
1806 impl From<crate::c_types::CResultTempl<crate::routing::network_graph::RoutingFees, crate::ln::msgs::DecodeError>> for CResult_RoutingFeesDecodeErrorZ {
1807 fn from(mut o: crate::c_types::CResultTempl<crate::routing::network_graph::RoutingFees, crate::ln::msgs::DecodeError>) -> Self {
1808 let contents = if o.result_ok {
1809 let result = unsafe { o.contents.result };
1810 unsafe { o.contents.result = std::ptr::null_mut() };
1811 CResult_RoutingFeesDecodeErrorZPtr { result }
1813 let err = unsafe { o.contents.err };
1814 unsafe { o.contents.err = std::ptr::null_mut(); }
1815 CResult_RoutingFeesDecodeErrorZPtr { err }
1819 result_ok: o.result_ok,
1823 impl Clone for CResult_RoutingFeesDecodeErrorZ {
1824 fn clone(&self) -> Self {
1826 Self { result_ok: true, contents: CResult_RoutingFeesDecodeErrorZPtr {
1827 result: Box::into_raw(Box::new(<crate::routing::network_graph::RoutingFees>::clone(unsafe { &*self.contents.result })))
1830 Self { result_ok: false, contents: CResult_RoutingFeesDecodeErrorZPtr {
1831 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
1837 pub extern "C" fn CResult_RoutingFeesDecodeErrorZ_clone(orig: &CResult_RoutingFeesDecodeErrorZ) -> CResult_RoutingFeesDecodeErrorZ { orig.clone() }
1839 pub struct CVec_NetAddressZ {
1840 pub data: *mut crate::ln::msgs::NetAddress,
1843 impl CVec_NetAddressZ {
1844 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::ln::msgs::NetAddress> {
1845 if self.datalen == 0 { return Vec::new(); }
1846 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
1847 self.data = std::ptr::null_mut();
1851 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::ln::msgs::NetAddress] {
1852 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
1855 impl From<Vec<crate::ln::msgs::NetAddress>> for CVec_NetAddressZ {
1856 fn from(v: Vec<crate::ln::msgs::NetAddress>) -> Self {
1857 let datalen = v.len();
1858 let data = Box::into_raw(v.into_boxed_slice());
1859 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
1863 pub extern "C" fn CVec_NetAddressZ_free(_res: CVec_NetAddressZ) { }
1864 impl Drop for CVec_NetAddressZ {
1865 fn drop(&mut self) {
1866 if self.datalen == 0 { return; }
1867 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
1870 impl Clone for CVec_NetAddressZ {
1871 fn clone(&self) -> Self {
1872 let mut res = Vec::new();
1873 if self.datalen == 0 { return Self::from(res); }
1874 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
1879 pub union CResult_NodeAnnouncementInfoDecodeErrorZPtr {
1880 pub result: *mut crate::routing::network_graph::NodeAnnouncementInfo,
1881 pub err: *mut crate::ln::msgs::DecodeError,
1884 pub struct CResult_NodeAnnouncementInfoDecodeErrorZ {
1885 pub contents: CResult_NodeAnnouncementInfoDecodeErrorZPtr,
1886 pub result_ok: bool,
1889 pub extern "C" fn CResult_NodeAnnouncementInfoDecodeErrorZ_ok(o: crate::routing::network_graph::NodeAnnouncementInfo) -> CResult_NodeAnnouncementInfoDecodeErrorZ {
1890 CResult_NodeAnnouncementInfoDecodeErrorZ {
1891 contents: CResult_NodeAnnouncementInfoDecodeErrorZPtr {
1892 result: Box::into_raw(Box::new(o)),
1898 pub extern "C" fn CResult_NodeAnnouncementInfoDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_NodeAnnouncementInfoDecodeErrorZ {
1899 CResult_NodeAnnouncementInfoDecodeErrorZ {
1900 contents: CResult_NodeAnnouncementInfoDecodeErrorZPtr {
1901 err: Box::into_raw(Box::new(e)),
1907 pub extern "C" fn CResult_NodeAnnouncementInfoDecodeErrorZ_free(_res: CResult_NodeAnnouncementInfoDecodeErrorZ) { }
1908 impl Drop for CResult_NodeAnnouncementInfoDecodeErrorZ {
1909 fn drop(&mut self) {
1911 if unsafe { !(self.contents.result as *mut ()).is_null() } {
1912 let _ = unsafe { Box::from_raw(self.contents.result) };
1915 if unsafe { !(self.contents.err as *mut ()).is_null() } {
1916 let _ = unsafe { Box::from_raw(self.contents.err) };
1921 impl From<crate::c_types::CResultTempl<crate::routing::network_graph::NodeAnnouncementInfo, crate::ln::msgs::DecodeError>> for CResult_NodeAnnouncementInfoDecodeErrorZ {
1922 fn from(mut o: crate::c_types::CResultTempl<crate::routing::network_graph::NodeAnnouncementInfo, crate::ln::msgs::DecodeError>) -> Self {
1923 let contents = if o.result_ok {
1924 let result = unsafe { o.contents.result };
1925 unsafe { o.contents.result = std::ptr::null_mut() };
1926 CResult_NodeAnnouncementInfoDecodeErrorZPtr { result }
1928 let err = unsafe { o.contents.err };
1929 unsafe { o.contents.err = std::ptr::null_mut(); }
1930 CResult_NodeAnnouncementInfoDecodeErrorZPtr { err }
1934 result_ok: o.result_ok,
1938 impl Clone for CResult_NodeAnnouncementInfoDecodeErrorZ {
1939 fn clone(&self) -> Self {
1941 Self { result_ok: true, contents: CResult_NodeAnnouncementInfoDecodeErrorZPtr {
1942 result: Box::into_raw(Box::new(<crate::routing::network_graph::NodeAnnouncementInfo>::clone(unsafe { &*self.contents.result })))
1945 Self { result_ok: false, contents: CResult_NodeAnnouncementInfoDecodeErrorZPtr {
1946 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
1952 pub extern "C" fn CResult_NodeAnnouncementInfoDecodeErrorZ_clone(orig: &CResult_NodeAnnouncementInfoDecodeErrorZ) -> CResult_NodeAnnouncementInfoDecodeErrorZ { orig.clone() }
1954 pub struct CVec_u64Z {
1959 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<u64> {
1960 if self.datalen == 0 { return Vec::new(); }
1961 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
1962 self.data = std::ptr::null_mut();
1966 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[u64] {
1967 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
1970 impl From<Vec<u64>> for CVec_u64Z {
1971 fn from(v: Vec<u64>) -> Self {
1972 let datalen = v.len();
1973 let data = Box::into_raw(v.into_boxed_slice());
1974 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
1978 pub extern "C" fn CVec_u64Z_free(_res: CVec_u64Z) { }
1979 impl Drop for CVec_u64Z {
1980 fn drop(&mut self) {
1981 if self.datalen == 0 { return; }
1982 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
1985 impl Clone for CVec_u64Z {
1986 fn clone(&self) -> Self {
1987 let mut res = Vec::new();
1988 if self.datalen == 0 { return Self::from(res); }
1989 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
1994 pub union CResult_NodeInfoDecodeErrorZPtr {
1995 pub result: *mut crate::routing::network_graph::NodeInfo,
1996 pub err: *mut crate::ln::msgs::DecodeError,
1999 pub struct CResult_NodeInfoDecodeErrorZ {
2000 pub contents: CResult_NodeInfoDecodeErrorZPtr,
2001 pub result_ok: bool,
2004 pub extern "C" fn CResult_NodeInfoDecodeErrorZ_ok(o: crate::routing::network_graph::NodeInfo) -> CResult_NodeInfoDecodeErrorZ {
2005 CResult_NodeInfoDecodeErrorZ {
2006 contents: CResult_NodeInfoDecodeErrorZPtr {
2007 result: Box::into_raw(Box::new(o)),
2013 pub extern "C" fn CResult_NodeInfoDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_NodeInfoDecodeErrorZ {
2014 CResult_NodeInfoDecodeErrorZ {
2015 contents: CResult_NodeInfoDecodeErrorZPtr {
2016 err: Box::into_raw(Box::new(e)),
2022 pub extern "C" fn CResult_NodeInfoDecodeErrorZ_free(_res: CResult_NodeInfoDecodeErrorZ) { }
2023 impl Drop for CResult_NodeInfoDecodeErrorZ {
2024 fn drop(&mut self) {
2026 if unsafe { !(self.contents.result as *mut ()).is_null() } {
2027 let _ = unsafe { Box::from_raw(self.contents.result) };
2030 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2031 let _ = unsafe { Box::from_raw(self.contents.err) };
2036 impl From<crate::c_types::CResultTempl<crate::routing::network_graph::NodeInfo, crate::ln::msgs::DecodeError>> for CResult_NodeInfoDecodeErrorZ {
2037 fn from(mut o: crate::c_types::CResultTempl<crate::routing::network_graph::NodeInfo, crate::ln::msgs::DecodeError>) -> Self {
2038 let contents = if o.result_ok {
2039 let result = unsafe { o.contents.result };
2040 unsafe { o.contents.result = std::ptr::null_mut() };
2041 CResult_NodeInfoDecodeErrorZPtr { result }
2043 let err = unsafe { o.contents.err };
2044 unsafe { o.contents.err = std::ptr::null_mut(); }
2045 CResult_NodeInfoDecodeErrorZPtr { err }
2049 result_ok: o.result_ok,
2053 impl Clone for CResult_NodeInfoDecodeErrorZ {
2054 fn clone(&self) -> Self {
2056 Self { result_ok: true, contents: CResult_NodeInfoDecodeErrorZPtr {
2057 result: Box::into_raw(Box::new(<crate::routing::network_graph::NodeInfo>::clone(unsafe { &*self.contents.result })))
2060 Self { result_ok: false, contents: CResult_NodeInfoDecodeErrorZPtr {
2061 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
2067 pub extern "C" fn CResult_NodeInfoDecodeErrorZ_clone(orig: &CResult_NodeInfoDecodeErrorZ) -> CResult_NodeInfoDecodeErrorZ { orig.clone() }
2069 pub union CResult_NetworkGraphDecodeErrorZPtr {
2070 pub result: *mut crate::routing::network_graph::NetworkGraph,
2071 pub err: *mut crate::ln::msgs::DecodeError,
2074 pub struct CResult_NetworkGraphDecodeErrorZ {
2075 pub contents: CResult_NetworkGraphDecodeErrorZPtr,
2076 pub result_ok: bool,
2079 pub extern "C" fn CResult_NetworkGraphDecodeErrorZ_ok(o: crate::routing::network_graph::NetworkGraph) -> CResult_NetworkGraphDecodeErrorZ {
2080 CResult_NetworkGraphDecodeErrorZ {
2081 contents: CResult_NetworkGraphDecodeErrorZPtr {
2082 result: Box::into_raw(Box::new(o)),
2088 pub extern "C" fn CResult_NetworkGraphDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_NetworkGraphDecodeErrorZ {
2089 CResult_NetworkGraphDecodeErrorZ {
2090 contents: CResult_NetworkGraphDecodeErrorZPtr {
2091 err: Box::into_raw(Box::new(e)),
2097 pub extern "C" fn CResult_NetworkGraphDecodeErrorZ_free(_res: CResult_NetworkGraphDecodeErrorZ) { }
2098 impl Drop for CResult_NetworkGraphDecodeErrorZ {
2099 fn drop(&mut self) {
2101 if unsafe { !(self.contents.result as *mut ()).is_null() } {
2102 let _ = unsafe { Box::from_raw(self.contents.result) };
2105 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2106 let _ = unsafe { Box::from_raw(self.contents.err) };
2111 impl From<crate::c_types::CResultTempl<crate::routing::network_graph::NetworkGraph, crate::ln::msgs::DecodeError>> for CResult_NetworkGraphDecodeErrorZ {
2112 fn from(mut o: crate::c_types::CResultTempl<crate::routing::network_graph::NetworkGraph, crate::ln::msgs::DecodeError>) -> Self {
2113 let contents = if o.result_ok {
2114 let result = unsafe { o.contents.result };
2115 unsafe { o.contents.result = std::ptr::null_mut() };
2116 CResult_NetworkGraphDecodeErrorZPtr { result }
2118 let err = unsafe { o.contents.err };
2119 unsafe { o.contents.err = std::ptr::null_mut(); }
2120 CResult_NetworkGraphDecodeErrorZPtr { err }
2124 result_ok: o.result_ok,
2129 pub struct C2Tuple_usizeTransactionZ {
2131 pub b: crate::c_types::Transaction,
2133 impl From<(usize, crate::c_types::Transaction)> for C2Tuple_usizeTransactionZ {
2134 fn from (tup: (usize, crate::c_types::Transaction)) -> Self {
2141 impl C2Tuple_usizeTransactionZ {
2142 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (usize, crate::c_types::Transaction) {
2147 pub extern "C" fn C2Tuple_usizeTransactionZ_new(a: usize, b: crate::c_types::Transaction) -> C2Tuple_usizeTransactionZ {
2148 C2Tuple_usizeTransactionZ { a, b, }
2152 pub extern "C" fn C2Tuple_usizeTransactionZ_free(_res: C2Tuple_usizeTransactionZ) { }
2154 pub struct CVec_C2Tuple_usizeTransactionZZ {
2155 pub data: *mut crate::c_types::derived::C2Tuple_usizeTransactionZ,
2158 impl CVec_C2Tuple_usizeTransactionZZ {
2159 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::c_types::derived::C2Tuple_usizeTransactionZ> {
2160 if self.datalen == 0 { return Vec::new(); }
2161 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
2162 self.data = std::ptr::null_mut();
2166 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::c_types::derived::C2Tuple_usizeTransactionZ] {
2167 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
2170 impl From<Vec<crate::c_types::derived::C2Tuple_usizeTransactionZ>> for CVec_C2Tuple_usizeTransactionZZ {
2171 fn from(v: Vec<crate::c_types::derived::C2Tuple_usizeTransactionZ>) -> Self {
2172 let datalen = v.len();
2173 let data = Box::into_raw(v.into_boxed_slice());
2174 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
2178 pub extern "C" fn CVec_C2Tuple_usizeTransactionZZ_free(_res: CVec_C2Tuple_usizeTransactionZZ) { }
2179 impl Drop for CVec_C2Tuple_usizeTransactionZZ {
2180 fn drop(&mut self) {
2181 if self.datalen == 0 { return; }
2182 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
2186 pub union CResult_NoneChannelMonitorUpdateErrZPtr {
2187 /// Note that this value is always NULL, as there are no contents in the OK variant
2188 pub result: *mut std::ffi::c_void,
2189 pub err: *mut crate::chain::channelmonitor::ChannelMonitorUpdateErr,
2192 pub struct CResult_NoneChannelMonitorUpdateErrZ {
2193 pub contents: CResult_NoneChannelMonitorUpdateErrZPtr,
2194 pub result_ok: bool,
2197 pub extern "C" fn CResult_NoneChannelMonitorUpdateErrZ_ok() -> CResult_NoneChannelMonitorUpdateErrZ {
2198 CResult_NoneChannelMonitorUpdateErrZ {
2199 contents: CResult_NoneChannelMonitorUpdateErrZPtr {
2200 result: std::ptr::null_mut(),
2206 pub extern "C" fn CResult_NoneChannelMonitorUpdateErrZ_err(e: crate::chain::channelmonitor::ChannelMonitorUpdateErr) -> CResult_NoneChannelMonitorUpdateErrZ {
2207 CResult_NoneChannelMonitorUpdateErrZ {
2208 contents: CResult_NoneChannelMonitorUpdateErrZPtr {
2209 err: Box::into_raw(Box::new(e)),
2215 pub extern "C" fn CResult_NoneChannelMonitorUpdateErrZ_free(_res: CResult_NoneChannelMonitorUpdateErrZ) { }
2216 impl Drop for CResult_NoneChannelMonitorUpdateErrZ {
2217 fn drop(&mut self) {
2220 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2221 let _ = unsafe { Box::from_raw(self.contents.err) };
2226 impl From<crate::c_types::CResultTempl<u8, crate::chain::channelmonitor::ChannelMonitorUpdateErr>> for CResult_NoneChannelMonitorUpdateErrZ {
2227 fn from(mut o: crate::c_types::CResultTempl<u8, crate::chain::channelmonitor::ChannelMonitorUpdateErr>) -> Self {
2228 let contents = if o.result_ok {
2229 let _ = unsafe { Box::from_raw(o.contents.result) };
2230 o.contents.result = std::ptr::null_mut();
2231 CResult_NoneChannelMonitorUpdateErrZPtr { result: std::ptr::null_mut() }
2233 let err = unsafe { o.contents.err };
2234 unsafe { o.contents.err = std::ptr::null_mut(); }
2235 CResult_NoneChannelMonitorUpdateErrZPtr { err }
2239 result_ok: o.result_ok,
2243 impl Clone for CResult_NoneChannelMonitorUpdateErrZ {
2244 fn clone(&self) -> Self {
2246 Self { result_ok: true, contents: CResult_NoneChannelMonitorUpdateErrZPtr {
2247 result: std::ptr::null_mut()
2250 Self { result_ok: false, contents: CResult_NoneChannelMonitorUpdateErrZPtr {
2251 err: Box::into_raw(Box::new(<crate::chain::channelmonitor::ChannelMonitorUpdateErr>::clone(unsafe { &*self.contents.err })))
2257 pub extern "C" fn CResult_NoneChannelMonitorUpdateErrZ_clone(orig: &CResult_NoneChannelMonitorUpdateErrZ) -> CResult_NoneChannelMonitorUpdateErrZ { orig.clone() }
2259 pub struct CVec_MonitorEventZ {
2260 pub data: *mut crate::chain::channelmonitor::MonitorEvent,
2263 impl CVec_MonitorEventZ {
2264 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::chain::channelmonitor::MonitorEvent> {
2265 if self.datalen == 0 { return Vec::new(); }
2266 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
2267 self.data = std::ptr::null_mut();
2271 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::chain::channelmonitor::MonitorEvent] {
2272 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
2275 impl From<Vec<crate::chain::channelmonitor::MonitorEvent>> for CVec_MonitorEventZ {
2276 fn from(v: Vec<crate::chain::channelmonitor::MonitorEvent>) -> Self {
2277 let datalen = v.len();
2278 let data = Box::into_raw(v.into_boxed_slice());
2279 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
2283 pub extern "C" fn CVec_MonitorEventZ_free(_res: CVec_MonitorEventZ) { }
2284 impl Drop for CVec_MonitorEventZ {
2285 fn drop(&mut self) {
2286 if self.datalen == 0 { return; }
2287 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
2290 impl Clone for CVec_MonitorEventZ {
2291 fn clone(&self) -> Self {
2292 let mut res = Vec::new();
2293 if self.datalen == 0 { return Self::from(res); }
2294 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
2299 pub struct CVec_EventZ {
2300 pub data: *mut crate::util::events::Event,
2304 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::util::events::Event> {
2305 if self.datalen == 0 { return Vec::new(); }
2306 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
2307 self.data = std::ptr::null_mut();
2311 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::util::events::Event] {
2312 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
2315 impl From<Vec<crate::util::events::Event>> for CVec_EventZ {
2316 fn from(v: Vec<crate::util::events::Event>) -> Self {
2317 let datalen = v.len();
2318 let data = Box::into_raw(v.into_boxed_slice());
2319 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
2323 pub extern "C" fn CVec_EventZ_free(_res: CVec_EventZ) { }
2324 impl Drop for CVec_EventZ {
2325 fn drop(&mut self) {
2326 if self.datalen == 0 { return; }
2327 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
2330 impl Clone for CVec_EventZ {
2331 fn clone(&self) -> Self {
2332 let mut res = Vec::new();
2333 if self.datalen == 0 { return Self::from(res); }
2334 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
2339 pub union CResult_OutPointDecodeErrorZPtr {
2340 pub result: *mut crate::chain::transaction::OutPoint,
2341 pub err: *mut crate::ln::msgs::DecodeError,
2344 pub struct CResult_OutPointDecodeErrorZ {
2345 pub contents: CResult_OutPointDecodeErrorZPtr,
2346 pub result_ok: bool,
2349 pub extern "C" fn CResult_OutPointDecodeErrorZ_ok(o: crate::chain::transaction::OutPoint) -> CResult_OutPointDecodeErrorZ {
2350 CResult_OutPointDecodeErrorZ {
2351 contents: CResult_OutPointDecodeErrorZPtr {
2352 result: Box::into_raw(Box::new(o)),
2358 pub extern "C" fn CResult_OutPointDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_OutPointDecodeErrorZ {
2359 CResult_OutPointDecodeErrorZ {
2360 contents: CResult_OutPointDecodeErrorZPtr {
2361 err: Box::into_raw(Box::new(e)),
2367 pub extern "C" fn CResult_OutPointDecodeErrorZ_free(_res: CResult_OutPointDecodeErrorZ) { }
2368 impl Drop for CResult_OutPointDecodeErrorZ {
2369 fn drop(&mut self) {
2371 if unsafe { !(self.contents.result as *mut ()).is_null() } {
2372 let _ = unsafe { Box::from_raw(self.contents.result) };
2375 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2376 let _ = unsafe { Box::from_raw(self.contents.err) };
2381 impl From<crate::c_types::CResultTempl<crate::chain::transaction::OutPoint, crate::ln::msgs::DecodeError>> for CResult_OutPointDecodeErrorZ {
2382 fn from(mut o: crate::c_types::CResultTempl<crate::chain::transaction::OutPoint, crate::ln::msgs::DecodeError>) -> Self {
2383 let contents = if o.result_ok {
2384 let result = unsafe { o.contents.result };
2385 unsafe { o.contents.result = std::ptr::null_mut() };
2386 CResult_OutPointDecodeErrorZPtr { result }
2388 let err = unsafe { o.contents.err };
2389 unsafe { o.contents.err = std::ptr::null_mut(); }
2390 CResult_OutPointDecodeErrorZPtr { err }
2394 result_ok: o.result_ok,
2398 impl Clone for CResult_OutPointDecodeErrorZ {
2399 fn clone(&self) -> Self {
2401 Self { result_ok: true, contents: CResult_OutPointDecodeErrorZPtr {
2402 result: Box::into_raw(Box::new(<crate::chain::transaction::OutPoint>::clone(unsafe { &*self.contents.result })))
2405 Self { result_ok: false, contents: CResult_OutPointDecodeErrorZPtr {
2406 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
2412 pub extern "C" fn CResult_OutPointDecodeErrorZ_clone(orig: &CResult_OutPointDecodeErrorZ) -> CResult_OutPointDecodeErrorZ { orig.clone() }
2414 pub union CResult_ChannelMonitorUpdateDecodeErrorZPtr {
2415 pub result: *mut crate::chain::channelmonitor::ChannelMonitorUpdate,
2416 pub err: *mut crate::ln::msgs::DecodeError,
2419 pub struct CResult_ChannelMonitorUpdateDecodeErrorZ {
2420 pub contents: CResult_ChannelMonitorUpdateDecodeErrorZPtr,
2421 pub result_ok: bool,
2424 pub extern "C" fn CResult_ChannelMonitorUpdateDecodeErrorZ_ok(o: crate::chain::channelmonitor::ChannelMonitorUpdate) -> CResult_ChannelMonitorUpdateDecodeErrorZ {
2425 CResult_ChannelMonitorUpdateDecodeErrorZ {
2426 contents: CResult_ChannelMonitorUpdateDecodeErrorZPtr {
2427 result: Box::into_raw(Box::new(o)),
2433 pub extern "C" fn CResult_ChannelMonitorUpdateDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelMonitorUpdateDecodeErrorZ {
2434 CResult_ChannelMonitorUpdateDecodeErrorZ {
2435 contents: CResult_ChannelMonitorUpdateDecodeErrorZPtr {
2436 err: Box::into_raw(Box::new(e)),
2442 pub extern "C" fn CResult_ChannelMonitorUpdateDecodeErrorZ_free(_res: CResult_ChannelMonitorUpdateDecodeErrorZ) { }
2443 impl Drop for CResult_ChannelMonitorUpdateDecodeErrorZ {
2444 fn drop(&mut self) {
2446 if unsafe { !(self.contents.result as *mut ()).is_null() } {
2447 let _ = unsafe { Box::from_raw(self.contents.result) };
2450 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2451 let _ = unsafe { Box::from_raw(self.contents.err) };
2456 impl From<crate::c_types::CResultTempl<crate::chain::channelmonitor::ChannelMonitorUpdate, crate::ln::msgs::DecodeError>> for CResult_ChannelMonitorUpdateDecodeErrorZ {
2457 fn from(mut o: crate::c_types::CResultTempl<crate::chain::channelmonitor::ChannelMonitorUpdate, crate::ln::msgs::DecodeError>) -> Self {
2458 let contents = if o.result_ok {
2459 let result = unsafe { o.contents.result };
2460 unsafe { o.contents.result = std::ptr::null_mut() };
2461 CResult_ChannelMonitorUpdateDecodeErrorZPtr { result }
2463 let err = unsafe { o.contents.err };
2464 unsafe { o.contents.err = std::ptr::null_mut(); }
2465 CResult_ChannelMonitorUpdateDecodeErrorZPtr { err }
2469 result_ok: o.result_ok,
2473 impl Clone for CResult_ChannelMonitorUpdateDecodeErrorZ {
2474 fn clone(&self) -> Self {
2476 Self { result_ok: true, contents: CResult_ChannelMonitorUpdateDecodeErrorZPtr {
2477 result: Box::into_raw(Box::new(<crate::chain::channelmonitor::ChannelMonitorUpdate>::clone(unsafe { &*self.contents.result })))
2480 Self { result_ok: false, contents: CResult_ChannelMonitorUpdateDecodeErrorZPtr {
2481 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
2487 pub extern "C" fn CResult_ChannelMonitorUpdateDecodeErrorZ_clone(orig: &CResult_ChannelMonitorUpdateDecodeErrorZ) -> CResult_ChannelMonitorUpdateDecodeErrorZ { orig.clone() }
2489 pub union CResult_HTLCUpdateDecodeErrorZPtr {
2490 pub result: *mut crate::chain::channelmonitor::HTLCUpdate,
2491 pub err: *mut crate::ln::msgs::DecodeError,
2494 pub struct CResult_HTLCUpdateDecodeErrorZ {
2495 pub contents: CResult_HTLCUpdateDecodeErrorZPtr,
2496 pub result_ok: bool,
2499 pub extern "C" fn CResult_HTLCUpdateDecodeErrorZ_ok(o: crate::chain::channelmonitor::HTLCUpdate) -> CResult_HTLCUpdateDecodeErrorZ {
2500 CResult_HTLCUpdateDecodeErrorZ {
2501 contents: CResult_HTLCUpdateDecodeErrorZPtr {
2502 result: Box::into_raw(Box::new(o)),
2508 pub extern "C" fn CResult_HTLCUpdateDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_HTLCUpdateDecodeErrorZ {
2509 CResult_HTLCUpdateDecodeErrorZ {
2510 contents: CResult_HTLCUpdateDecodeErrorZPtr {
2511 err: Box::into_raw(Box::new(e)),
2517 pub extern "C" fn CResult_HTLCUpdateDecodeErrorZ_free(_res: CResult_HTLCUpdateDecodeErrorZ) { }
2518 impl Drop for CResult_HTLCUpdateDecodeErrorZ {
2519 fn drop(&mut self) {
2521 if unsafe { !(self.contents.result as *mut ()).is_null() } {
2522 let _ = unsafe { Box::from_raw(self.contents.result) };
2525 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2526 let _ = unsafe { Box::from_raw(self.contents.err) };
2531 impl From<crate::c_types::CResultTempl<crate::chain::channelmonitor::HTLCUpdate, crate::ln::msgs::DecodeError>> for CResult_HTLCUpdateDecodeErrorZ {
2532 fn from(mut o: crate::c_types::CResultTempl<crate::chain::channelmonitor::HTLCUpdate, crate::ln::msgs::DecodeError>) -> Self {
2533 let contents = if o.result_ok {
2534 let result = unsafe { o.contents.result };
2535 unsafe { o.contents.result = std::ptr::null_mut() };
2536 CResult_HTLCUpdateDecodeErrorZPtr { result }
2538 let err = unsafe { o.contents.err };
2539 unsafe { o.contents.err = std::ptr::null_mut(); }
2540 CResult_HTLCUpdateDecodeErrorZPtr { err }
2544 result_ok: o.result_ok,
2548 impl Clone for CResult_HTLCUpdateDecodeErrorZ {
2549 fn clone(&self) -> Self {
2551 Self { result_ok: true, contents: CResult_HTLCUpdateDecodeErrorZPtr {
2552 result: Box::into_raw(Box::new(<crate::chain::channelmonitor::HTLCUpdate>::clone(unsafe { &*self.contents.result })))
2555 Self { result_ok: false, contents: CResult_HTLCUpdateDecodeErrorZPtr {
2556 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
2562 pub extern "C" fn CResult_HTLCUpdateDecodeErrorZ_clone(orig: &CResult_HTLCUpdateDecodeErrorZ) -> CResult_HTLCUpdateDecodeErrorZ { orig.clone() }
2564 pub union CResult_NoneMonitorUpdateErrorZPtr {
2565 /// Note that this value is always NULL, as there are no contents in the OK variant
2566 pub result: *mut std::ffi::c_void,
2567 pub err: *mut crate::chain::channelmonitor::MonitorUpdateError,
2570 pub struct CResult_NoneMonitorUpdateErrorZ {
2571 pub contents: CResult_NoneMonitorUpdateErrorZPtr,
2572 pub result_ok: bool,
2575 pub extern "C" fn CResult_NoneMonitorUpdateErrorZ_ok() -> CResult_NoneMonitorUpdateErrorZ {
2576 CResult_NoneMonitorUpdateErrorZ {
2577 contents: CResult_NoneMonitorUpdateErrorZPtr {
2578 result: std::ptr::null_mut(),
2584 pub extern "C" fn CResult_NoneMonitorUpdateErrorZ_err(e: crate::chain::channelmonitor::MonitorUpdateError) -> CResult_NoneMonitorUpdateErrorZ {
2585 CResult_NoneMonitorUpdateErrorZ {
2586 contents: CResult_NoneMonitorUpdateErrorZPtr {
2587 err: Box::into_raw(Box::new(e)),
2593 pub extern "C" fn CResult_NoneMonitorUpdateErrorZ_free(_res: CResult_NoneMonitorUpdateErrorZ) { }
2594 impl Drop for CResult_NoneMonitorUpdateErrorZ {
2595 fn drop(&mut self) {
2598 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2599 let _ = unsafe { Box::from_raw(self.contents.err) };
2604 impl From<crate::c_types::CResultTempl<u8, crate::chain::channelmonitor::MonitorUpdateError>> for CResult_NoneMonitorUpdateErrorZ {
2605 fn from(mut o: crate::c_types::CResultTempl<u8, crate::chain::channelmonitor::MonitorUpdateError>) -> Self {
2606 let contents = if o.result_ok {
2607 let _ = unsafe { Box::from_raw(o.contents.result) };
2608 o.contents.result = std::ptr::null_mut();
2609 CResult_NoneMonitorUpdateErrorZPtr { result: std::ptr::null_mut() }
2611 let err = unsafe { o.contents.err };
2612 unsafe { o.contents.err = std::ptr::null_mut(); }
2613 CResult_NoneMonitorUpdateErrorZPtr { err }
2617 result_ok: o.result_ok,
2621 impl Clone for CResult_NoneMonitorUpdateErrorZ {
2622 fn clone(&self) -> Self {
2624 Self { result_ok: true, contents: CResult_NoneMonitorUpdateErrorZPtr {
2625 result: std::ptr::null_mut()
2628 Self { result_ok: false, contents: CResult_NoneMonitorUpdateErrorZPtr {
2629 err: Box::into_raw(Box::new(<crate::chain::channelmonitor::MonitorUpdateError>::clone(unsafe { &*self.contents.err })))
2635 pub extern "C" fn CResult_NoneMonitorUpdateErrorZ_clone(orig: &CResult_NoneMonitorUpdateErrorZ) -> CResult_NoneMonitorUpdateErrorZ { orig.clone() }
2637 pub struct C2Tuple_OutPointScriptZ {
2638 pub a: crate::chain::transaction::OutPoint,
2639 pub b: crate::c_types::derived::CVec_u8Z,
2641 impl From<(crate::chain::transaction::OutPoint, crate::c_types::derived::CVec_u8Z)> for C2Tuple_OutPointScriptZ {
2642 fn from (tup: (crate::chain::transaction::OutPoint, crate::c_types::derived::CVec_u8Z)) -> Self {
2649 impl C2Tuple_OutPointScriptZ {
2650 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (crate::chain::transaction::OutPoint, crate::c_types::derived::CVec_u8Z) {
2654 impl Clone for C2Tuple_OutPointScriptZ {
2655 fn clone(&self) -> Self {
2663 pub extern "C" fn C2Tuple_OutPointScriptZ_clone(orig: &C2Tuple_OutPointScriptZ) -> C2Tuple_OutPointScriptZ { orig.clone() }
2665 pub extern "C" fn C2Tuple_OutPointScriptZ_new(a: crate::chain::transaction::OutPoint, b: crate::c_types::derived::CVec_u8Z) -> C2Tuple_OutPointScriptZ {
2666 C2Tuple_OutPointScriptZ { a, b, }
2670 pub extern "C" fn C2Tuple_OutPointScriptZ_free(_res: C2Tuple_OutPointScriptZ) { }
2672 pub struct CVec_TransactionZ {
2673 pub data: *mut crate::c_types::Transaction,
2676 impl CVec_TransactionZ {
2677 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::c_types::Transaction> {
2678 if self.datalen == 0 { return Vec::new(); }
2679 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
2680 self.data = std::ptr::null_mut();
2684 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::c_types::Transaction] {
2685 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
2688 impl From<Vec<crate::c_types::Transaction>> for CVec_TransactionZ {
2689 fn from(v: Vec<crate::c_types::Transaction>) -> Self {
2690 let datalen = v.len();
2691 let data = Box::into_raw(v.into_boxed_slice());
2692 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
2696 pub extern "C" fn CVec_TransactionZ_free(_res: CVec_TransactionZ) { }
2697 impl Drop for CVec_TransactionZ {
2698 fn drop(&mut self) {
2699 if self.datalen == 0 { return; }
2700 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
2704 pub struct C2Tuple_u32TxOutZ {
2706 pub b: crate::c_types::TxOut,
2708 impl From<(u32, crate::c_types::TxOut)> for C2Tuple_u32TxOutZ {
2709 fn from (tup: (u32, crate::c_types::TxOut)) -> Self {
2716 impl C2Tuple_u32TxOutZ {
2717 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (u32, crate::c_types::TxOut) {
2721 impl Clone for C2Tuple_u32TxOutZ {
2722 fn clone(&self) -> Self {
2730 pub extern "C" fn C2Tuple_u32TxOutZ_clone(orig: &C2Tuple_u32TxOutZ) -> C2Tuple_u32TxOutZ { orig.clone() }
2732 pub extern "C" fn C2Tuple_u32TxOutZ_new(a: u32, b: crate::c_types::TxOut) -> C2Tuple_u32TxOutZ {
2733 C2Tuple_u32TxOutZ { a, b, }
2737 pub extern "C" fn C2Tuple_u32TxOutZ_free(_res: C2Tuple_u32TxOutZ) { }
2739 pub struct CVec_C2Tuple_u32TxOutZZ {
2740 pub data: *mut crate::c_types::derived::C2Tuple_u32TxOutZ,
2743 impl CVec_C2Tuple_u32TxOutZZ {
2744 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::c_types::derived::C2Tuple_u32TxOutZ> {
2745 if self.datalen == 0 { return Vec::new(); }
2746 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
2747 self.data = std::ptr::null_mut();
2751 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::c_types::derived::C2Tuple_u32TxOutZ] {
2752 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
2755 impl From<Vec<crate::c_types::derived::C2Tuple_u32TxOutZ>> for CVec_C2Tuple_u32TxOutZZ {
2756 fn from(v: Vec<crate::c_types::derived::C2Tuple_u32TxOutZ>) -> Self {
2757 let datalen = v.len();
2758 let data = Box::into_raw(v.into_boxed_slice());
2759 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
2763 pub extern "C" fn CVec_C2Tuple_u32TxOutZZ_free(_res: CVec_C2Tuple_u32TxOutZZ) { }
2764 impl Drop for CVec_C2Tuple_u32TxOutZZ {
2765 fn drop(&mut self) {
2766 if self.datalen == 0 { return; }
2767 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
2770 impl Clone for CVec_C2Tuple_u32TxOutZZ {
2771 fn clone(&self) -> Self {
2772 let mut res = Vec::new();
2773 if self.datalen == 0 { return Self::from(res); }
2774 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
2779 pub struct C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ {
2780 pub a: crate::c_types::ThirtyTwoBytes,
2781 pub b: crate::c_types::derived::CVec_C2Tuple_u32TxOutZZ,
2783 impl From<(crate::c_types::ThirtyTwoBytes, crate::c_types::derived::CVec_C2Tuple_u32TxOutZZ)> for C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ {
2784 fn from (tup: (crate::c_types::ThirtyTwoBytes, crate::c_types::derived::CVec_C2Tuple_u32TxOutZZ)) -> Self {
2791 impl C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ {
2792 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (crate::c_types::ThirtyTwoBytes, crate::c_types::derived::CVec_C2Tuple_u32TxOutZZ) {
2797 pub extern "C" fn C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_new(a: crate::c_types::ThirtyTwoBytes, b: crate::c_types::derived::CVec_C2Tuple_u32TxOutZZ) -> C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ {
2798 C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ { a, b, }
2802 pub extern "C" fn C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_free(_res: C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ) { }
2804 pub struct CVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ {
2805 pub data: *mut crate::c_types::derived::C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ,
2808 impl CVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ {
2809 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::c_types::derived::C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ> {
2810 if self.datalen == 0 { return Vec::new(); }
2811 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
2812 self.data = std::ptr::null_mut();
2816 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::c_types::derived::C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ] {
2817 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
2820 impl From<Vec<crate::c_types::derived::C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ>> for CVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ {
2821 fn from(v: Vec<crate::c_types::derived::C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ>) -> Self {
2822 let datalen = v.len();
2823 let data = Box::into_raw(v.into_boxed_slice());
2824 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
2828 pub extern "C" fn CVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ_free(_res: CVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ) { }
2829 impl Drop for CVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ {
2830 fn drop(&mut self) {
2831 if self.datalen == 0 { return; }
2832 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
2836 pub struct C2Tuple_BlockHashChannelMonitorZ {
2837 pub a: crate::c_types::ThirtyTwoBytes,
2838 pub b: crate::chain::channelmonitor::ChannelMonitor,
2840 impl From<(crate::c_types::ThirtyTwoBytes, crate::chain::channelmonitor::ChannelMonitor)> for C2Tuple_BlockHashChannelMonitorZ {
2841 fn from (tup: (crate::c_types::ThirtyTwoBytes, crate::chain::channelmonitor::ChannelMonitor)) -> Self {
2848 impl C2Tuple_BlockHashChannelMonitorZ {
2849 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (crate::c_types::ThirtyTwoBytes, crate::chain::channelmonitor::ChannelMonitor) {
2854 pub extern "C" fn C2Tuple_BlockHashChannelMonitorZ_new(a: crate::c_types::ThirtyTwoBytes, b: crate::chain::channelmonitor::ChannelMonitor) -> C2Tuple_BlockHashChannelMonitorZ {
2855 C2Tuple_BlockHashChannelMonitorZ { a, b, }
2859 pub extern "C" fn C2Tuple_BlockHashChannelMonitorZ_free(_res: C2Tuple_BlockHashChannelMonitorZ) { }
2861 pub union CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZPtr {
2862 pub result: *mut crate::c_types::derived::C2Tuple_BlockHashChannelMonitorZ,
2863 pub err: *mut crate::ln::msgs::DecodeError,
2866 pub struct CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
2867 pub contents: CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZPtr,
2868 pub result_ok: bool,
2871 pub extern "C" fn CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_ok(o: crate::c_types::derived::C2Tuple_BlockHashChannelMonitorZ) -> CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
2872 CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
2873 contents: CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZPtr {
2874 result: Box::into_raw(Box::new(o)),
2880 pub extern "C" fn CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
2881 CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
2882 contents: CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZPtr {
2883 err: Box::into_raw(Box::new(e)),
2889 pub extern "C" fn CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_free(_res: CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ) { }
2890 impl Drop for CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
2891 fn drop(&mut self) {
2893 if unsafe { !(self.contents.result as *mut ()).is_null() } {
2894 let _ = unsafe { Box::from_raw(self.contents.result) };
2897 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2898 let _ = unsafe { Box::from_raw(self.contents.err) };
2903 impl From<crate::c_types::CResultTempl<crate::c_types::derived::C2Tuple_BlockHashChannelMonitorZ, crate::ln::msgs::DecodeError>> for CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
2904 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::derived::C2Tuple_BlockHashChannelMonitorZ, crate::ln::msgs::DecodeError>) -> Self {
2905 let contents = if o.result_ok {
2906 let result = unsafe { o.contents.result };
2907 unsafe { o.contents.result = std::ptr::null_mut() };
2908 CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZPtr { result }
2910 let err = unsafe { o.contents.err };
2911 unsafe { o.contents.err = std::ptr::null_mut(); }
2912 CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZPtr { err }
2916 result_ok: o.result_ok,
2921 pub struct CVec_SpendableOutputDescriptorZ {
2922 pub data: *mut crate::chain::keysinterface::SpendableOutputDescriptor,
2925 impl CVec_SpendableOutputDescriptorZ {
2926 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::chain::keysinterface::SpendableOutputDescriptor> {
2927 if self.datalen == 0 { return Vec::new(); }
2928 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
2929 self.data = std::ptr::null_mut();
2933 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::chain::keysinterface::SpendableOutputDescriptor] {
2934 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
2937 impl From<Vec<crate::chain::keysinterface::SpendableOutputDescriptor>> for CVec_SpendableOutputDescriptorZ {
2938 fn from(v: Vec<crate::chain::keysinterface::SpendableOutputDescriptor>) -> Self {
2939 let datalen = v.len();
2940 let data = Box::into_raw(v.into_boxed_slice());
2941 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
2945 pub extern "C" fn CVec_SpendableOutputDescriptorZ_free(_res: CVec_SpendableOutputDescriptorZ) { }
2946 impl Drop for CVec_SpendableOutputDescriptorZ {
2947 fn drop(&mut self) {
2948 if self.datalen == 0 { return; }
2949 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
2952 impl Clone for CVec_SpendableOutputDescriptorZ {
2953 fn clone(&self) -> Self {
2954 let mut res = Vec::new();
2955 if self.datalen == 0 { return Self::from(res); }
2956 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
2961 pub union CResult_TxOutAccessErrorZPtr {
2962 pub result: *mut crate::c_types::TxOut,
2963 pub err: *mut crate::chain::AccessError,
2966 pub struct CResult_TxOutAccessErrorZ {
2967 pub contents: CResult_TxOutAccessErrorZPtr,
2968 pub result_ok: bool,
2971 pub extern "C" fn CResult_TxOutAccessErrorZ_ok(o: crate::c_types::TxOut) -> CResult_TxOutAccessErrorZ {
2972 CResult_TxOutAccessErrorZ {
2973 contents: CResult_TxOutAccessErrorZPtr {
2974 result: Box::into_raw(Box::new(o)),
2980 pub extern "C" fn CResult_TxOutAccessErrorZ_err(e: crate::chain::AccessError) -> CResult_TxOutAccessErrorZ {
2981 CResult_TxOutAccessErrorZ {
2982 contents: CResult_TxOutAccessErrorZPtr {
2983 err: Box::into_raw(Box::new(e)),
2989 pub extern "C" fn CResult_TxOutAccessErrorZ_free(_res: CResult_TxOutAccessErrorZ) { }
2990 impl Drop for CResult_TxOutAccessErrorZ {
2991 fn drop(&mut self) {
2993 if unsafe { !(self.contents.result as *mut ()).is_null() } {
2994 let _ = unsafe { Box::from_raw(self.contents.result) };
2997 if unsafe { !(self.contents.err as *mut ()).is_null() } {
2998 let _ = unsafe { Box::from_raw(self.contents.err) };
3003 impl From<crate::c_types::CResultTempl<crate::c_types::TxOut, crate::chain::AccessError>> for CResult_TxOutAccessErrorZ {
3004 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::TxOut, crate::chain::AccessError>) -> Self {
3005 let contents = if o.result_ok {
3006 let result = unsafe { o.contents.result };
3007 unsafe { o.contents.result = std::ptr::null_mut() };
3008 CResult_TxOutAccessErrorZPtr { result }
3010 let err = unsafe { o.contents.err };
3011 unsafe { o.contents.err = std::ptr::null_mut(); }
3012 CResult_TxOutAccessErrorZPtr { err }
3016 result_ok: o.result_ok,
3020 impl Clone for CResult_TxOutAccessErrorZ {
3021 fn clone(&self) -> Self {
3023 Self { result_ok: true, contents: CResult_TxOutAccessErrorZPtr {
3024 result: Box::into_raw(Box::new(<crate::c_types::TxOut>::clone(unsafe { &*self.contents.result })))
3027 Self { result_ok: false, contents: CResult_TxOutAccessErrorZPtr {
3028 err: Box::into_raw(Box::new(<crate::chain::AccessError>::clone(unsafe { &*self.contents.err })))
3034 pub extern "C" fn CResult_TxOutAccessErrorZ_clone(orig: &CResult_TxOutAccessErrorZ) -> CResult_TxOutAccessErrorZ { orig.clone() }
3036 pub union CResult_NoneAPIErrorZPtr {
3037 /// Note that this value is always NULL, as there are no contents in the OK variant
3038 pub result: *mut std::ffi::c_void,
3039 pub err: *mut crate::util::errors::APIError,
3042 pub struct CResult_NoneAPIErrorZ {
3043 pub contents: CResult_NoneAPIErrorZPtr,
3044 pub result_ok: bool,
3047 pub extern "C" fn CResult_NoneAPIErrorZ_ok() -> CResult_NoneAPIErrorZ {
3048 CResult_NoneAPIErrorZ {
3049 contents: CResult_NoneAPIErrorZPtr {
3050 result: std::ptr::null_mut(),
3056 pub extern "C" fn CResult_NoneAPIErrorZ_err(e: crate::util::errors::APIError) -> CResult_NoneAPIErrorZ {
3057 CResult_NoneAPIErrorZ {
3058 contents: CResult_NoneAPIErrorZPtr {
3059 err: Box::into_raw(Box::new(e)),
3065 pub extern "C" fn CResult_NoneAPIErrorZ_free(_res: CResult_NoneAPIErrorZ) { }
3066 impl Drop for CResult_NoneAPIErrorZ {
3067 fn drop(&mut self) {
3070 if unsafe { !(self.contents.err as *mut ()).is_null() } {
3071 let _ = unsafe { Box::from_raw(self.contents.err) };
3076 impl From<crate::c_types::CResultTempl<u8, crate::util::errors::APIError>> for CResult_NoneAPIErrorZ {
3077 fn from(mut o: crate::c_types::CResultTempl<u8, crate::util::errors::APIError>) -> Self {
3078 let contents = if o.result_ok {
3079 let _ = unsafe { Box::from_raw(o.contents.result) };
3080 o.contents.result = std::ptr::null_mut();
3081 CResult_NoneAPIErrorZPtr { result: std::ptr::null_mut() }
3083 let err = unsafe { o.contents.err };
3084 unsafe { o.contents.err = std::ptr::null_mut(); }
3085 CResult_NoneAPIErrorZPtr { err }
3089 result_ok: o.result_ok,
3093 impl Clone for CResult_NoneAPIErrorZ {
3094 fn clone(&self) -> Self {
3096 Self { result_ok: true, contents: CResult_NoneAPIErrorZPtr {
3097 result: std::ptr::null_mut()
3100 Self { result_ok: false, contents: CResult_NoneAPIErrorZPtr {
3101 err: Box::into_raw(Box::new(<crate::util::errors::APIError>::clone(unsafe { &*self.contents.err })))
3107 pub extern "C" fn CResult_NoneAPIErrorZ_clone(orig: &CResult_NoneAPIErrorZ) -> CResult_NoneAPIErrorZ { orig.clone() }
3109 pub struct CVec_ChannelDetailsZ {
3110 pub data: *mut crate::ln::channelmanager::ChannelDetails,
3113 impl CVec_ChannelDetailsZ {
3114 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::ln::channelmanager::ChannelDetails> {
3115 if self.datalen == 0 { return Vec::new(); }
3116 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
3117 self.data = std::ptr::null_mut();
3121 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::ln::channelmanager::ChannelDetails] {
3122 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
3125 impl From<Vec<crate::ln::channelmanager::ChannelDetails>> for CVec_ChannelDetailsZ {
3126 fn from(v: Vec<crate::ln::channelmanager::ChannelDetails>) -> Self {
3127 let datalen = v.len();
3128 let data = Box::into_raw(v.into_boxed_slice());
3129 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
3133 pub extern "C" fn CVec_ChannelDetailsZ_free(_res: CVec_ChannelDetailsZ) { }
3134 impl Drop for CVec_ChannelDetailsZ {
3135 fn drop(&mut self) {
3136 if self.datalen == 0 { return; }
3137 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
3140 impl Clone for CVec_ChannelDetailsZ {
3141 fn clone(&self) -> Self {
3142 let mut res = Vec::new();
3143 if self.datalen == 0 { return Self::from(res); }
3144 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
3149 pub union CResult_NonePaymentSendFailureZPtr {
3150 /// Note that this value is always NULL, as there are no contents in the OK variant
3151 pub result: *mut std::ffi::c_void,
3152 pub err: *mut crate::ln::channelmanager::PaymentSendFailure,
3155 pub struct CResult_NonePaymentSendFailureZ {
3156 pub contents: CResult_NonePaymentSendFailureZPtr,
3157 pub result_ok: bool,
3160 pub extern "C" fn CResult_NonePaymentSendFailureZ_ok() -> CResult_NonePaymentSendFailureZ {
3161 CResult_NonePaymentSendFailureZ {
3162 contents: CResult_NonePaymentSendFailureZPtr {
3163 result: std::ptr::null_mut(),
3169 pub extern "C" fn CResult_NonePaymentSendFailureZ_err(e: crate::ln::channelmanager::PaymentSendFailure) -> CResult_NonePaymentSendFailureZ {
3170 CResult_NonePaymentSendFailureZ {
3171 contents: CResult_NonePaymentSendFailureZPtr {
3172 err: Box::into_raw(Box::new(e)),
3178 pub extern "C" fn CResult_NonePaymentSendFailureZ_free(_res: CResult_NonePaymentSendFailureZ) { }
3179 impl Drop for CResult_NonePaymentSendFailureZ {
3180 fn drop(&mut self) {
3183 if unsafe { !(self.contents.err as *mut ()).is_null() } {
3184 let _ = unsafe { Box::from_raw(self.contents.err) };
3189 impl From<crate::c_types::CResultTempl<u8, crate::ln::channelmanager::PaymentSendFailure>> for CResult_NonePaymentSendFailureZ {
3190 fn from(mut o: crate::c_types::CResultTempl<u8, crate::ln::channelmanager::PaymentSendFailure>) -> Self {
3191 let contents = if o.result_ok {
3192 let _ = unsafe { Box::from_raw(o.contents.result) };
3193 o.contents.result = std::ptr::null_mut();
3194 CResult_NonePaymentSendFailureZPtr { result: std::ptr::null_mut() }
3196 let err = unsafe { o.contents.err };
3197 unsafe { o.contents.err = std::ptr::null_mut(); }
3198 CResult_NonePaymentSendFailureZPtr { err }
3202 result_ok: o.result_ok,
3206 impl Clone for CResult_NonePaymentSendFailureZ {
3207 fn clone(&self) -> Self {
3209 Self { result_ok: true, contents: CResult_NonePaymentSendFailureZPtr {
3210 result: std::ptr::null_mut()
3213 Self { result_ok: false, contents: CResult_NonePaymentSendFailureZPtr {
3214 err: Box::into_raw(Box::new(<crate::ln::channelmanager::PaymentSendFailure>::clone(unsafe { &*self.contents.err })))
3220 pub extern "C" fn CResult_NonePaymentSendFailureZ_clone(orig: &CResult_NonePaymentSendFailureZ) -> CResult_NonePaymentSendFailureZ { orig.clone() }
3222 pub struct CVec_ChannelMonitorZ {
3223 pub data: *mut crate::chain::channelmonitor::ChannelMonitor,
3226 impl CVec_ChannelMonitorZ {
3227 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::chain::channelmonitor::ChannelMonitor> {
3228 if self.datalen == 0 { return Vec::new(); }
3229 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
3230 self.data = std::ptr::null_mut();
3234 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::chain::channelmonitor::ChannelMonitor] {
3235 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
3238 impl From<Vec<crate::chain::channelmonitor::ChannelMonitor>> for CVec_ChannelMonitorZ {
3239 fn from(v: Vec<crate::chain::channelmonitor::ChannelMonitor>) -> Self {
3240 let datalen = v.len();
3241 let data = Box::into_raw(v.into_boxed_slice());
3242 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
3246 pub extern "C" fn CVec_ChannelMonitorZ_free(_res: CVec_ChannelMonitorZ) { }
3247 impl Drop for CVec_ChannelMonitorZ {
3248 fn drop(&mut self) {
3249 if self.datalen == 0 { return; }
3250 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
3254 pub struct C2Tuple_BlockHashChannelManagerZ {
3255 pub a: crate::c_types::ThirtyTwoBytes,
3256 pub b: crate::ln::channelmanager::ChannelManager,
3258 impl From<(crate::c_types::ThirtyTwoBytes, crate::ln::channelmanager::ChannelManager)> for C2Tuple_BlockHashChannelManagerZ {
3259 fn from (tup: (crate::c_types::ThirtyTwoBytes, crate::ln::channelmanager::ChannelManager)) -> Self {
3266 impl C2Tuple_BlockHashChannelManagerZ {
3267 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (crate::c_types::ThirtyTwoBytes, crate::ln::channelmanager::ChannelManager) {
3272 pub extern "C" fn C2Tuple_BlockHashChannelManagerZ_new(a: crate::c_types::ThirtyTwoBytes, b: crate::ln::channelmanager::ChannelManager) -> C2Tuple_BlockHashChannelManagerZ {
3273 C2Tuple_BlockHashChannelManagerZ { a, b, }
3277 pub extern "C" fn C2Tuple_BlockHashChannelManagerZ_free(_res: C2Tuple_BlockHashChannelManagerZ) { }
3279 pub union CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZPtr {
3280 pub result: *mut crate::c_types::derived::C2Tuple_BlockHashChannelManagerZ,
3281 pub err: *mut crate::ln::msgs::DecodeError,
3284 pub struct CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ {
3285 pub contents: CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZPtr,
3286 pub result_ok: bool,
3289 pub extern "C" fn CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_ok(o: crate::c_types::derived::C2Tuple_BlockHashChannelManagerZ) -> CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ {
3290 CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ {
3291 contents: CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZPtr {
3292 result: Box::into_raw(Box::new(o)),
3298 pub extern "C" fn CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ {
3299 CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ {
3300 contents: CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZPtr {
3301 err: Box::into_raw(Box::new(e)),
3307 pub extern "C" fn CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_free(_res: CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ) { }
3308 impl Drop for CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ {
3309 fn drop(&mut self) {
3311 if unsafe { !(self.contents.result as *mut ()).is_null() } {
3312 let _ = unsafe { Box::from_raw(self.contents.result) };
3315 if unsafe { !(self.contents.err as *mut ()).is_null() } {
3316 let _ = unsafe { Box::from_raw(self.contents.err) };
3321 impl From<crate::c_types::CResultTempl<crate::c_types::derived::C2Tuple_BlockHashChannelManagerZ, crate::ln::msgs::DecodeError>> for CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ {
3322 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::derived::C2Tuple_BlockHashChannelManagerZ, crate::ln::msgs::DecodeError>) -> Self {
3323 let contents = if o.result_ok {
3324 let result = unsafe { o.contents.result };
3325 unsafe { o.contents.result = std::ptr::null_mut() };
3326 CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZPtr { result }
3328 let err = unsafe { o.contents.err };
3329 unsafe { o.contents.err = std::ptr::null_mut(); }
3330 CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZPtr { err }
3334 result_ok: o.result_ok,
3339 pub struct C2Tuple_u64u64Z {
3343 impl From<(u64, u64)> for C2Tuple_u64u64Z {
3344 fn from (tup: (u64, u64)) -> Self {
3351 impl C2Tuple_u64u64Z {
3352 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (u64, u64) {
3356 impl Clone for C2Tuple_u64u64Z {
3357 fn clone(&self) -> Self {
3365 pub extern "C" fn C2Tuple_u64u64Z_clone(orig: &C2Tuple_u64u64Z) -> C2Tuple_u64u64Z { orig.clone() }
3367 pub extern "C" fn C2Tuple_u64u64Z_new(a: u64, b: u64) -> C2Tuple_u64u64Z {
3368 C2Tuple_u64u64Z { a, b, }
3372 pub extern "C" fn C2Tuple_u64u64Z_free(_res: C2Tuple_u64u64Z) { }
3374 pub union CResult_SpendableOutputDescriptorDecodeErrorZPtr {
3375 pub result: *mut crate::chain::keysinterface::SpendableOutputDescriptor,
3376 pub err: *mut crate::ln::msgs::DecodeError,
3379 pub struct CResult_SpendableOutputDescriptorDecodeErrorZ {
3380 pub contents: CResult_SpendableOutputDescriptorDecodeErrorZPtr,
3381 pub result_ok: bool,
3384 pub extern "C" fn CResult_SpendableOutputDescriptorDecodeErrorZ_ok(o: crate::chain::keysinterface::SpendableOutputDescriptor) -> CResult_SpendableOutputDescriptorDecodeErrorZ {
3385 CResult_SpendableOutputDescriptorDecodeErrorZ {
3386 contents: CResult_SpendableOutputDescriptorDecodeErrorZPtr {
3387 result: Box::into_raw(Box::new(o)),
3393 pub extern "C" fn CResult_SpendableOutputDescriptorDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_SpendableOutputDescriptorDecodeErrorZ {
3394 CResult_SpendableOutputDescriptorDecodeErrorZ {
3395 contents: CResult_SpendableOutputDescriptorDecodeErrorZPtr {
3396 err: Box::into_raw(Box::new(e)),
3402 pub extern "C" fn CResult_SpendableOutputDescriptorDecodeErrorZ_free(_res: CResult_SpendableOutputDescriptorDecodeErrorZ) { }
3403 impl Drop for CResult_SpendableOutputDescriptorDecodeErrorZ {
3404 fn drop(&mut self) {
3406 if unsafe { !(self.contents.result as *mut ()).is_null() } {
3407 let _ = unsafe { Box::from_raw(self.contents.result) };
3410 if unsafe { !(self.contents.err as *mut ()).is_null() } {
3411 let _ = unsafe { Box::from_raw(self.contents.err) };
3416 impl From<crate::c_types::CResultTempl<crate::chain::keysinterface::SpendableOutputDescriptor, crate::ln::msgs::DecodeError>> for CResult_SpendableOutputDescriptorDecodeErrorZ {
3417 fn from(mut o: crate::c_types::CResultTempl<crate::chain::keysinterface::SpendableOutputDescriptor, crate::ln::msgs::DecodeError>) -> Self {
3418 let contents = if o.result_ok {
3419 let result = unsafe { o.contents.result };
3420 unsafe { o.contents.result = std::ptr::null_mut() };
3421 CResult_SpendableOutputDescriptorDecodeErrorZPtr { result }
3423 let err = unsafe { o.contents.err };
3424 unsafe { o.contents.err = std::ptr::null_mut(); }
3425 CResult_SpendableOutputDescriptorDecodeErrorZPtr { err }
3429 result_ok: o.result_ok,
3433 impl Clone for CResult_SpendableOutputDescriptorDecodeErrorZ {
3434 fn clone(&self) -> Self {
3436 Self { result_ok: true, contents: CResult_SpendableOutputDescriptorDecodeErrorZPtr {
3437 result: Box::into_raw(Box::new(<crate::chain::keysinterface::SpendableOutputDescriptor>::clone(unsafe { &*self.contents.result })))
3440 Self { result_ok: false, contents: CResult_SpendableOutputDescriptorDecodeErrorZPtr {
3441 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
3447 pub extern "C" fn CResult_SpendableOutputDescriptorDecodeErrorZ_clone(orig: &CResult_SpendableOutputDescriptorDecodeErrorZ) -> CResult_SpendableOutputDescriptorDecodeErrorZ { orig.clone() }
3449 pub struct C2Tuple_SignatureCVec_SignatureZZ {
3450 pub a: crate::c_types::Signature,
3451 pub b: crate::c_types::derived::CVec_SignatureZ,
3453 impl From<(crate::c_types::Signature, crate::c_types::derived::CVec_SignatureZ)> for C2Tuple_SignatureCVec_SignatureZZ {
3454 fn from (tup: (crate::c_types::Signature, crate::c_types::derived::CVec_SignatureZ)) -> Self {
3461 impl C2Tuple_SignatureCVec_SignatureZZ {
3462 #[allow(unused)] pub(crate) fn to_rust(mut self) -> (crate::c_types::Signature, crate::c_types::derived::CVec_SignatureZ) {
3466 impl Clone for C2Tuple_SignatureCVec_SignatureZZ {
3467 fn clone(&self) -> Self {
3475 pub extern "C" fn C2Tuple_SignatureCVec_SignatureZZ_clone(orig: &C2Tuple_SignatureCVec_SignatureZZ) -> C2Tuple_SignatureCVec_SignatureZZ { orig.clone() }
3477 pub extern "C" fn C2Tuple_SignatureCVec_SignatureZZ_new(a: crate::c_types::Signature, b: crate::c_types::derived::CVec_SignatureZ) -> C2Tuple_SignatureCVec_SignatureZZ {
3478 C2Tuple_SignatureCVec_SignatureZZ { a, b, }
3482 pub extern "C" fn C2Tuple_SignatureCVec_SignatureZZ_free(_res: C2Tuple_SignatureCVec_SignatureZZ) { }
3484 pub union CResult_C2Tuple_SignatureCVec_SignatureZZNoneZPtr {
3485 pub result: *mut crate::c_types::derived::C2Tuple_SignatureCVec_SignatureZZ,
3486 /// Note that this value is always NULL, as there are no contents in the Err variant
3487 pub err: *mut std::ffi::c_void,
3490 pub struct CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ {
3491 pub contents: CResult_C2Tuple_SignatureCVec_SignatureZZNoneZPtr,
3492 pub result_ok: bool,
3495 pub extern "C" fn CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_ok(o: crate::c_types::derived::C2Tuple_SignatureCVec_SignatureZZ) -> CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ {
3496 CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ {
3497 contents: CResult_C2Tuple_SignatureCVec_SignatureZZNoneZPtr {
3498 result: Box::into_raw(Box::new(o)),
3504 pub extern "C" fn CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_err() -> CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ {
3505 CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ {
3506 contents: CResult_C2Tuple_SignatureCVec_SignatureZZNoneZPtr {
3507 err: std::ptr::null_mut(),
3513 pub extern "C" fn CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_free(_res: CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ) { }
3514 impl Drop for CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ {
3515 fn drop(&mut self) {
3517 if unsafe { !(self.contents.result as *mut ()).is_null() } {
3518 let _ = unsafe { Box::from_raw(self.contents.result) };
3524 impl From<crate::c_types::CResultTempl<crate::c_types::derived::C2Tuple_SignatureCVec_SignatureZZ, u8>> for CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ {
3525 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::derived::C2Tuple_SignatureCVec_SignatureZZ, u8>) -> Self {
3526 let contents = if o.result_ok {
3527 let result = unsafe { o.contents.result };
3528 unsafe { o.contents.result = std::ptr::null_mut() };
3529 CResult_C2Tuple_SignatureCVec_SignatureZZNoneZPtr { result }
3531 let _ = unsafe { Box::from_raw(o.contents.err) };
3532 o.contents.err = std::ptr::null_mut();
3533 CResult_C2Tuple_SignatureCVec_SignatureZZNoneZPtr { err: std::ptr::null_mut() }
3537 result_ok: o.result_ok,
3541 impl Clone for CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ {
3542 fn clone(&self) -> Self {
3544 Self { result_ok: true, contents: CResult_C2Tuple_SignatureCVec_SignatureZZNoneZPtr {
3545 result: Box::into_raw(Box::new(<crate::c_types::derived::C2Tuple_SignatureCVec_SignatureZZ>::clone(unsafe { &*self.contents.result })))
3548 Self { result_ok: false, contents: CResult_C2Tuple_SignatureCVec_SignatureZZNoneZPtr {
3549 err: std::ptr::null_mut()
3555 pub extern "C" fn CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_clone(orig: &CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ) -> CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ { orig.clone() }
3557 pub union CResult_SignatureNoneZPtr {
3558 pub result: *mut crate::c_types::Signature,
3559 /// Note that this value is always NULL, as there are no contents in the Err variant
3560 pub err: *mut std::ffi::c_void,
3563 pub struct CResult_SignatureNoneZ {
3564 pub contents: CResult_SignatureNoneZPtr,
3565 pub result_ok: bool,
3568 pub extern "C" fn CResult_SignatureNoneZ_ok(o: crate::c_types::Signature) -> CResult_SignatureNoneZ {
3569 CResult_SignatureNoneZ {
3570 contents: CResult_SignatureNoneZPtr {
3571 result: Box::into_raw(Box::new(o)),
3577 pub extern "C" fn CResult_SignatureNoneZ_err() -> CResult_SignatureNoneZ {
3578 CResult_SignatureNoneZ {
3579 contents: CResult_SignatureNoneZPtr {
3580 err: std::ptr::null_mut(),
3586 pub extern "C" fn CResult_SignatureNoneZ_free(_res: CResult_SignatureNoneZ) { }
3587 impl Drop for CResult_SignatureNoneZ {
3588 fn drop(&mut self) {
3590 if unsafe { !(self.contents.result as *mut ()).is_null() } {
3591 let _ = unsafe { Box::from_raw(self.contents.result) };
3597 impl From<crate::c_types::CResultTempl<crate::c_types::Signature, u8>> for CResult_SignatureNoneZ {
3598 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::Signature, u8>) -> Self {
3599 let contents = if o.result_ok {
3600 let result = unsafe { o.contents.result };
3601 unsafe { o.contents.result = std::ptr::null_mut() };
3602 CResult_SignatureNoneZPtr { result }
3604 let _ = unsafe { Box::from_raw(o.contents.err) };
3605 o.contents.err = std::ptr::null_mut();
3606 CResult_SignatureNoneZPtr { err: std::ptr::null_mut() }
3610 result_ok: o.result_ok,
3614 impl Clone for CResult_SignatureNoneZ {
3615 fn clone(&self) -> Self {
3617 Self { result_ok: true, contents: CResult_SignatureNoneZPtr {
3618 result: Box::into_raw(Box::new(<crate::c_types::Signature>::clone(unsafe { &*self.contents.result })))
3621 Self { result_ok: false, contents: CResult_SignatureNoneZPtr {
3622 err: std::ptr::null_mut()
3628 pub extern "C" fn CResult_SignatureNoneZ_clone(orig: &CResult_SignatureNoneZ) -> CResult_SignatureNoneZ { orig.clone() }
3630 pub union CResult_ChannelKeysDecodeErrorZPtr {
3631 pub result: *mut crate::chain::keysinterface::ChannelKeys,
3632 pub err: *mut crate::ln::msgs::DecodeError,
3635 pub struct CResult_ChannelKeysDecodeErrorZ {
3636 pub contents: CResult_ChannelKeysDecodeErrorZPtr,
3637 pub result_ok: bool,
3640 pub extern "C" fn CResult_ChannelKeysDecodeErrorZ_ok(o: crate::chain::keysinterface::ChannelKeys) -> CResult_ChannelKeysDecodeErrorZ {
3641 CResult_ChannelKeysDecodeErrorZ {
3642 contents: CResult_ChannelKeysDecodeErrorZPtr {
3643 result: Box::into_raw(Box::new(o)),
3649 pub extern "C" fn CResult_ChannelKeysDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelKeysDecodeErrorZ {
3650 CResult_ChannelKeysDecodeErrorZ {
3651 contents: CResult_ChannelKeysDecodeErrorZPtr {
3652 err: Box::into_raw(Box::new(e)),
3658 pub extern "C" fn CResult_ChannelKeysDecodeErrorZ_free(_res: CResult_ChannelKeysDecodeErrorZ) { }
3659 impl Drop for CResult_ChannelKeysDecodeErrorZ {
3660 fn drop(&mut self) {
3662 if unsafe { !(self.contents.result as *mut ()).is_null() } {
3663 let _ = unsafe { Box::from_raw(self.contents.result) };
3666 if unsafe { !(self.contents.err as *mut ()).is_null() } {
3667 let _ = unsafe { Box::from_raw(self.contents.err) };
3672 impl From<crate::c_types::CResultTempl<crate::chain::keysinterface::ChannelKeys, crate::ln::msgs::DecodeError>> for CResult_ChannelKeysDecodeErrorZ {
3673 fn from(mut o: crate::c_types::CResultTempl<crate::chain::keysinterface::ChannelKeys, crate::ln::msgs::DecodeError>) -> Self {
3674 let contents = if o.result_ok {
3675 let result = unsafe { o.contents.result };
3676 unsafe { o.contents.result = std::ptr::null_mut() };
3677 CResult_ChannelKeysDecodeErrorZPtr { result }
3679 let err = unsafe { o.contents.err };
3680 unsafe { o.contents.err = std::ptr::null_mut(); }
3681 CResult_ChannelKeysDecodeErrorZPtr { err }
3685 result_ok: o.result_ok,
3689 impl Clone for CResult_ChannelKeysDecodeErrorZ {
3690 fn clone(&self) -> Self {
3692 Self { result_ok: true, contents: CResult_ChannelKeysDecodeErrorZPtr {
3693 result: Box::into_raw(Box::new(<crate::chain::keysinterface::ChannelKeys>::clone(unsafe { &*self.contents.result })))
3696 Self { result_ok: false, contents: CResult_ChannelKeysDecodeErrorZPtr {
3697 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
3703 pub extern "C" fn CResult_ChannelKeysDecodeErrorZ_clone(orig: &CResult_ChannelKeysDecodeErrorZ) -> CResult_ChannelKeysDecodeErrorZ { orig.clone() }
3705 pub union CResult_InMemoryChannelKeysDecodeErrorZPtr {
3706 pub result: *mut crate::chain::keysinterface::InMemoryChannelKeys,
3707 pub err: *mut crate::ln::msgs::DecodeError,
3710 pub struct CResult_InMemoryChannelKeysDecodeErrorZ {
3711 pub contents: CResult_InMemoryChannelKeysDecodeErrorZPtr,
3712 pub result_ok: bool,
3715 pub extern "C" fn CResult_InMemoryChannelKeysDecodeErrorZ_ok(o: crate::chain::keysinterface::InMemoryChannelKeys) -> CResult_InMemoryChannelKeysDecodeErrorZ {
3716 CResult_InMemoryChannelKeysDecodeErrorZ {
3717 contents: CResult_InMemoryChannelKeysDecodeErrorZPtr {
3718 result: Box::into_raw(Box::new(o)),
3724 pub extern "C" fn CResult_InMemoryChannelKeysDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_InMemoryChannelKeysDecodeErrorZ {
3725 CResult_InMemoryChannelKeysDecodeErrorZ {
3726 contents: CResult_InMemoryChannelKeysDecodeErrorZPtr {
3727 err: Box::into_raw(Box::new(e)),
3733 pub extern "C" fn CResult_InMemoryChannelKeysDecodeErrorZ_free(_res: CResult_InMemoryChannelKeysDecodeErrorZ) { }
3734 impl Drop for CResult_InMemoryChannelKeysDecodeErrorZ {
3735 fn drop(&mut self) {
3737 if unsafe { !(self.contents.result as *mut ()).is_null() } {
3738 let _ = unsafe { Box::from_raw(self.contents.result) };
3741 if unsafe { !(self.contents.err as *mut ()).is_null() } {
3742 let _ = unsafe { Box::from_raw(self.contents.err) };
3747 impl From<crate::c_types::CResultTempl<crate::chain::keysinterface::InMemoryChannelKeys, crate::ln::msgs::DecodeError>> for CResult_InMemoryChannelKeysDecodeErrorZ {
3748 fn from(mut o: crate::c_types::CResultTempl<crate::chain::keysinterface::InMemoryChannelKeys, crate::ln::msgs::DecodeError>) -> Self {
3749 let contents = if o.result_ok {
3750 let result = unsafe { o.contents.result };
3751 unsafe { o.contents.result = std::ptr::null_mut() };
3752 CResult_InMemoryChannelKeysDecodeErrorZPtr { result }
3754 let err = unsafe { o.contents.err };
3755 unsafe { o.contents.err = std::ptr::null_mut(); }
3756 CResult_InMemoryChannelKeysDecodeErrorZPtr { err }
3760 result_ok: o.result_ok,
3764 impl Clone for CResult_InMemoryChannelKeysDecodeErrorZ {
3765 fn clone(&self) -> Self {
3767 Self { result_ok: true, contents: CResult_InMemoryChannelKeysDecodeErrorZPtr {
3768 result: Box::into_raw(Box::new(<crate::chain::keysinterface::InMemoryChannelKeys>::clone(unsafe { &*self.contents.result })))
3771 Self { result_ok: false, contents: CResult_InMemoryChannelKeysDecodeErrorZPtr {
3772 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
3778 pub extern "C" fn CResult_InMemoryChannelKeysDecodeErrorZ_clone(orig: &CResult_InMemoryChannelKeysDecodeErrorZ) -> CResult_InMemoryChannelKeysDecodeErrorZ { orig.clone() }
3780 pub struct CVec_RouteHopZ {
3781 pub data: *mut crate::routing::router::RouteHop,
3784 impl CVec_RouteHopZ {
3785 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::routing::router::RouteHop> {
3786 if self.datalen == 0 { return Vec::new(); }
3787 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
3788 self.data = std::ptr::null_mut();
3792 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::routing::router::RouteHop] {
3793 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
3796 impl From<Vec<crate::routing::router::RouteHop>> for CVec_RouteHopZ {
3797 fn from(v: Vec<crate::routing::router::RouteHop>) -> Self {
3798 let datalen = v.len();
3799 let data = Box::into_raw(v.into_boxed_slice());
3800 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
3804 pub extern "C" fn CVec_RouteHopZ_free(_res: CVec_RouteHopZ) { }
3805 impl Drop for CVec_RouteHopZ {
3806 fn drop(&mut self) {
3807 if self.datalen == 0 { return; }
3808 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
3811 impl Clone for CVec_RouteHopZ {
3812 fn clone(&self) -> Self {
3813 let mut res = Vec::new();
3814 if self.datalen == 0 { return Self::from(res); }
3815 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
3820 pub struct CVec_CVec_RouteHopZZ {
3821 pub data: *mut crate::c_types::derived::CVec_RouteHopZ,
3824 impl CVec_CVec_RouteHopZZ {
3825 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::c_types::derived::CVec_RouteHopZ> {
3826 if self.datalen == 0 { return Vec::new(); }
3827 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
3828 self.data = std::ptr::null_mut();
3832 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::c_types::derived::CVec_RouteHopZ] {
3833 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
3836 impl From<Vec<crate::c_types::derived::CVec_RouteHopZ>> for CVec_CVec_RouteHopZZ {
3837 fn from(v: Vec<crate::c_types::derived::CVec_RouteHopZ>) -> Self {
3838 let datalen = v.len();
3839 let data = Box::into_raw(v.into_boxed_slice());
3840 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
3844 pub extern "C" fn CVec_CVec_RouteHopZZ_free(_res: CVec_CVec_RouteHopZZ) { }
3845 impl Drop for CVec_CVec_RouteHopZZ {
3846 fn drop(&mut self) {
3847 if self.datalen == 0 { return; }
3848 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
3851 impl Clone for CVec_CVec_RouteHopZZ {
3852 fn clone(&self) -> Self {
3853 let mut res = Vec::new();
3854 if self.datalen == 0 { return Self::from(res); }
3855 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
3860 pub union CResult_RouteDecodeErrorZPtr {
3861 pub result: *mut crate::routing::router::Route,
3862 pub err: *mut crate::ln::msgs::DecodeError,
3865 pub struct CResult_RouteDecodeErrorZ {
3866 pub contents: CResult_RouteDecodeErrorZPtr,
3867 pub result_ok: bool,
3870 pub extern "C" fn CResult_RouteDecodeErrorZ_ok(o: crate::routing::router::Route) -> CResult_RouteDecodeErrorZ {
3871 CResult_RouteDecodeErrorZ {
3872 contents: CResult_RouteDecodeErrorZPtr {
3873 result: Box::into_raw(Box::new(o)),
3879 pub extern "C" fn CResult_RouteDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_RouteDecodeErrorZ {
3880 CResult_RouteDecodeErrorZ {
3881 contents: CResult_RouteDecodeErrorZPtr {
3882 err: Box::into_raw(Box::new(e)),
3888 pub extern "C" fn CResult_RouteDecodeErrorZ_free(_res: CResult_RouteDecodeErrorZ) { }
3889 impl Drop for CResult_RouteDecodeErrorZ {
3890 fn drop(&mut self) {
3892 if unsafe { !(self.contents.result as *mut ()).is_null() } {
3893 let _ = unsafe { Box::from_raw(self.contents.result) };
3896 if unsafe { !(self.contents.err as *mut ()).is_null() } {
3897 let _ = unsafe { Box::from_raw(self.contents.err) };
3902 impl From<crate::c_types::CResultTempl<crate::routing::router::Route, crate::ln::msgs::DecodeError>> for CResult_RouteDecodeErrorZ {
3903 fn from(mut o: crate::c_types::CResultTempl<crate::routing::router::Route, crate::ln::msgs::DecodeError>) -> Self {
3904 let contents = if o.result_ok {
3905 let result = unsafe { o.contents.result };
3906 unsafe { o.contents.result = std::ptr::null_mut() };
3907 CResult_RouteDecodeErrorZPtr { result }
3909 let err = unsafe { o.contents.err };
3910 unsafe { o.contents.err = std::ptr::null_mut(); }
3911 CResult_RouteDecodeErrorZPtr { err }
3915 result_ok: o.result_ok,
3919 impl Clone for CResult_RouteDecodeErrorZ {
3920 fn clone(&self) -> Self {
3922 Self { result_ok: true, contents: CResult_RouteDecodeErrorZPtr {
3923 result: Box::into_raw(Box::new(<crate::routing::router::Route>::clone(unsafe { &*self.contents.result })))
3926 Self { result_ok: false, contents: CResult_RouteDecodeErrorZPtr {
3927 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
3933 pub extern "C" fn CResult_RouteDecodeErrorZ_clone(orig: &CResult_RouteDecodeErrorZ) -> CResult_RouteDecodeErrorZ { orig.clone() }
3935 pub struct CVec_RouteHintZ {
3936 pub data: *mut crate::routing::router::RouteHint,
3939 impl CVec_RouteHintZ {
3940 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::routing::router::RouteHint> {
3941 if self.datalen == 0 { return Vec::new(); }
3942 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
3943 self.data = std::ptr::null_mut();
3947 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::routing::router::RouteHint] {
3948 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
3951 impl From<Vec<crate::routing::router::RouteHint>> for CVec_RouteHintZ {
3952 fn from(v: Vec<crate::routing::router::RouteHint>) -> Self {
3953 let datalen = v.len();
3954 let data = Box::into_raw(v.into_boxed_slice());
3955 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
3959 pub extern "C" fn CVec_RouteHintZ_free(_res: CVec_RouteHintZ) { }
3960 impl Drop for CVec_RouteHintZ {
3961 fn drop(&mut self) {
3962 if self.datalen == 0 { return; }
3963 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
3966 impl Clone for CVec_RouteHintZ {
3967 fn clone(&self) -> Self {
3968 let mut res = Vec::new();
3969 if self.datalen == 0 { return Self::from(res); }
3970 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
3975 pub union CResult_RouteLightningErrorZPtr {
3976 pub result: *mut crate::routing::router::Route,
3977 pub err: *mut crate::ln::msgs::LightningError,
3980 pub struct CResult_RouteLightningErrorZ {
3981 pub contents: CResult_RouteLightningErrorZPtr,
3982 pub result_ok: bool,
3985 pub extern "C" fn CResult_RouteLightningErrorZ_ok(o: crate::routing::router::Route) -> CResult_RouteLightningErrorZ {
3986 CResult_RouteLightningErrorZ {
3987 contents: CResult_RouteLightningErrorZPtr {
3988 result: Box::into_raw(Box::new(o)),
3994 pub extern "C" fn CResult_RouteLightningErrorZ_err(e: crate::ln::msgs::LightningError) -> CResult_RouteLightningErrorZ {
3995 CResult_RouteLightningErrorZ {
3996 contents: CResult_RouteLightningErrorZPtr {
3997 err: Box::into_raw(Box::new(e)),
4003 pub extern "C" fn CResult_RouteLightningErrorZ_free(_res: CResult_RouteLightningErrorZ) { }
4004 impl Drop for CResult_RouteLightningErrorZ {
4005 fn drop(&mut self) {
4007 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4008 let _ = unsafe { Box::from_raw(self.contents.result) };
4011 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4012 let _ = unsafe { Box::from_raw(self.contents.err) };
4017 impl From<crate::c_types::CResultTempl<crate::routing::router::Route, crate::ln::msgs::LightningError>> for CResult_RouteLightningErrorZ {
4018 fn from(mut o: crate::c_types::CResultTempl<crate::routing::router::Route, crate::ln::msgs::LightningError>) -> Self {
4019 let contents = if o.result_ok {
4020 let result = unsafe { o.contents.result };
4021 unsafe { o.contents.result = std::ptr::null_mut() };
4022 CResult_RouteLightningErrorZPtr { result }
4024 let err = unsafe { o.contents.err };
4025 unsafe { o.contents.err = std::ptr::null_mut(); }
4026 CResult_RouteLightningErrorZPtr { err }
4030 result_ok: o.result_ok,
4034 impl Clone for CResult_RouteLightningErrorZ {
4035 fn clone(&self) -> Self {
4037 Self { result_ok: true, contents: CResult_RouteLightningErrorZPtr {
4038 result: Box::into_raw(Box::new(<crate::routing::router::Route>::clone(unsafe { &*self.contents.result })))
4041 Self { result_ok: false, contents: CResult_RouteLightningErrorZPtr {
4042 err: Box::into_raw(Box::new(<crate::ln::msgs::LightningError>::clone(unsafe { &*self.contents.err })))
4048 pub extern "C" fn CResult_RouteLightningErrorZ_clone(orig: &CResult_RouteLightningErrorZ) -> CResult_RouteLightningErrorZ { orig.clone() }
4050 pub union CResult_NetAddressu8ZPtr {
4051 pub result: *mut crate::ln::msgs::NetAddress,
4055 pub struct CResult_NetAddressu8Z {
4056 pub contents: CResult_NetAddressu8ZPtr,
4057 pub result_ok: bool,
4060 pub extern "C" fn CResult_NetAddressu8Z_ok(o: crate::ln::msgs::NetAddress) -> CResult_NetAddressu8Z {
4061 CResult_NetAddressu8Z {
4062 contents: CResult_NetAddressu8ZPtr {
4063 result: Box::into_raw(Box::new(o)),
4069 pub extern "C" fn CResult_NetAddressu8Z_err(e: u8) -> CResult_NetAddressu8Z {
4070 CResult_NetAddressu8Z {
4071 contents: CResult_NetAddressu8ZPtr {
4072 err: Box::into_raw(Box::new(e)),
4078 pub extern "C" fn CResult_NetAddressu8Z_free(_res: CResult_NetAddressu8Z) { }
4079 impl Drop for CResult_NetAddressu8Z {
4080 fn drop(&mut self) {
4082 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4083 let _ = unsafe { Box::from_raw(self.contents.result) };
4086 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4087 let _ = unsafe { Box::from_raw(self.contents.err) };
4092 impl From<crate::c_types::CResultTempl<crate::ln::msgs::NetAddress, u8>> for CResult_NetAddressu8Z {
4093 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::NetAddress, u8>) -> Self {
4094 let contents = if o.result_ok {
4095 let result = unsafe { o.contents.result };
4096 unsafe { o.contents.result = std::ptr::null_mut() };
4097 CResult_NetAddressu8ZPtr { result }
4099 let err = unsafe { o.contents.err };
4100 unsafe { o.contents.err = std::ptr::null_mut(); }
4101 CResult_NetAddressu8ZPtr { err }
4105 result_ok: o.result_ok,
4109 impl Clone for CResult_NetAddressu8Z {
4110 fn clone(&self) -> Self {
4112 Self { result_ok: true, contents: CResult_NetAddressu8ZPtr {
4113 result: Box::into_raw(Box::new(<crate::ln::msgs::NetAddress>::clone(unsafe { &*self.contents.result })))
4116 Self { result_ok: false, contents: CResult_NetAddressu8ZPtr {
4117 err: Box::into_raw(Box::new(<u8>::clone(unsafe { &*self.contents.err })))
4123 pub extern "C" fn CResult_NetAddressu8Z_clone(orig: &CResult_NetAddressu8Z) -> CResult_NetAddressu8Z { orig.clone() }
4125 pub union CResult_CResult_NetAddressu8ZDecodeErrorZPtr {
4126 pub result: *mut crate::c_types::derived::CResult_NetAddressu8Z,
4127 pub err: *mut crate::ln::msgs::DecodeError,
4130 pub struct CResult_CResult_NetAddressu8ZDecodeErrorZ {
4131 pub contents: CResult_CResult_NetAddressu8ZDecodeErrorZPtr,
4132 pub result_ok: bool,
4135 pub extern "C" fn CResult_CResult_NetAddressu8ZDecodeErrorZ_ok(o: crate::c_types::derived::CResult_NetAddressu8Z) -> CResult_CResult_NetAddressu8ZDecodeErrorZ {
4136 CResult_CResult_NetAddressu8ZDecodeErrorZ {
4137 contents: CResult_CResult_NetAddressu8ZDecodeErrorZPtr {
4138 result: Box::into_raw(Box::new(o)),
4144 pub extern "C" fn CResult_CResult_NetAddressu8ZDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_CResult_NetAddressu8ZDecodeErrorZ {
4145 CResult_CResult_NetAddressu8ZDecodeErrorZ {
4146 contents: CResult_CResult_NetAddressu8ZDecodeErrorZPtr {
4147 err: Box::into_raw(Box::new(e)),
4153 pub extern "C" fn CResult_CResult_NetAddressu8ZDecodeErrorZ_free(_res: CResult_CResult_NetAddressu8ZDecodeErrorZ) { }
4154 impl Drop for CResult_CResult_NetAddressu8ZDecodeErrorZ {
4155 fn drop(&mut self) {
4157 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4158 let _ = unsafe { Box::from_raw(self.contents.result) };
4161 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4162 let _ = unsafe { Box::from_raw(self.contents.err) };
4167 impl From<crate::c_types::CResultTempl<crate::c_types::derived::CResult_NetAddressu8Z, crate::ln::msgs::DecodeError>> for CResult_CResult_NetAddressu8ZDecodeErrorZ {
4168 fn from(mut o: crate::c_types::CResultTempl<crate::c_types::derived::CResult_NetAddressu8Z, crate::ln::msgs::DecodeError>) -> Self {
4169 let contents = if o.result_ok {
4170 let result = unsafe { o.contents.result };
4171 unsafe { o.contents.result = std::ptr::null_mut() };
4172 CResult_CResult_NetAddressu8ZDecodeErrorZPtr { result }
4174 let err = unsafe { o.contents.err };
4175 unsafe { o.contents.err = std::ptr::null_mut(); }
4176 CResult_CResult_NetAddressu8ZDecodeErrorZPtr { err }
4180 result_ok: o.result_ok,
4184 impl Clone for CResult_CResult_NetAddressu8ZDecodeErrorZ {
4185 fn clone(&self) -> Self {
4187 Self { result_ok: true, contents: CResult_CResult_NetAddressu8ZDecodeErrorZPtr {
4188 result: Box::into_raw(Box::new(<crate::c_types::derived::CResult_NetAddressu8Z>::clone(unsafe { &*self.contents.result })))
4191 Self { result_ok: false, contents: CResult_CResult_NetAddressu8ZDecodeErrorZPtr {
4192 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4198 pub extern "C" fn CResult_CResult_NetAddressu8ZDecodeErrorZ_clone(orig: &CResult_CResult_NetAddressu8ZDecodeErrorZ) -> CResult_CResult_NetAddressu8ZDecodeErrorZ { orig.clone() }
4200 pub struct CVec_UpdateAddHTLCZ {
4201 pub data: *mut crate::ln::msgs::UpdateAddHTLC,
4204 impl CVec_UpdateAddHTLCZ {
4205 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::ln::msgs::UpdateAddHTLC> {
4206 if self.datalen == 0 { return Vec::new(); }
4207 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
4208 self.data = std::ptr::null_mut();
4212 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::ln::msgs::UpdateAddHTLC] {
4213 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
4216 impl From<Vec<crate::ln::msgs::UpdateAddHTLC>> for CVec_UpdateAddHTLCZ {
4217 fn from(v: Vec<crate::ln::msgs::UpdateAddHTLC>) -> Self {
4218 let datalen = v.len();
4219 let data = Box::into_raw(v.into_boxed_slice());
4220 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
4224 pub extern "C" fn CVec_UpdateAddHTLCZ_free(_res: CVec_UpdateAddHTLCZ) { }
4225 impl Drop for CVec_UpdateAddHTLCZ {
4226 fn drop(&mut self) {
4227 if self.datalen == 0 { return; }
4228 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
4231 impl Clone for CVec_UpdateAddHTLCZ {
4232 fn clone(&self) -> Self {
4233 let mut res = Vec::new();
4234 if self.datalen == 0 { return Self::from(res); }
4235 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
4240 pub struct CVec_UpdateFulfillHTLCZ {
4241 pub data: *mut crate::ln::msgs::UpdateFulfillHTLC,
4244 impl CVec_UpdateFulfillHTLCZ {
4245 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::ln::msgs::UpdateFulfillHTLC> {
4246 if self.datalen == 0 { return Vec::new(); }
4247 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
4248 self.data = std::ptr::null_mut();
4252 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::ln::msgs::UpdateFulfillHTLC] {
4253 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
4256 impl From<Vec<crate::ln::msgs::UpdateFulfillHTLC>> for CVec_UpdateFulfillHTLCZ {
4257 fn from(v: Vec<crate::ln::msgs::UpdateFulfillHTLC>) -> Self {
4258 let datalen = v.len();
4259 let data = Box::into_raw(v.into_boxed_slice());
4260 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
4264 pub extern "C" fn CVec_UpdateFulfillHTLCZ_free(_res: CVec_UpdateFulfillHTLCZ) { }
4265 impl Drop for CVec_UpdateFulfillHTLCZ {
4266 fn drop(&mut self) {
4267 if self.datalen == 0 { return; }
4268 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
4271 impl Clone for CVec_UpdateFulfillHTLCZ {
4272 fn clone(&self) -> Self {
4273 let mut res = Vec::new();
4274 if self.datalen == 0 { return Self::from(res); }
4275 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
4280 pub struct CVec_UpdateFailHTLCZ {
4281 pub data: *mut crate::ln::msgs::UpdateFailHTLC,
4284 impl CVec_UpdateFailHTLCZ {
4285 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::ln::msgs::UpdateFailHTLC> {
4286 if self.datalen == 0 { return Vec::new(); }
4287 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
4288 self.data = std::ptr::null_mut();
4292 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::ln::msgs::UpdateFailHTLC] {
4293 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
4296 impl From<Vec<crate::ln::msgs::UpdateFailHTLC>> for CVec_UpdateFailHTLCZ {
4297 fn from(v: Vec<crate::ln::msgs::UpdateFailHTLC>) -> Self {
4298 let datalen = v.len();
4299 let data = Box::into_raw(v.into_boxed_slice());
4300 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
4304 pub extern "C" fn CVec_UpdateFailHTLCZ_free(_res: CVec_UpdateFailHTLCZ) { }
4305 impl Drop for CVec_UpdateFailHTLCZ {
4306 fn drop(&mut self) {
4307 if self.datalen == 0 { return; }
4308 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
4311 impl Clone for CVec_UpdateFailHTLCZ {
4312 fn clone(&self) -> Self {
4313 let mut res = Vec::new();
4314 if self.datalen == 0 { return Self::from(res); }
4315 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
4320 pub struct CVec_UpdateFailMalformedHTLCZ {
4321 pub data: *mut crate::ln::msgs::UpdateFailMalformedHTLC,
4324 impl CVec_UpdateFailMalformedHTLCZ {
4325 #[allow(unused)] pub(crate) fn into_rust(&mut self) -> Vec<crate::ln::msgs::UpdateFailMalformedHTLC> {
4326 if self.datalen == 0 { return Vec::new(); }
4327 let ret = unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) }.into();
4328 self.data = std::ptr::null_mut();
4332 #[allow(unused)] pub(crate) fn as_slice(&self) -> &[crate::ln::msgs::UpdateFailMalformedHTLC] {
4333 unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) }
4336 impl From<Vec<crate::ln::msgs::UpdateFailMalformedHTLC>> for CVec_UpdateFailMalformedHTLCZ {
4337 fn from(v: Vec<crate::ln::msgs::UpdateFailMalformedHTLC>) -> Self {
4338 let datalen = v.len();
4339 let data = Box::into_raw(v.into_boxed_slice());
4340 Self { datalen, data: unsafe { (*data).as_mut_ptr() } }
4344 pub extern "C" fn CVec_UpdateFailMalformedHTLCZ_free(_res: CVec_UpdateFailMalformedHTLCZ) { }
4345 impl Drop for CVec_UpdateFailMalformedHTLCZ {
4346 fn drop(&mut self) {
4347 if self.datalen == 0 { return; }
4348 unsafe { Box::from_raw(std::slice::from_raw_parts_mut(self.data, self.datalen)) };
4351 impl Clone for CVec_UpdateFailMalformedHTLCZ {
4352 fn clone(&self) -> Self {
4353 let mut res = Vec::new();
4354 if self.datalen == 0 { return Self::from(res); }
4355 res.extend_from_slice(unsafe { std::slice::from_raw_parts_mut(self.data, self.datalen) });
4360 pub union CResult_AcceptChannelDecodeErrorZPtr {
4361 pub result: *mut crate::ln::msgs::AcceptChannel,
4362 pub err: *mut crate::ln::msgs::DecodeError,
4365 pub struct CResult_AcceptChannelDecodeErrorZ {
4366 pub contents: CResult_AcceptChannelDecodeErrorZPtr,
4367 pub result_ok: bool,
4370 pub extern "C" fn CResult_AcceptChannelDecodeErrorZ_ok(o: crate::ln::msgs::AcceptChannel) -> CResult_AcceptChannelDecodeErrorZ {
4371 CResult_AcceptChannelDecodeErrorZ {
4372 contents: CResult_AcceptChannelDecodeErrorZPtr {
4373 result: Box::into_raw(Box::new(o)),
4379 pub extern "C" fn CResult_AcceptChannelDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_AcceptChannelDecodeErrorZ {
4380 CResult_AcceptChannelDecodeErrorZ {
4381 contents: CResult_AcceptChannelDecodeErrorZPtr {
4382 err: Box::into_raw(Box::new(e)),
4388 pub extern "C" fn CResult_AcceptChannelDecodeErrorZ_free(_res: CResult_AcceptChannelDecodeErrorZ) { }
4389 impl Drop for CResult_AcceptChannelDecodeErrorZ {
4390 fn drop(&mut self) {
4392 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4393 let _ = unsafe { Box::from_raw(self.contents.result) };
4396 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4397 let _ = unsafe { Box::from_raw(self.contents.err) };
4402 impl From<crate::c_types::CResultTempl<crate::ln::msgs::AcceptChannel, crate::ln::msgs::DecodeError>> for CResult_AcceptChannelDecodeErrorZ {
4403 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::AcceptChannel, crate::ln::msgs::DecodeError>) -> Self {
4404 let contents = if o.result_ok {
4405 let result = unsafe { o.contents.result };
4406 unsafe { o.contents.result = std::ptr::null_mut() };
4407 CResult_AcceptChannelDecodeErrorZPtr { result }
4409 let err = unsafe { o.contents.err };
4410 unsafe { o.contents.err = std::ptr::null_mut(); }
4411 CResult_AcceptChannelDecodeErrorZPtr { err }
4415 result_ok: o.result_ok,
4419 impl Clone for CResult_AcceptChannelDecodeErrorZ {
4420 fn clone(&self) -> Self {
4422 Self { result_ok: true, contents: CResult_AcceptChannelDecodeErrorZPtr {
4423 result: Box::into_raw(Box::new(<crate::ln::msgs::AcceptChannel>::clone(unsafe { &*self.contents.result })))
4426 Self { result_ok: false, contents: CResult_AcceptChannelDecodeErrorZPtr {
4427 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4433 pub extern "C" fn CResult_AcceptChannelDecodeErrorZ_clone(orig: &CResult_AcceptChannelDecodeErrorZ) -> CResult_AcceptChannelDecodeErrorZ { orig.clone() }
4435 pub union CResult_AnnouncementSignaturesDecodeErrorZPtr {
4436 pub result: *mut crate::ln::msgs::AnnouncementSignatures,
4437 pub err: *mut crate::ln::msgs::DecodeError,
4440 pub struct CResult_AnnouncementSignaturesDecodeErrorZ {
4441 pub contents: CResult_AnnouncementSignaturesDecodeErrorZPtr,
4442 pub result_ok: bool,
4445 pub extern "C" fn CResult_AnnouncementSignaturesDecodeErrorZ_ok(o: crate::ln::msgs::AnnouncementSignatures) -> CResult_AnnouncementSignaturesDecodeErrorZ {
4446 CResult_AnnouncementSignaturesDecodeErrorZ {
4447 contents: CResult_AnnouncementSignaturesDecodeErrorZPtr {
4448 result: Box::into_raw(Box::new(o)),
4454 pub extern "C" fn CResult_AnnouncementSignaturesDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_AnnouncementSignaturesDecodeErrorZ {
4455 CResult_AnnouncementSignaturesDecodeErrorZ {
4456 contents: CResult_AnnouncementSignaturesDecodeErrorZPtr {
4457 err: Box::into_raw(Box::new(e)),
4463 pub extern "C" fn CResult_AnnouncementSignaturesDecodeErrorZ_free(_res: CResult_AnnouncementSignaturesDecodeErrorZ) { }
4464 impl Drop for CResult_AnnouncementSignaturesDecodeErrorZ {
4465 fn drop(&mut self) {
4467 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4468 let _ = unsafe { Box::from_raw(self.contents.result) };
4471 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4472 let _ = unsafe { Box::from_raw(self.contents.err) };
4477 impl From<crate::c_types::CResultTempl<crate::ln::msgs::AnnouncementSignatures, crate::ln::msgs::DecodeError>> for CResult_AnnouncementSignaturesDecodeErrorZ {
4478 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::AnnouncementSignatures, crate::ln::msgs::DecodeError>) -> Self {
4479 let contents = if o.result_ok {
4480 let result = unsafe { o.contents.result };
4481 unsafe { o.contents.result = std::ptr::null_mut() };
4482 CResult_AnnouncementSignaturesDecodeErrorZPtr { result }
4484 let err = unsafe { o.contents.err };
4485 unsafe { o.contents.err = std::ptr::null_mut(); }
4486 CResult_AnnouncementSignaturesDecodeErrorZPtr { err }
4490 result_ok: o.result_ok,
4494 impl Clone for CResult_AnnouncementSignaturesDecodeErrorZ {
4495 fn clone(&self) -> Self {
4497 Self { result_ok: true, contents: CResult_AnnouncementSignaturesDecodeErrorZPtr {
4498 result: Box::into_raw(Box::new(<crate::ln::msgs::AnnouncementSignatures>::clone(unsafe { &*self.contents.result })))
4501 Self { result_ok: false, contents: CResult_AnnouncementSignaturesDecodeErrorZPtr {
4502 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4508 pub extern "C" fn CResult_AnnouncementSignaturesDecodeErrorZ_clone(orig: &CResult_AnnouncementSignaturesDecodeErrorZ) -> CResult_AnnouncementSignaturesDecodeErrorZ { orig.clone() }
4510 pub union CResult_ChannelReestablishDecodeErrorZPtr {
4511 pub result: *mut crate::ln::msgs::ChannelReestablish,
4512 pub err: *mut crate::ln::msgs::DecodeError,
4515 pub struct CResult_ChannelReestablishDecodeErrorZ {
4516 pub contents: CResult_ChannelReestablishDecodeErrorZPtr,
4517 pub result_ok: bool,
4520 pub extern "C" fn CResult_ChannelReestablishDecodeErrorZ_ok(o: crate::ln::msgs::ChannelReestablish) -> CResult_ChannelReestablishDecodeErrorZ {
4521 CResult_ChannelReestablishDecodeErrorZ {
4522 contents: CResult_ChannelReestablishDecodeErrorZPtr {
4523 result: Box::into_raw(Box::new(o)),
4529 pub extern "C" fn CResult_ChannelReestablishDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelReestablishDecodeErrorZ {
4530 CResult_ChannelReestablishDecodeErrorZ {
4531 contents: CResult_ChannelReestablishDecodeErrorZPtr {
4532 err: Box::into_raw(Box::new(e)),
4538 pub extern "C" fn CResult_ChannelReestablishDecodeErrorZ_free(_res: CResult_ChannelReestablishDecodeErrorZ) { }
4539 impl Drop for CResult_ChannelReestablishDecodeErrorZ {
4540 fn drop(&mut self) {
4542 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4543 let _ = unsafe { Box::from_raw(self.contents.result) };
4546 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4547 let _ = unsafe { Box::from_raw(self.contents.err) };
4552 impl From<crate::c_types::CResultTempl<crate::ln::msgs::ChannelReestablish, crate::ln::msgs::DecodeError>> for CResult_ChannelReestablishDecodeErrorZ {
4553 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::ChannelReestablish, crate::ln::msgs::DecodeError>) -> Self {
4554 let contents = if o.result_ok {
4555 let result = unsafe { o.contents.result };
4556 unsafe { o.contents.result = std::ptr::null_mut() };
4557 CResult_ChannelReestablishDecodeErrorZPtr { result }
4559 let err = unsafe { o.contents.err };
4560 unsafe { o.contents.err = std::ptr::null_mut(); }
4561 CResult_ChannelReestablishDecodeErrorZPtr { err }
4565 result_ok: o.result_ok,
4569 impl Clone for CResult_ChannelReestablishDecodeErrorZ {
4570 fn clone(&self) -> Self {
4572 Self { result_ok: true, contents: CResult_ChannelReestablishDecodeErrorZPtr {
4573 result: Box::into_raw(Box::new(<crate::ln::msgs::ChannelReestablish>::clone(unsafe { &*self.contents.result })))
4576 Self { result_ok: false, contents: CResult_ChannelReestablishDecodeErrorZPtr {
4577 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4583 pub extern "C" fn CResult_ChannelReestablishDecodeErrorZ_clone(orig: &CResult_ChannelReestablishDecodeErrorZ) -> CResult_ChannelReestablishDecodeErrorZ { orig.clone() }
4585 pub union CResult_ClosingSignedDecodeErrorZPtr {
4586 pub result: *mut crate::ln::msgs::ClosingSigned,
4587 pub err: *mut crate::ln::msgs::DecodeError,
4590 pub struct CResult_ClosingSignedDecodeErrorZ {
4591 pub contents: CResult_ClosingSignedDecodeErrorZPtr,
4592 pub result_ok: bool,
4595 pub extern "C" fn CResult_ClosingSignedDecodeErrorZ_ok(o: crate::ln::msgs::ClosingSigned) -> CResult_ClosingSignedDecodeErrorZ {
4596 CResult_ClosingSignedDecodeErrorZ {
4597 contents: CResult_ClosingSignedDecodeErrorZPtr {
4598 result: Box::into_raw(Box::new(o)),
4604 pub extern "C" fn CResult_ClosingSignedDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ClosingSignedDecodeErrorZ {
4605 CResult_ClosingSignedDecodeErrorZ {
4606 contents: CResult_ClosingSignedDecodeErrorZPtr {
4607 err: Box::into_raw(Box::new(e)),
4613 pub extern "C" fn CResult_ClosingSignedDecodeErrorZ_free(_res: CResult_ClosingSignedDecodeErrorZ) { }
4614 impl Drop for CResult_ClosingSignedDecodeErrorZ {
4615 fn drop(&mut self) {
4617 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4618 let _ = unsafe { Box::from_raw(self.contents.result) };
4621 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4622 let _ = unsafe { Box::from_raw(self.contents.err) };
4627 impl From<crate::c_types::CResultTempl<crate::ln::msgs::ClosingSigned, crate::ln::msgs::DecodeError>> for CResult_ClosingSignedDecodeErrorZ {
4628 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::ClosingSigned, crate::ln::msgs::DecodeError>) -> Self {
4629 let contents = if o.result_ok {
4630 let result = unsafe { o.contents.result };
4631 unsafe { o.contents.result = std::ptr::null_mut() };
4632 CResult_ClosingSignedDecodeErrorZPtr { result }
4634 let err = unsafe { o.contents.err };
4635 unsafe { o.contents.err = std::ptr::null_mut(); }
4636 CResult_ClosingSignedDecodeErrorZPtr { err }
4640 result_ok: o.result_ok,
4644 impl Clone for CResult_ClosingSignedDecodeErrorZ {
4645 fn clone(&self) -> Self {
4647 Self { result_ok: true, contents: CResult_ClosingSignedDecodeErrorZPtr {
4648 result: Box::into_raw(Box::new(<crate::ln::msgs::ClosingSigned>::clone(unsafe { &*self.contents.result })))
4651 Self { result_ok: false, contents: CResult_ClosingSignedDecodeErrorZPtr {
4652 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4658 pub extern "C" fn CResult_ClosingSignedDecodeErrorZ_clone(orig: &CResult_ClosingSignedDecodeErrorZ) -> CResult_ClosingSignedDecodeErrorZ { orig.clone() }
4660 pub union CResult_CommitmentSignedDecodeErrorZPtr {
4661 pub result: *mut crate::ln::msgs::CommitmentSigned,
4662 pub err: *mut crate::ln::msgs::DecodeError,
4665 pub struct CResult_CommitmentSignedDecodeErrorZ {
4666 pub contents: CResult_CommitmentSignedDecodeErrorZPtr,
4667 pub result_ok: bool,
4670 pub extern "C" fn CResult_CommitmentSignedDecodeErrorZ_ok(o: crate::ln::msgs::CommitmentSigned) -> CResult_CommitmentSignedDecodeErrorZ {
4671 CResult_CommitmentSignedDecodeErrorZ {
4672 contents: CResult_CommitmentSignedDecodeErrorZPtr {
4673 result: Box::into_raw(Box::new(o)),
4679 pub extern "C" fn CResult_CommitmentSignedDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_CommitmentSignedDecodeErrorZ {
4680 CResult_CommitmentSignedDecodeErrorZ {
4681 contents: CResult_CommitmentSignedDecodeErrorZPtr {
4682 err: Box::into_raw(Box::new(e)),
4688 pub extern "C" fn CResult_CommitmentSignedDecodeErrorZ_free(_res: CResult_CommitmentSignedDecodeErrorZ) { }
4689 impl Drop for CResult_CommitmentSignedDecodeErrorZ {
4690 fn drop(&mut self) {
4692 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4693 let _ = unsafe { Box::from_raw(self.contents.result) };
4696 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4697 let _ = unsafe { Box::from_raw(self.contents.err) };
4702 impl From<crate::c_types::CResultTempl<crate::ln::msgs::CommitmentSigned, crate::ln::msgs::DecodeError>> for CResult_CommitmentSignedDecodeErrorZ {
4703 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::CommitmentSigned, crate::ln::msgs::DecodeError>) -> Self {
4704 let contents = if o.result_ok {
4705 let result = unsafe { o.contents.result };
4706 unsafe { o.contents.result = std::ptr::null_mut() };
4707 CResult_CommitmentSignedDecodeErrorZPtr { result }
4709 let err = unsafe { o.contents.err };
4710 unsafe { o.contents.err = std::ptr::null_mut(); }
4711 CResult_CommitmentSignedDecodeErrorZPtr { err }
4715 result_ok: o.result_ok,
4719 impl Clone for CResult_CommitmentSignedDecodeErrorZ {
4720 fn clone(&self) -> Self {
4722 Self { result_ok: true, contents: CResult_CommitmentSignedDecodeErrorZPtr {
4723 result: Box::into_raw(Box::new(<crate::ln::msgs::CommitmentSigned>::clone(unsafe { &*self.contents.result })))
4726 Self { result_ok: false, contents: CResult_CommitmentSignedDecodeErrorZPtr {
4727 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4733 pub extern "C" fn CResult_CommitmentSignedDecodeErrorZ_clone(orig: &CResult_CommitmentSignedDecodeErrorZ) -> CResult_CommitmentSignedDecodeErrorZ { orig.clone() }
4735 pub union CResult_FundingCreatedDecodeErrorZPtr {
4736 pub result: *mut crate::ln::msgs::FundingCreated,
4737 pub err: *mut crate::ln::msgs::DecodeError,
4740 pub struct CResult_FundingCreatedDecodeErrorZ {
4741 pub contents: CResult_FundingCreatedDecodeErrorZPtr,
4742 pub result_ok: bool,
4745 pub extern "C" fn CResult_FundingCreatedDecodeErrorZ_ok(o: crate::ln::msgs::FundingCreated) -> CResult_FundingCreatedDecodeErrorZ {
4746 CResult_FundingCreatedDecodeErrorZ {
4747 contents: CResult_FundingCreatedDecodeErrorZPtr {
4748 result: Box::into_raw(Box::new(o)),
4754 pub extern "C" fn CResult_FundingCreatedDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_FundingCreatedDecodeErrorZ {
4755 CResult_FundingCreatedDecodeErrorZ {
4756 contents: CResult_FundingCreatedDecodeErrorZPtr {
4757 err: Box::into_raw(Box::new(e)),
4763 pub extern "C" fn CResult_FundingCreatedDecodeErrorZ_free(_res: CResult_FundingCreatedDecodeErrorZ) { }
4764 impl Drop for CResult_FundingCreatedDecodeErrorZ {
4765 fn drop(&mut self) {
4767 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4768 let _ = unsafe { Box::from_raw(self.contents.result) };
4771 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4772 let _ = unsafe { Box::from_raw(self.contents.err) };
4777 impl From<crate::c_types::CResultTempl<crate::ln::msgs::FundingCreated, crate::ln::msgs::DecodeError>> for CResult_FundingCreatedDecodeErrorZ {
4778 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::FundingCreated, crate::ln::msgs::DecodeError>) -> Self {
4779 let contents = if o.result_ok {
4780 let result = unsafe { o.contents.result };
4781 unsafe { o.contents.result = std::ptr::null_mut() };
4782 CResult_FundingCreatedDecodeErrorZPtr { result }
4784 let err = unsafe { o.contents.err };
4785 unsafe { o.contents.err = std::ptr::null_mut(); }
4786 CResult_FundingCreatedDecodeErrorZPtr { err }
4790 result_ok: o.result_ok,
4794 impl Clone for CResult_FundingCreatedDecodeErrorZ {
4795 fn clone(&self) -> Self {
4797 Self { result_ok: true, contents: CResult_FundingCreatedDecodeErrorZPtr {
4798 result: Box::into_raw(Box::new(<crate::ln::msgs::FundingCreated>::clone(unsafe { &*self.contents.result })))
4801 Self { result_ok: false, contents: CResult_FundingCreatedDecodeErrorZPtr {
4802 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4808 pub extern "C" fn CResult_FundingCreatedDecodeErrorZ_clone(orig: &CResult_FundingCreatedDecodeErrorZ) -> CResult_FundingCreatedDecodeErrorZ { orig.clone() }
4810 pub union CResult_FundingSignedDecodeErrorZPtr {
4811 pub result: *mut crate::ln::msgs::FundingSigned,
4812 pub err: *mut crate::ln::msgs::DecodeError,
4815 pub struct CResult_FundingSignedDecodeErrorZ {
4816 pub contents: CResult_FundingSignedDecodeErrorZPtr,
4817 pub result_ok: bool,
4820 pub extern "C" fn CResult_FundingSignedDecodeErrorZ_ok(o: crate::ln::msgs::FundingSigned) -> CResult_FundingSignedDecodeErrorZ {
4821 CResult_FundingSignedDecodeErrorZ {
4822 contents: CResult_FundingSignedDecodeErrorZPtr {
4823 result: Box::into_raw(Box::new(o)),
4829 pub extern "C" fn CResult_FundingSignedDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_FundingSignedDecodeErrorZ {
4830 CResult_FundingSignedDecodeErrorZ {
4831 contents: CResult_FundingSignedDecodeErrorZPtr {
4832 err: Box::into_raw(Box::new(e)),
4838 pub extern "C" fn CResult_FundingSignedDecodeErrorZ_free(_res: CResult_FundingSignedDecodeErrorZ) { }
4839 impl Drop for CResult_FundingSignedDecodeErrorZ {
4840 fn drop(&mut self) {
4842 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4843 let _ = unsafe { Box::from_raw(self.contents.result) };
4846 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4847 let _ = unsafe { Box::from_raw(self.contents.err) };
4852 impl From<crate::c_types::CResultTempl<crate::ln::msgs::FundingSigned, crate::ln::msgs::DecodeError>> for CResult_FundingSignedDecodeErrorZ {
4853 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::FundingSigned, crate::ln::msgs::DecodeError>) -> Self {
4854 let contents = if o.result_ok {
4855 let result = unsafe { o.contents.result };
4856 unsafe { o.contents.result = std::ptr::null_mut() };
4857 CResult_FundingSignedDecodeErrorZPtr { result }
4859 let err = unsafe { o.contents.err };
4860 unsafe { o.contents.err = std::ptr::null_mut(); }
4861 CResult_FundingSignedDecodeErrorZPtr { err }
4865 result_ok: o.result_ok,
4869 impl Clone for CResult_FundingSignedDecodeErrorZ {
4870 fn clone(&self) -> Self {
4872 Self { result_ok: true, contents: CResult_FundingSignedDecodeErrorZPtr {
4873 result: Box::into_raw(Box::new(<crate::ln::msgs::FundingSigned>::clone(unsafe { &*self.contents.result })))
4876 Self { result_ok: false, contents: CResult_FundingSignedDecodeErrorZPtr {
4877 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4883 pub extern "C" fn CResult_FundingSignedDecodeErrorZ_clone(orig: &CResult_FundingSignedDecodeErrorZ) -> CResult_FundingSignedDecodeErrorZ { orig.clone() }
4885 pub union CResult_FundingLockedDecodeErrorZPtr {
4886 pub result: *mut crate::ln::msgs::FundingLocked,
4887 pub err: *mut crate::ln::msgs::DecodeError,
4890 pub struct CResult_FundingLockedDecodeErrorZ {
4891 pub contents: CResult_FundingLockedDecodeErrorZPtr,
4892 pub result_ok: bool,
4895 pub extern "C" fn CResult_FundingLockedDecodeErrorZ_ok(o: crate::ln::msgs::FundingLocked) -> CResult_FundingLockedDecodeErrorZ {
4896 CResult_FundingLockedDecodeErrorZ {
4897 contents: CResult_FundingLockedDecodeErrorZPtr {
4898 result: Box::into_raw(Box::new(o)),
4904 pub extern "C" fn CResult_FundingLockedDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_FundingLockedDecodeErrorZ {
4905 CResult_FundingLockedDecodeErrorZ {
4906 contents: CResult_FundingLockedDecodeErrorZPtr {
4907 err: Box::into_raw(Box::new(e)),
4913 pub extern "C" fn CResult_FundingLockedDecodeErrorZ_free(_res: CResult_FundingLockedDecodeErrorZ) { }
4914 impl Drop for CResult_FundingLockedDecodeErrorZ {
4915 fn drop(&mut self) {
4917 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4918 let _ = unsafe { Box::from_raw(self.contents.result) };
4921 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4922 let _ = unsafe { Box::from_raw(self.contents.err) };
4927 impl From<crate::c_types::CResultTempl<crate::ln::msgs::FundingLocked, crate::ln::msgs::DecodeError>> for CResult_FundingLockedDecodeErrorZ {
4928 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::FundingLocked, crate::ln::msgs::DecodeError>) -> Self {
4929 let contents = if o.result_ok {
4930 let result = unsafe { o.contents.result };
4931 unsafe { o.contents.result = std::ptr::null_mut() };
4932 CResult_FundingLockedDecodeErrorZPtr { result }
4934 let err = unsafe { o.contents.err };
4935 unsafe { o.contents.err = std::ptr::null_mut(); }
4936 CResult_FundingLockedDecodeErrorZPtr { err }
4940 result_ok: o.result_ok,
4944 impl Clone for CResult_FundingLockedDecodeErrorZ {
4945 fn clone(&self) -> Self {
4947 Self { result_ok: true, contents: CResult_FundingLockedDecodeErrorZPtr {
4948 result: Box::into_raw(Box::new(<crate::ln::msgs::FundingLocked>::clone(unsafe { &*self.contents.result })))
4951 Self { result_ok: false, contents: CResult_FundingLockedDecodeErrorZPtr {
4952 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
4958 pub extern "C" fn CResult_FundingLockedDecodeErrorZ_clone(orig: &CResult_FundingLockedDecodeErrorZ) -> CResult_FundingLockedDecodeErrorZ { orig.clone() }
4960 pub union CResult_InitDecodeErrorZPtr {
4961 pub result: *mut crate::ln::msgs::Init,
4962 pub err: *mut crate::ln::msgs::DecodeError,
4965 pub struct CResult_InitDecodeErrorZ {
4966 pub contents: CResult_InitDecodeErrorZPtr,
4967 pub result_ok: bool,
4970 pub extern "C" fn CResult_InitDecodeErrorZ_ok(o: crate::ln::msgs::Init) -> CResult_InitDecodeErrorZ {
4971 CResult_InitDecodeErrorZ {
4972 contents: CResult_InitDecodeErrorZPtr {
4973 result: Box::into_raw(Box::new(o)),
4979 pub extern "C" fn CResult_InitDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_InitDecodeErrorZ {
4980 CResult_InitDecodeErrorZ {
4981 contents: CResult_InitDecodeErrorZPtr {
4982 err: Box::into_raw(Box::new(e)),
4988 pub extern "C" fn CResult_InitDecodeErrorZ_free(_res: CResult_InitDecodeErrorZ) { }
4989 impl Drop for CResult_InitDecodeErrorZ {
4990 fn drop(&mut self) {
4992 if unsafe { !(self.contents.result as *mut ()).is_null() } {
4993 let _ = unsafe { Box::from_raw(self.contents.result) };
4996 if unsafe { !(self.contents.err as *mut ()).is_null() } {
4997 let _ = unsafe { Box::from_raw(self.contents.err) };
5002 impl From<crate::c_types::CResultTempl<crate::ln::msgs::Init, crate::ln::msgs::DecodeError>> for CResult_InitDecodeErrorZ {
5003 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::Init, crate::ln::msgs::DecodeError>) -> Self {
5004 let contents = if o.result_ok {
5005 let result = unsafe { o.contents.result };
5006 unsafe { o.contents.result = std::ptr::null_mut() };
5007 CResult_InitDecodeErrorZPtr { result }
5009 let err = unsafe { o.contents.err };
5010 unsafe { o.contents.err = std::ptr::null_mut(); }
5011 CResult_InitDecodeErrorZPtr { err }
5015 result_ok: o.result_ok,
5019 impl Clone for CResult_InitDecodeErrorZ {
5020 fn clone(&self) -> Self {
5022 Self { result_ok: true, contents: CResult_InitDecodeErrorZPtr {
5023 result: Box::into_raw(Box::new(<crate::ln::msgs::Init>::clone(unsafe { &*self.contents.result })))
5026 Self { result_ok: false, contents: CResult_InitDecodeErrorZPtr {
5027 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5033 pub extern "C" fn CResult_InitDecodeErrorZ_clone(orig: &CResult_InitDecodeErrorZ) -> CResult_InitDecodeErrorZ { orig.clone() }
5035 pub union CResult_OpenChannelDecodeErrorZPtr {
5036 pub result: *mut crate::ln::msgs::OpenChannel,
5037 pub err: *mut crate::ln::msgs::DecodeError,
5040 pub struct CResult_OpenChannelDecodeErrorZ {
5041 pub contents: CResult_OpenChannelDecodeErrorZPtr,
5042 pub result_ok: bool,
5045 pub extern "C" fn CResult_OpenChannelDecodeErrorZ_ok(o: crate::ln::msgs::OpenChannel) -> CResult_OpenChannelDecodeErrorZ {
5046 CResult_OpenChannelDecodeErrorZ {
5047 contents: CResult_OpenChannelDecodeErrorZPtr {
5048 result: Box::into_raw(Box::new(o)),
5054 pub extern "C" fn CResult_OpenChannelDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_OpenChannelDecodeErrorZ {
5055 CResult_OpenChannelDecodeErrorZ {
5056 contents: CResult_OpenChannelDecodeErrorZPtr {
5057 err: Box::into_raw(Box::new(e)),
5063 pub extern "C" fn CResult_OpenChannelDecodeErrorZ_free(_res: CResult_OpenChannelDecodeErrorZ) { }
5064 impl Drop for CResult_OpenChannelDecodeErrorZ {
5065 fn drop(&mut self) {
5067 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5068 let _ = unsafe { Box::from_raw(self.contents.result) };
5071 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5072 let _ = unsafe { Box::from_raw(self.contents.err) };
5077 impl From<crate::c_types::CResultTempl<crate::ln::msgs::OpenChannel, crate::ln::msgs::DecodeError>> for CResult_OpenChannelDecodeErrorZ {
5078 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::OpenChannel, crate::ln::msgs::DecodeError>) -> Self {
5079 let contents = if o.result_ok {
5080 let result = unsafe { o.contents.result };
5081 unsafe { o.contents.result = std::ptr::null_mut() };
5082 CResult_OpenChannelDecodeErrorZPtr { result }
5084 let err = unsafe { o.contents.err };
5085 unsafe { o.contents.err = std::ptr::null_mut(); }
5086 CResult_OpenChannelDecodeErrorZPtr { err }
5090 result_ok: o.result_ok,
5094 impl Clone for CResult_OpenChannelDecodeErrorZ {
5095 fn clone(&self) -> Self {
5097 Self { result_ok: true, contents: CResult_OpenChannelDecodeErrorZPtr {
5098 result: Box::into_raw(Box::new(<crate::ln::msgs::OpenChannel>::clone(unsafe { &*self.contents.result })))
5101 Self { result_ok: false, contents: CResult_OpenChannelDecodeErrorZPtr {
5102 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5108 pub extern "C" fn CResult_OpenChannelDecodeErrorZ_clone(orig: &CResult_OpenChannelDecodeErrorZ) -> CResult_OpenChannelDecodeErrorZ { orig.clone() }
5110 pub union CResult_RevokeAndACKDecodeErrorZPtr {
5111 pub result: *mut crate::ln::msgs::RevokeAndACK,
5112 pub err: *mut crate::ln::msgs::DecodeError,
5115 pub struct CResult_RevokeAndACKDecodeErrorZ {
5116 pub contents: CResult_RevokeAndACKDecodeErrorZPtr,
5117 pub result_ok: bool,
5120 pub extern "C" fn CResult_RevokeAndACKDecodeErrorZ_ok(o: crate::ln::msgs::RevokeAndACK) -> CResult_RevokeAndACKDecodeErrorZ {
5121 CResult_RevokeAndACKDecodeErrorZ {
5122 contents: CResult_RevokeAndACKDecodeErrorZPtr {
5123 result: Box::into_raw(Box::new(o)),
5129 pub extern "C" fn CResult_RevokeAndACKDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_RevokeAndACKDecodeErrorZ {
5130 CResult_RevokeAndACKDecodeErrorZ {
5131 contents: CResult_RevokeAndACKDecodeErrorZPtr {
5132 err: Box::into_raw(Box::new(e)),
5138 pub extern "C" fn CResult_RevokeAndACKDecodeErrorZ_free(_res: CResult_RevokeAndACKDecodeErrorZ) { }
5139 impl Drop for CResult_RevokeAndACKDecodeErrorZ {
5140 fn drop(&mut self) {
5142 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5143 let _ = unsafe { Box::from_raw(self.contents.result) };
5146 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5147 let _ = unsafe { Box::from_raw(self.contents.err) };
5152 impl From<crate::c_types::CResultTempl<crate::ln::msgs::RevokeAndACK, crate::ln::msgs::DecodeError>> for CResult_RevokeAndACKDecodeErrorZ {
5153 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::RevokeAndACK, crate::ln::msgs::DecodeError>) -> Self {
5154 let contents = if o.result_ok {
5155 let result = unsafe { o.contents.result };
5156 unsafe { o.contents.result = std::ptr::null_mut() };
5157 CResult_RevokeAndACKDecodeErrorZPtr { result }
5159 let err = unsafe { o.contents.err };
5160 unsafe { o.contents.err = std::ptr::null_mut(); }
5161 CResult_RevokeAndACKDecodeErrorZPtr { err }
5165 result_ok: o.result_ok,
5169 impl Clone for CResult_RevokeAndACKDecodeErrorZ {
5170 fn clone(&self) -> Self {
5172 Self { result_ok: true, contents: CResult_RevokeAndACKDecodeErrorZPtr {
5173 result: Box::into_raw(Box::new(<crate::ln::msgs::RevokeAndACK>::clone(unsafe { &*self.contents.result })))
5176 Self { result_ok: false, contents: CResult_RevokeAndACKDecodeErrorZPtr {
5177 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5183 pub extern "C" fn CResult_RevokeAndACKDecodeErrorZ_clone(orig: &CResult_RevokeAndACKDecodeErrorZ) -> CResult_RevokeAndACKDecodeErrorZ { orig.clone() }
5185 pub union CResult_ShutdownDecodeErrorZPtr {
5186 pub result: *mut crate::ln::msgs::Shutdown,
5187 pub err: *mut crate::ln::msgs::DecodeError,
5190 pub struct CResult_ShutdownDecodeErrorZ {
5191 pub contents: CResult_ShutdownDecodeErrorZPtr,
5192 pub result_ok: bool,
5195 pub extern "C" fn CResult_ShutdownDecodeErrorZ_ok(o: crate::ln::msgs::Shutdown) -> CResult_ShutdownDecodeErrorZ {
5196 CResult_ShutdownDecodeErrorZ {
5197 contents: CResult_ShutdownDecodeErrorZPtr {
5198 result: Box::into_raw(Box::new(o)),
5204 pub extern "C" fn CResult_ShutdownDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ShutdownDecodeErrorZ {
5205 CResult_ShutdownDecodeErrorZ {
5206 contents: CResult_ShutdownDecodeErrorZPtr {
5207 err: Box::into_raw(Box::new(e)),
5213 pub extern "C" fn CResult_ShutdownDecodeErrorZ_free(_res: CResult_ShutdownDecodeErrorZ) { }
5214 impl Drop for CResult_ShutdownDecodeErrorZ {
5215 fn drop(&mut self) {
5217 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5218 let _ = unsafe { Box::from_raw(self.contents.result) };
5221 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5222 let _ = unsafe { Box::from_raw(self.contents.err) };
5227 impl From<crate::c_types::CResultTempl<crate::ln::msgs::Shutdown, crate::ln::msgs::DecodeError>> for CResult_ShutdownDecodeErrorZ {
5228 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::Shutdown, crate::ln::msgs::DecodeError>) -> Self {
5229 let contents = if o.result_ok {
5230 let result = unsafe { o.contents.result };
5231 unsafe { o.contents.result = std::ptr::null_mut() };
5232 CResult_ShutdownDecodeErrorZPtr { result }
5234 let err = unsafe { o.contents.err };
5235 unsafe { o.contents.err = std::ptr::null_mut(); }
5236 CResult_ShutdownDecodeErrorZPtr { err }
5240 result_ok: o.result_ok,
5244 impl Clone for CResult_ShutdownDecodeErrorZ {
5245 fn clone(&self) -> Self {
5247 Self { result_ok: true, contents: CResult_ShutdownDecodeErrorZPtr {
5248 result: Box::into_raw(Box::new(<crate::ln::msgs::Shutdown>::clone(unsafe { &*self.contents.result })))
5251 Self { result_ok: false, contents: CResult_ShutdownDecodeErrorZPtr {
5252 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5258 pub extern "C" fn CResult_ShutdownDecodeErrorZ_clone(orig: &CResult_ShutdownDecodeErrorZ) -> CResult_ShutdownDecodeErrorZ { orig.clone() }
5260 pub union CResult_UpdateFailHTLCDecodeErrorZPtr {
5261 pub result: *mut crate::ln::msgs::UpdateFailHTLC,
5262 pub err: *mut crate::ln::msgs::DecodeError,
5265 pub struct CResult_UpdateFailHTLCDecodeErrorZ {
5266 pub contents: CResult_UpdateFailHTLCDecodeErrorZPtr,
5267 pub result_ok: bool,
5270 pub extern "C" fn CResult_UpdateFailHTLCDecodeErrorZ_ok(o: crate::ln::msgs::UpdateFailHTLC) -> CResult_UpdateFailHTLCDecodeErrorZ {
5271 CResult_UpdateFailHTLCDecodeErrorZ {
5272 contents: CResult_UpdateFailHTLCDecodeErrorZPtr {
5273 result: Box::into_raw(Box::new(o)),
5279 pub extern "C" fn CResult_UpdateFailHTLCDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_UpdateFailHTLCDecodeErrorZ {
5280 CResult_UpdateFailHTLCDecodeErrorZ {
5281 contents: CResult_UpdateFailHTLCDecodeErrorZPtr {
5282 err: Box::into_raw(Box::new(e)),
5288 pub extern "C" fn CResult_UpdateFailHTLCDecodeErrorZ_free(_res: CResult_UpdateFailHTLCDecodeErrorZ) { }
5289 impl Drop for CResult_UpdateFailHTLCDecodeErrorZ {
5290 fn drop(&mut self) {
5292 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5293 let _ = unsafe { Box::from_raw(self.contents.result) };
5296 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5297 let _ = unsafe { Box::from_raw(self.contents.err) };
5302 impl From<crate::c_types::CResultTempl<crate::ln::msgs::UpdateFailHTLC, crate::ln::msgs::DecodeError>> for CResult_UpdateFailHTLCDecodeErrorZ {
5303 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::UpdateFailHTLC, crate::ln::msgs::DecodeError>) -> Self {
5304 let contents = if o.result_ok {
5305 let result = unsafe { o.contents.result };
5306 unsafe { o.contents.result = std::ptr::null_mut() };
5307 CResult_UpdateFailHTLCDecodeErrorZPtr { result }
5309 let err = unsafe { o.contents.err };
5310 unsafe { o.contents.err = std::ptr::null_mut(); }
5311 CResult_UpdateFailHTLCDecodeErrorZPtr { err }
5315 result_ok: o.result_ok,
5319 impl Clone for CResult_UpdateFailHTLCDecodeErrorZ {
5320 fn clone(&self) -> Self {
5322 Self { result_ok: true, contents: CResult_UpdateFailHTLCDecodeErrorZPtr {
5323 result: Box::into_raw(Box::new(<crate::ln::msgs::UpdateFailHTLC>::clone(unsafe { &*self.contents.result })))
5326 Self { result_ok: false, contents: CResult_UpdateFailHTLCDecodeErrorZPtr {
5327 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5333 pub extern "C" fn CResult_UpdateFailHTLCDecodeErrorZ_clone(orig: &CResult_UpdateFailHTLCDecodeErrorZ) -> CResult_UpdateFailHTLCDecodeErrorZ { orig.clone() }
5335 pub union CResult_UpdateFailMalformedHTLCDecodeErrorZPtr {
5336 pub result: *mut crate::ln::msgs::UpdateFailMalformedHTLC,
5337 pub err: *mut crate::ln::msgs::DecodeError,
5340 pub struct CResult_UpdateFailMalformedHTLCDecodeErrorZ {
5341 pub contents: CResult_UpdateFailMalformedHTLCDecodeErrorZPtr,
5342 pub result_ok: bool,
5345 pub extern "C" fn CResult_UpdateFailMalformedHTLCDecodeErrorZ_ok(o: crate::ln::msgs::UpdateFailMalformedHTLC) -> CResult_UpdateFailMalformedHTLCDecodeErrorZ {
5346 CResult_UpdateFailMalformedHTLCDecodeErrorZ {
5347 contents: CResult_UpdateFailMalformedHTLCDecodeErrorZPtr {
5348 result: Box::into_raw(Box::new(o)),
5354 pub extern "C" fn CResult_UpdateFailMalformedHTLCDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_UpdateFailMalformedHTLCDecodeErrorZ {
5355 CResult_UpdateFailMalformedHTLCDecodeErrorZ {
5356 contents: CResult_UpdateFailMalformedHTLCDecodeErrorZPtr {
5357 err: Box::into_raw(Box::new(e)),
5363 pub extern "C" fn CResult_UpdateFailMalformedHTLCDecodeErrorZ_free(_res: CResult_UpdateFailMalformedHTLCDecodeErrorZ) { }
5364 impl Drop for CResult_UpdateFailMalformedHTLCDecodeErrorZ {
5365 fn drop(&mut self) {
5367 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5368 let _ = unsafe { Box::from_raw(self.contents.result) };
5371 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5372 let _ = unsafe { Box::from_raw(self.contents.err) };
5377 impl From<crate::c_types::CResultTempl<crate::ln::msgs::UpdateFailMalformedHTLC, crate::ln::msgs::DecodeError>> for CResult_UpdateFailMalformedHTLCDecodeErrorZ {
5378 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::UpdateFailMalformedHTLC, crate::ln::msgs::DecodeError>) -> Self {
5379 let contents = if o.result_ok {
5380 let result = unsafe { o.contents.result };
5381 unsafe { o.contents.result = std::ptr::null_mut() };
5382 CResult_UpdateFailMalformedHTLCDecodeErrorZPtr { result }
5384 let err = unsafe { o.contents.err };
5385 unsafe { o.contents.err = std::ptr::null_mut(); }
5386 CResult_UpdateFailMalformedHTLCDecodeErrorZPtr { err }
5390 result_ok: o.result_ok,
5394 impl Clone for CResult_UpdateFailMalformedHTLCDecodeErrorZ {
5395 fn clone(&self) -> Self {
5397 Self { result_ok: true, contents: CResult_UpdateFailMalformedHTLCDecodeErrorZPtr {
5398 result: Box::into_raw(Box::new(<crate::ln::msgs::UpdateFailMalformedHTLC>::clone(unsafe { &*self.contents.result })))
5401 Self { result_ok: false, contents: CResult_UpdateFailMalformedHTLCDecodeErrorZPtr {
5402 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5408 pub extern "C" fn CResult_UpdateFailMalformedHTLCDecodeErrorZ_clone(orig: &CResult_UpdateFailMalformedHTLCDecodeErrorZ) -> CResult_UpdateFailMalformedHTLCDecodeErrorZ { orig.clone() }
5410 pub union CResult_UpdateFeeDecodeErrorZPtr {
5411 pub result: *mut crate::ln::msgs::UpdateFee,
5412 pub err: *mut crate::ln::msgs::DecodeError,
5415 pub struct CResult_UpdateFeeDecodeErrorZ {
5416 pub contents: CResult_UpdateFeeDecodeErrorZPtr,
5417 pub result_ok: bool,
5420 pub extern "C" fn CResult_UpdateFeeDecodeErrorZ_ok(o: crate::ln::msgs::UpdateFee) -> CResult_UpdateFeeDecodeErrorZ {
5421 CResult_UpdateFeeDecodeErrorZ {
5422 contents: CResult_UpdateFeeDecodeErrorZPtr {
5423 result: Box::into_raw(Box::new(o)),
5429 pub extern "C" fn CResult_UpdateFeeDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_UpdateFeeDecodeErrorZ {
5430 CResult_UpdateFeeDecodeErrorZ {
5431 contents: CResult_UpdateFeeDecodeErrorZPtr {
5432 err: Box::into_raw(Box::new(e)),
5438 pub extern "C" fn CResult_UpdateFeeDecodeErrorZ_free(_res: CResult_UpdateFeeDecodeErrorZ) { }
5439 impl Drop for CResult_UpdateFeeDecodeErrorZ {
5440 fn drop(&mut self) {
5442 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5443 let _ = unsafe { Box::from_raw(self.contents.result) };
5446 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5447 let _ = unsafe { Box::from_raw(self.contents.err) };
5452 impl From<crate::c_types::CResultTempl<crate::ln::msgs::UpdateFee, crate::ln::msgs::DecodeError>> for CResult_UpdateFeeDecodeErrorZ {
5453 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::UpdateFee, crate::ln::msgs::DecodeError>) -> Self {
5454 let contents = if o.result_ok {
5455 let result = unsafe { o.contents.result };
5456 unsafe { o.contents.result = std::ptr::null_mut() };
5457 CResult_UpdateFeeDecodeErrorZPtr { result }
5459 let err = unsafe { o.contents.err };
5460 unsafe { o.contents.err = std::ptr::null_mut(); }
5461 CResult_UpdateFeeDecodeErrorZPtr { err }
5465 result_ok: o.result_ok,
5469 impl Clone for CResult_UpdateFeeDecodeErrorZ {
5470 fn clone(&self) -> Self {
5472 Self { result_ok: true, contents: CResult_UpdateFeeDecodeErrorZPtr {
5473 result: Box::into_raw(Box::new(<crate::ln::msgs::UpdateFee>::clone(unsafe { &*self.contents.result })))
5476 Self { result_ok: false, contents: CResult_UpdateFeeDecodeErrorZPtr {
5477 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5483 pub extern "C" fn CResult_UpdateFeeDecodeErrorZ_clone(orig: &CResult_UpdateFeeDecodeErrorZ) -> CResult_UpdateFeeDecodeErrorZ { orig.clone() }
5485 pub union CResult_UpdateFulfillHTLCDecodeErrorZPtr {
5486 pub result: *mut crate::ln::msgs::UpdateFulfillHTLC,
5487 pub err: *mut crate::ln::msgs::DecodeError,
5490 pub struct CResult_UpdateFulfillHTLCDecodeErrorZ {
5491 pub contents: CResult_UpdateFulfillHTLCDecodeErrorZPtr,
5492 pub result_ok: bool,
5495 pub extern "C" fn CResult_UpdateFulfillHTLCDecodeErrorZ_ok(o: crate::ln::msgs::UpdateFulfillHTLC) -> CResult_UpdateFulfillHTLCDecodeErrorZ {
5496 CResult_UpdateFulfillHTLCDecodeErrorZ {
5497 contents: CResult_UpdateFulfillHTLCDecodeErrorZPtr {
5498 result: Box::into_raw(Box::new(o)),
5504 pub extern "C" fn CResult_UpdateFulfillHTLCDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_UpdateFulfillHTLCDecodeErrorZ {
5505 CResult_UpdateFulfillHTLCDecodeErrorZ {
5506 contents: CResult_UpdateFulfillHTLCDecodeErrorZPtr {
5507 err: Box::into_raw(Box::new(e)),
5513 pub extern "C" fn CResult_UpdateFulfillHTLCDecodeErrorZ_free(_res: CResult_UpdateFulfillHTLCDecodeErrorZ) { }
5514 impl Drop for CResult_UpdateFulfillHTLCDecodeErrorZ {
5515 fn drop(&mut self) {
5517 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5518 let _ = unsafe { Box::from_raw(self.contents.result) };
5521 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5522 let _ = unsafe { Box::from_raw(self.contents.err) };
5527 impl From<crate::c_types::CResultTempl<crate::ln::msgs::UpdateFulfillHTLC, crate::ln::msgs::DecodeError>> for CResult_UpdateFulfillHTLCDecodeErrorZ {
5528 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::UpdateFulfillHTLC, crate::ln::msgs::DecodeError>) -> Self {
5529 let contents = if o.result_ok {
5530 let result = unsafe { o.contents.result };
5531 unsafe { o.contents.result = std::ptr::null_mut() };
5532 CResult_UpdateFulfillHTLCDecodeErrorZPtr { result }
5534 let err = unsafe { o.contents.err };
5535 unsafe { o.contents.err = std::ptr::null_mut(); }
5536 CResult_UpdateFulfillHTLCDecodeErrorZPtr { err }
5540 result_ok: o.result_ok,
5544 impl Clone for CResult_UpdateFulfillHTLCDecodeErrorZ {
5545 fn clone(&self) -> Self {
5547 Self { result_ok: true, contents: CResult_UpdateFulfillHTLCDecodeErrorZPtr {
5548 result: Box::into_raw(Box::new(<crate::ln::msgs::UpdateFulfillHTLC>::clone(unsafe { &*self.contents.result })))
5551 Self { result_ok: false, contents: CResult_UpdateFulfillHTLCDecodeErrorZPtr {
5552 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5558 pub extern "C" fn CResult_UpdateFulfillHTLCDecodeErrorZ_clone(orig: &CResult_UpdateFulfillHTLCDecodeErrorZ) -> CResult_UpdateFulfillHTLCDecodeErrorZ { orig.clone() }
5560 pub union CResult_UpdateAddHTLCDecodeErrorZPtr {
5561 pub result: *mut crate::ln::msgs::UpdateAddHTLC,
5562 pub err: *mut crate::ln::msgs::DecodeError,
5565 pub struct CResult_UpdateAddHTLCDecodeErrorZ {
5566 pub contents: CResult_UpdateAddHTLCDecodeErrorZPtr,
5567 pub result_ok: bool,
5570 pub extern "C" fn CResult_UpdateAddHTLCDecodeErrorZ_ok(o: crate::ln::msgs::UpdateAddHTLC) -> CResult_UpdateAddHTLCDecodeErrorZ {
5571 CResult_UpdateAddHTLCDecodeErrorZ {
5572 contents: CResult_UpdateAddHTLCDecodeErrorZPtr {
5573 result: Box::into_raw(Box::new(o)),
5579 pub extern "C" fn CResult_UpdateAddHTLCDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_UpdateAddHTLCDecodeErrorZ {
5580 CResult_UpdateAddHTLCDecodeErrorZ {
5581 contents: CResult_UpdateAddHTLCDecodeErrorZPtr {
5582 err: Box::into_raw(Box::new(e)),
5588 pub extern "C" fn CResult_UpdateAddHTLCDecodeErrorZ_free(_res: CResult_UpdateAddHTLCDecodeErrorZ) { }
5589 impl Drop for CResult_UpdateAddHTLCDecodeErrorZ {
5590 fn drop(&mut self) {
5592 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5593 let _ = unsafe { Box::from_raw(self.contents.result) };
5596 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5597 let _ = unsafe { Box::from_raw(self.contents.err) };
5602 impl From<crate::c_types::CResultTempl<crate::ln::msgs::UpdateAddHTLC, crate::ln::msgs::DecodeError>> for CResult_UpdateAddHTLCDecodeErrorZ {
5603 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::UpdateAddHTLC, crate::ln::msgs::DecodeError>) -> Self {
5604 let contents = if o.result_ok {
5605 let result = unsafe { o.contents.result };
5606 unsafe { o.contents.result = std::ptr::null_mut() };
5607 CResult_UpdateAddHTLCDecodeErrorZPtr { result }
5609 let err = unsafe { o.contents.err };
5610 unsafe { o.contents.err = std::ptr::null_mut(); }
5611 CResult_UpdateAddHTLCDecodeErrorZPtr { err }
5615 result_ok: o.result_ok,
5619 impl Clone for CResult_UpdateAddHTLCDecodeErrorZ {
5620 fn clone(&self) -> Self {
5622 Self { result_ok: true, contents: CResult_UpdateAddHTLCDecodeErrorZPtr {
5623 result: Box::into_raw(Box::new(<crate::ln::msgs::UpdateAddHTLC>::clone(unsafe { &*self.contents.result })))
5626 Self { result_ok: false, contents: CResult_UpdateAddHTLCDecodeErrorZPtr {
5627 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5633 pub extern "C" fn CResult_UpdateAddHTLCDecodeErrorZ_clone(orig: &CResult_UpdateAddHTLCDecodeErrorZ) -> CResult_UpdateAddHTLCDecodeErrorZ { orig.clone() }
5635 pub union CResult_PingDecodeErrorZPtr {
5636 pub result: *mut crate::ln::msgs::Ping,
5637 pub err: *mut crate::ln::msgs::DecodeError,
5640 pub struct CResult_PingDecodeErrorZ {
5641 pub contents: CResult_PingDecodeErrorZPtr,
5642 pub result_ok: bool,
5645 pub extern "C" fn CResult_PingDecodeErrorZ_ok(o: crate::ln::msgs::Ping) -> CResult_PingDecodeErrorZ {
5646 CResult_PingDecodeErrorZ {
5647 contents: CResult_PingDecodeErrorZPtr {
5648 result: Box::into_raw(Box::new(o)),
5654 pub extern "C" fn CResult_PingDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_PingDecodeErrorZ {
5655 CResult_PingDecodeErrorZ {
5656 contents: CResult_PingDecodeErrorZPtr {
5657 err: Box::into_raw(Box::new(e)),
5663 pub extern "C" fn CResult_PingDecodeErrorZ_free(_res: CResult_PingDecodeErrorZ) { }
5664 impl Drop for CResult_PingDecodeErrorZ {
5665 fn drop(&mut self) {
5667 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5668 let _ = unsafe { Box::from_raw(self.contents.result) };
5671 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5672 let _ = unsafe { Box::from_raw(self.contents.err) };
5677 impl From<crate::c_types::CResultTempl<crate::ln::msgs::Ping, crate::ln::msgs::DecodeError>> for CResult_PingDecodeErrorZ {
5678 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::Ping, crate::ln::msgs::DecodeError>) -> Self {
5679 let contents = if o.result_ok {
5680 let result = unsafe { o.contents.result };
5681 unsafe { o.contents.result = std::ptr::null_mut() };
5682 CResult_PingDecodeErrorZPtr { result }
5684 let err = unsafe { o.contents.err };
5685 unsafe { o.contents.err = std::ptr::null_mut(); }
5686 CResult_PingDecodeErrorZPtr { err }
5690 result_ok: o.result_ok,
5694 impl Clone for CResult_PingDecodeErrorZ {
5695 fn clone(&self) -> Self {
5697 Self { result_ok: true, contents: CResult_PingDecodeErrorZPtr {
5698 result: Box::into_raw(Box::new(<crate::ln::msgs::Ping>::clone(unsafe { &*self.contents.result })))
5701 Self { result_ok: false, contents: CResult_PingDecodeErrorZPtr {
5702 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5708 pub extern "C" fn CResult_PingDecodeErrorZ_clone(orig: &CResult_PingDecodeErrorZ) -> CResult_PingDecodeErrorZ { orig.clone() }
5710 pub union CResult_PongDecodeErrorZPtr {
5711 pub result: *mut crate::ln::msgs::Pong,
5712 pub err: *mut crate::ln::msgs::DecodeError,
5715 pub struct CResult_PongDecodeErrorZ {
5716 pub contents: CResult_PongDecodeErrorZPtr,
5717 pub result_ok: bool,
5720 pub extern "C" fn CResult_PongDecodeErrorZ_ok(o: crate::ln::msgs::Pong) -> CResult_PongDecodeErrorZ {
5721 CResult_PongDecodeErrorZ {
5722 contents: CResult_PongDecodeErrorZPtr {
5723 result: Box::into_raw(Box::new(o)),
5729 pub extern "C" fn CResult_PongDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_PongDecodeErrorZ {
5730 CResult_PongDecodeErrorZ {
5731 contents: CResult_PongDecodeErrorZPtr {
5732 err: Box::into_raw(Box::new(e)),
5738 pub extern "C" fn CResult_PongDecodeErrorZ_free(_res: CResult_PongDecodeErrorZ) { }
5739 impl Drop for CResult_PongDecodeErrorZ {
5740 fn drop(&mut self) {
5742 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5743 let _ = unsafe { Box::from_raw(self.contents.result) };
5746 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5747 let _ = unsafe { Box::from_raw(self.contents.err) };
5752 impl From<crate::c_types::CResultTempl<crate::ln::msgs::Pong, crate::ln::msgs::DecodeError>> for CResult_PongDecodeErrorZ {
5753 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::Pong, crate::ln::msgs::DecodeError>) -> Self {
5754 let contents = if o.result_ok {
5755 let result = unsafe { o.contents.result };
5756 unsafe { o.contents.result = std::ptr::null_mut() };
5757 CResult_PongDecodeErrorZPtr { result }
5759 let err = unsafe { o.contents.err };
5760 unsafe { o.contents.err = std::ptr::null_mut(); }
5761 CResult_PongDecodeErrorZPtr { err }
5765 result_ok: o.result_ok,
5769 impl Clone for CResult_PongDecodeErrorZ {
5770 fn clone(&self) -> Self {
5772 Self { result_ok: true, contents: CResult_PongDecodeErrorZPtr {
5773 result: Box::into_raw(Box::new(<crate::ln::msgs::Pong>::clone(unsafe { &*self.contents.result })))
5776 Self { result_ok: false, contents: CResult_PongDecodeErrorZPtr {
5777 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5783 pub extern "C" fn CResult_PongDecodeErrorZ_clone(orig: &CResult_PongDecodeErrorZ) -> CResult_PongDecodeErrorZ { orig.clone() }
5785 pub union CResult_UnsignedChannelAnnouncementDecodeErrorZPtr {
5786 pub result: *mut crate::ln::msgs::UnsignedChannelAnnouncement,
5787 pub err: *mut crate::ln::msgs::DecodeError,
5790 pub struct CResult_UnsignedChannelAnnouncementDecodeErrorZ {
5791 pub contents: CResult_UnsignedChannelAnnouncementDecodeErrorZPtr,
5792 pub result_ok: bool,
5795 pub extern "C" fn CResult_UnsignedChannelAnnouncementDecodeErrorZ_ok(o: crate::ln::msgs::UnsignedChannelAnnouncement) -> CResult_UnsignedChannelAnnouncementDecodeErrorZ {
5796 CResult_UnsignedChannelAnnouncementDecodeErrorZ {
5797 contents: CResult_UnsignedChannelAnnouncementDecodeErrorZPtr {
5798 result: Box::into_raw(Box::new(o)),
5804 pub extern "C" fn CResult_UnsignedChannelAnnouncementDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_UnsignedChannelAnnouncementDecodeErrorZ {
5805 CResult_UnsignedChannelAnnouncementDecodeErrorZ {
5806 contents: CResult_UnsignedChannelAnnouncementDecodeErrorZPtr {
5807 err: Box::into_raw(Box::new(e)),
5813 pub extern "C" fn CResult_UnsignedChannelAnnouncementDecodeErrorZ_free(_res: CResult_UnsignedChannelAnnouncementDecodeErrorZ) { }
5814 impl Drop for CResult_UnsignedChannelAnnouncementDecodeErrorZ {
5815 fn drop(&mut self) {
5817 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5818 let _ = unsafe { Box::from_raw(self.contents.result) };
5821 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5822 let _ = unsafe { Box::from_raw(self.contents.err) };
5827 impl From<crate::c_types::CResultTempl<crate::ln::msgs::UnsignedChannelAnnouncement, crate::ln::msgs::DecodeError>> for CResult_UnsignedChannelAnnouncementDecodeErrorZ {
5828 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::UnsignedChannelAnnouncement, crate::ln::msgs::DecodeError>) -> Self {
5829 let contents = if o.result_ok {
5830 let result = unsafe { o.contents.result };
5831 unsafe { o.contents.result = std::ptr::null_mut() };
5832 CResult_UnsignedChannelAnnouncementDecodeErrorZPtr { result }
5834 let err = unsafe { o.contents.err };
5835 unsafe { o.contents.err = std::ptr::null_mut(); }
5836 CResult_UnsignedChannelAnnouncementDecodeErrorZPtr { err }
5840 result_ok: o.result_ok,
5844 impl Clone for CResult_UnsignedChannelAnnouncementDecodeErrorZ {
5845 fn clone(&self) -> Self {
5847 Self { result_ok: true, contents: CResult_UnsignedChannelAnnouncementDecodeErrorZPtr {
5848 result: Box::into_raw(Box::new(<crate::ln::msgs::UnsignedChannelAnnouncement>::clone(unsafe { &*self.contents.result })))
5851 Self { result_ok: false, contents: CResult_UnsignedChannelAnnouncementDecodeErrorZPtr {
5852 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5858 pub extern "C" fn CResult_UnsignedChannelAnnouncementDecodeErrorZ_clone(orig: &CResult_UnsignedChannelAnnouncementDecodeErrorZ) -> CResult_UnsignedChannelAnnouncementDecodeErrorZ { orig.clone() }
5860 pub union CResult_ChannelAnnouncementDecodeErrorZPtr {
5861 pub result: *mut crate::ln::msgs::ChannelAnnouncement,
5862 pub err: *mut crate::ln::msgs::DecodeError,
5865 pub struct CResult_ChannelAnnouncementDecodeErrorZ {
5866 pub contents: CResult_ChannelAnnouncementDecodeErrorZPtr,
5867 pub result_ok: bool,
5870 pub extern "C" fn CResult_ChannelAnnouncementDecodeErrorZ_ok(o: crate::ln::msgs::ChannelAnnouncement) -> CResult_ChannelAnnouncementDecodeErrorZ {
5871 CResult_ChannelAnnouncementDecodeErrorZ {
5872 contents: CResult_ChannelAnnouncementDecodeErrorZPtr {
5873 result: Box::into_raw(Box::new(o)),
5879 pub extern "C" fn CResult_ChannelAnnouncementDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelAnnouncementDecodeErrorZ {
5880 CResult_ChannelAnnouncementDecodeErrorZ {
5881 contents: CResult_ChannelAnnouncementDecodeErrorZPtr {
5882 err: Box::into_raw(Box::new(e)),
5888 pub extern "C" fn CResult_ChannelAnnouncementDecodeErrorZ_free(_res: CResult_ChannelAnnouncementDecodeErrorZ) { }
5889 impl Drop for CResult_ChannelAnnouncementDecodeErrorZ {
5890 fn drop(&mut self) {
5892 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5893 let _ = unsafe { Box::from_raw(self.contents.result) };
5896 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5897 let _ = unsafe { Box::from_raw(self.contents.err) };
5902 impl From<crate::c_types::CResultTempl<crate::ln::msgs::ChannelAnnouncement, crate::ln::msgs::DecodeError>> for CResult_ChannelAnnouncementDecodeErrorZ {
5903 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::ChannelAnnouncement, crate::ln::msgs::DecodeError>) -> Self {
5904 let contents = if o.result_ok {
5905 let result = unsafe { o.contents.result };
5906 unsafe { o.contents.result = std::ptr::null_mut() };
5907 CResult_ChannelAnnouncementDecodeErrorZPtr { result }
5909 let err = unsafe { o.contents.err };
5910 unsafe { o.contents.err = std::ptr::null_mut(); }
5911 CResult_ChannelAnnouncementDecodeErrorZPtr { err }
5915 result_ok: o.result_ok,
5919 impl Clone for CResult_ChannelAnnouncementDecodeErrorZ {
5920 fn clone(&self) -> Self {
5922 Self { result_ok: true, contents: CResult_ChannelAnnouncementDecodeErrorZPtr {
5923 result: Box::into_raw(Box::new(<crate::ln::msgs::ChannelAnnouncement>::clone(unsafe { &*self.contents.result })))
5926 Self { result_ok: false, contents: CResult_ChannelAnnouncementDecodeErrorZPtr {
5927 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
5933 pub extern "C" fn CResult_ChannelAnnouncementDecodeErrorZ_clone(orig: &CResult_ChannelAnnouncementDecodeErrorZ) -> CResult_ChannelAnnouncementDecodeErrorZ { orig.clone() }
5935 pub union CResult_UnsignedChannelUpdateDecodeErrorZPtr {
5936 pub result: *mut crate::ln::msgs::UnsignedChannelUpdate,
5937 pub err: *mut crate::ln::msgs::DecodeError,
5940 pub struct CResult_UnsignedChannelUpdateDecodeErrorZ {
5941 pub contents: CResult_UnsignedChannelUpdateDecodeErrorZPtr,
5942 pub result_ok: bool,
5945 pub extern "C" fn CResult_UnsignedChannelUpdateDecodeErrorZ_ok(o: crate::ln::msgs::UnsignedChannelUpdate) -> CResult_UnsignedChannelUpdateDecodeErrorZ {
5946 CResult_UnsignedChannelUpdateDecodeErrorZ {
5947 contents: CResult_UnsignedChannelUpdateDecodeErrorZPtr {
5948 result: Box::into_raw(Box::new(o)),
5954 pub extern "C" fn CResult_UnsignedChannelUpdateDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_UnsignedChannelUpdateDecodeErrorZ {
5955 CResult_UnsignedChannelUpdateDecodeErrorZ {
5956 contents: CResult_UnsignedChannelUpdateDecodeErrorZPtr {
5957 err: Box::into_raw(Box::new(e)),
5963 pub extern "C" fn CResult_UnsignedChannelUpdateDecodeErrorZ_free(_res: CResult_UnsignedChannelUpdateDecodeErrorZ) { }
5964 impl Drop for CResult_UnsignedChannelUpdateDecodeErrorZ {
5965 fn drop(&mut self) {
5967 if unsafe { !(self.contents.result as *mut ()).is_null() } {
5968 let _ = unsafe { Box::from_raw(self.contents.result) };
5971 if unsafe { !(self.contents.err as *mut ()).is_null() } {
5972 let _ = unsafe { Box::from_raw(self.contents.err) };
5977 impl From<crate::c_types::CResultTempl<crate::ln::msgs::UnsignedChannelUpdate, crate::ln::msgs::DecodeError>> for CResult_UnsignedChannelUpdateDecodeErrorZ {
5978 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::UnsignedChannelUpdate, crate::ln::msgs::DecodeError>) -> Self {
5979 let contents = if o.result_ok {
5980 let result = unsafe { o.contents.result };
5981 unsafe { o.contents.result = std::ptr::null_mut() };
5982 CResult_UnsignedChannelUpdateDecodeErrorZPtr { result }
5984 let err = unsafe { o.contents.err };
5985 unsafe { o.contents.err = std::ptr::null_mut(); }
5986 CResult_UnsignedChannelUpdateDecodeErrorZPtr { err }
5990 result_ok: o.result_ok,
5994 impl Clone for CResult_UnsignedChannelUpdateDecodeErrorZ {
5995 fn clone(&self) -> Self {
5997 Self { result_ok: true, contents: CResult_UnsignedChannelUpdateDecodeErrorZPtr {
5998 result: Box::into_raw(Box::new(<crate::ln::msgs::UnsignedChannelUpdate>::clone(unsafe { &*self.contents.result })))
6001 Self { result_ok: false, contents: CResult_UnsignedChannelUpdateDecodeErrorZPtr {
6002 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6008 pub extern "C" fn CResult_UnsignedChannelUpdateDecodeErrorZ_clone(orig: &CResult_UnsignedChannelUpdateDecodeErrorZ) -> CResult_UnsignedChannelUpdateDecodeErrorZ { orig.clone() }
6010 pub union CResult_ChannelUpdateDecodeErrorZPtr {
6011 pub result: *mut crate::ln::msgs::ChannelUpdate,
6012 pub err: *mut crate::ln::msgs::DecodeError,
6015 pub struct CResult_ChannelUpdateDecodeErrorZ {
6016 pub contents: CResult_ChannelUpdateDecodeErrorZPtr,
6017 pub result_ok: bool,
6020 pub extern "C" fn CResult_ChannelUpdateDecodeErrorZ_ok(o: crate::ln::msgs::ChannelUpdate) -> CResult_ChannelUpdateDecodeErrorZ {
6021 CResult_ChannelUpdateDecodeErrorZ {
6022 contents: CResult_ChannelUpdateDecodeErrorZPtr {
6023 result: Box::into_raw(Box::new(o)),
6029 pub extern "C" fn CResult_ChannelUpdateDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ChannelUpdateDecodeErrorZ {
6030 CResult_ChannelUpdateDecodeErrorZ {
6031 contents: CResult_ChannelUpdateDecodeErrorZPtr {
6032 err: Box::into_raw(Box::new(e)),
6038 pub extern "C" fn CResult_ChannelUpdateDecodeErrorZ_free(_res: CResult_ChannelUpdateDecodeErrorZ) { }
6039 impl Drop for CResult_ChannelUpdateDecodeErrorZ {
6040 fn drop(&mut self) {
6042 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6043 let _ = unsafe { Box::from_raw(self.contents.result) };
6046 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6047 let _ = unsafe { Box::from_raw(self.contents.err) };
6052 impl From<crate::c_types::CResultTempl<crate::ln::msgs::ChannelUpdate, crate::ln::msgs::DecodeError>> for CResult_ChannelUpdateDecodeErrorZ {
6053 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::ChannelUpdate, crate::ln::msgs::DecodeError>) -> Self {
6054 let contents = if o.result_ok {
6055 let result = unsafe { o.contents.result };
6056 unsafe { o.contents.result = std::ptr::null_mut() };
6057 CResult_ChannelUpdateDecodeErrorZPtr { result }
6059 let err = unsafe { o.contents.err };
6060 unsafe { o.contents.err = std::ptr::null_mut(); }
6061 CResult_ChannelUpdateDecodeErrorZPtr { err }
6065 result_ok: o.result_ok,
6069 impl Clone for CResult_ChannelUpdateDecodeErrorZ {
6070 fn clone(&self) -> Self {
6072 Self { result_ok: true, contents: CResult_ChannelUpdateDecodeErrorZPtr {
6073 result: Box::into_raw(Box::new(<crate::ln::msgs::ChannelUpdate>::clone(unsafe { &*self.contents.result })))
6076 Self { result_ok: false, contents: CResult_ChannelUpdateDecodeErrorZPtr {
6077 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6083 pub extern "C" fn CResult_ChannelUpdateDecodeErrorZ_clone(orig: &CResult_ChannelUpdateDecodeErrorZ) -> CResult_ChannelUpdateDecodeErrorZ { orig.clone() }
6085 pub union CResult_ErrorMessageDecodeErrorZPtr {
6086 pub result: *mut crate::ln::msgs::ErrorMessage,
6087 pub err: *mut crate::ln::msgs::DecodeError,
6090 pub struct CResult_ErrorMessageDecodeErrorZ {
6091 pub contents: CResult_ErrorMessageDecodeErrorZPtr,
6092 pub result_ok: bool,
6095 pub extern "C" fn CResult_ErrorMessageDecodeErrorZ_ok(o: crate::ln::msgs::ErrorMessage) -> CResult_ErrorMessageDecodeErrorZ {
6096 CResult_ErrorMessageDecodeErrorZ {
6097 contents: CResult_ErrorMessageDecodeErrorZPtr {
6098 result: Box::into_raw(Box::new(o)),
6104 pub extern "C" fn CResult_ErrorMessageDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ErrorMessageDecodeErrorZ {
6105 CResult_ErrorMessageDecodeErrorZ {
6106 contents: CResult_ErrorMessageDecodeErrorZPtr {
6107 err: Box::into_raw(Box::new(e)),
6113 pub extern "C" fn CResult_ErrorMessageDecodeErrorZ_free(_res: CResult_ErrorMessageDecodeErrorZ) { }
6114 impl Drop for CResult_ErrorMessageDecodeErrorZ {
6115 fn drop(&mut self) {
6117 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6118 let _ = unsafe { Box::from_raw(self.contents.result) };
6121 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6122 let _ = unsafe { Box::from_raw(self.contents.err) };
6127 impl From<crate::c_types::CResultTempl<crate::ln::msgs::ErrorMessage, crate::ln::msgs::DecodeError>> for CResult_ErrorMessageDecodeErrorZ {
6128 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::ErrorMessage, crate::ln::msgs::DecodeError>) -> Self {
6129 let contents = if o.result_ok {
6130 let result = unsafe { o.contents.result };
6131 unsafe { o.contents.result = std::ptr::null_mut() };
6132 CResult_ErrorMessageDecodeErrorZPtr { result }
6134 let err = unsafe { o.contents.err };
6135 unsafe { o.contents.err = std::ptr::null_mut(); }
6136 CResult_ErrorMessageDecodeErrorZPtr { err }
6140 result_ok: o.result_ok,
6144 impl Clone for CResult_ErrorMessageDecodeErrorZ {
6145 fn clone(&self) -> Self {
6147 Self { result_ok: true, contents: CResult_ErrorMessageDecodeErrorZPtr {
6148 result: Box::into_raw(Box::new(<crate::ln::msgs::ErrorMessage>::clone(unsafe { &*self.contents.result })))
6151 Self { result_ok: false, contents: CResult_ErrorMessageDecodeErrorZPtr {
6152 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6158 pub extern "C" fn CResult_ErrorMessageDecodeErrorZ_clone(orig: &CResult_ErrorMessageDecodeErrorZ) -> CResult_ErrorMessageDecodeErrorZ { orig.clone() }
6160 pub union CResult_UnsignedNodeAnnouncementDecodeErrorZPtr {
6161 pub result: *mut crate::ln::msgs::UnsignedNodeAnnouncement,
6162 pub err: *mut crate::ln::msgs::DecodeError,
6165 pub struct CResult_UnsignedNodeAnnouncementDecodeErrorZ {
6166 pub contents: CResult_UnsignedNodeAnnouncementDecodeErrorZPtr,
6167 pub result_ok: bool,
6170 pub extern "C" fn CResult_UnsignedNodeAnnouncementDecodeErrorZ_ok(o: crate::ln::msgs::UnsignedNodeAnnouncement) -> CResult_UnsignedNodeAnnouncementDecodeErrorZ {
6171 CResult_UnsignedNodeAnnouncementDecodeErrorZ {
6172 contents: CResult_UnsignedNodeAnnouncementDecodeErrorZPtr {
6173 result: Box::into_raw(Box::new(o)),
6179 pub extern "C" fn CResult_UnsignedNodeAnnouncementDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_UnsignedNodeAnnouncementDecodeErrorZ {
6180 CResult_UnsignedNodeAnnouncementDecodeErrorZ {
6181 contents: CResult_UnsignedNodeAnnouncementDecodeErrorZPtr {
6182 err: Box::into_raw(Box::new(e)),
6188 pub extern "C" fn CResult_UnsignedNodeAnnouncementDecodeErrorZ_free(_res: CResult_UnsignedNodeAnnouncementDecodeErrorZ) { }
6189 impl Drop for CResult_UnsignedNodeAnnouncementDecodeErrorZ {
6190 fn drop(&mut self) {
6192 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6193 let _ = unsafe { Box::from_raw(self.contents.result) };
6196 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6197 let _ = unsafe { Box::from_raw(self.contents.err) };
6202 impl From<crate::c_types::CResultTempl<crate::ln::msgs::UnsignedNodeAnnouncement, crate::ln::msgs::DecodeError>> for CResult_UnsignedNodeAnnouncementDecodeErrorZ {
6203 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::UnsignedNodeAnnouncement, crate::ln::msgs::DecodeError>) -> Self {
6204 let contents = if o.result_ok {
6205 let result = unsafe { o.contents.result };
6206 unsafe { o.contents.result = std::ptr::null_mut() };
6207 CResult_UnsignedNodeAnnouncementDecodeErrorZPtr { result }
6209 let err = unsafe { o.contents.err };
6210 unsafe { o.contents.err = std::ptr::null_mut(); }
6211 CResult_UnsignedNodeAnnouncementDecodeErrorZPtr { err }
6215 result_ok: o.result_ok,
6219 impl Clone for CResult_UnsignedNodeAnnouncementDecodeErrorZ {
6220 fn clone(&self) -> Self {
6222 Self { result_ok: true, contents: CResult_UnsignedNodeAnnouncementDecodeErrorZPtr {
6223 result: Box::into_raw(Box::new(<crate::ln::msgs::UnsignedNodeAnnouncement>::clone(unsafe { &*self.contents.result })))
6226 Self { result_ok: false, contents: CResult_UnsignedNodeAnnouncementDecodeErrorZPtr {
6227 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6233 pub extern "C" fn CResult_UnsignedNodeAnnouncementDecodeErrorZ_clone(orig: &CResult_UnsignedNodeAnnouncementDecodeErrorZ) -> CResult_UnsignedNodeAnnouncementDecodeErrorZ { orig.clone() }
6235 pub union CResult_NodeAnnouncementDecodeErrorZPtr {
6236 pub result: *mut crate::ln::msgs::NodeAnnouncement,
6237 pub err: *mut crate::ln::msgs::DecodeError,
6240 pub struct CResult_NodeAnnouncementDecodeErrorZ {
6241 pub contents: CResult_NodeAnnouncementDecodeErrorZPtr,
6242 pub result_ok: bool,
6245 pub extern "C" fn CResult_NodeAnnouncementDecodeErrorZ_ok(o: crate::ln::msgs::NodeAnnouncement) -> CResult_NodeAnnouncementDecodeErrorZ {
6246 CResult_NodeAnnouncementDecodeErrorZ {
6247 contents: CResult_NodeAnnouncementDecodeErrorZPtr {
6248 result: Box::into_raw(Box::new(o)),
6254 pub extern "C" fn CResult_NodeAnnouncementDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_NodeAnnouncementDecodeErrorZ {
6255 CResult_NodeAnnouncementDecodeErrorZ {
6256 contents: CResult_NodeAnnouncementDecodeErrorZPtr {
6257 err: Box::into_raw(Box::new(e)),
6263 pub extern "C" fn CResult_NodeAnnouncementDecodeErrorZ_free(_res: CResult_NodeAnnouncementDecodeErrorZ) { }
6264 impl Drop for CResult_NodeAnnouncementDecodeErrorZ {
6265 fn drop(&mut self) {
6267 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6268 let _ = unsafe { Box::from_raw(self.contents.result) };
6271 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6272 let _ = unsafe { Box::from_raw(self.contents.err) };
6277 impl From<crate::c_types::CResultTempl<crate::ln::msgs::NodeAnnouncement, crate::ln::msgs::DecodeError>> for CResult_NodeAnnouncementDecodeErrorZ {
6278 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::NodeAnnouncement, crate::ln::msgs::DecodeError>) -> Self {
6279 let contents = if o.result_ok {
6280 let result = unsafe { o.contents.result };
6281 unsafe { o.contents.result = std::ptr::null_mut() };
6282 CResult_NodeAnnouncementDecodeErrorZPtr { result }
6284 let err = unsafe { o.contents.err };
6285 unsafe { o.contents.err = std::ptr::null_mut(); }
6286 CResult_NodeAnnouncementDecodeErrorZPtr { err }
6290 result_ok: o.result_ok,
6294 impl Clone for CResult_NodeAnnouncementDecodeErrorZ {
6295 fn clone(&self) -> Self {
6297 Self { result_ok: true, contents: CResult_NodeAnnouncementDecodeErrorZPtr {
6298 result: Box::into_raw(Box::new(<crate::ln::msgs::NodeAnnouncement>::clone(unsafe { &*self.contents.result })))
6301 Self { result_ok: false, contents: CResult_NodeAnnouncementDecodeErrorZPtr {
6302 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6308 pub extern "C" fn CResult_NodeAnnouncementDecodeErrorZ_clone(orig: &CResult_NodeAnnouncementDecodeErrorZ) -> CResult_NodeAnnouncementDecodeErrorZ { orig.clone() }
6310 pub union CResult_QueryShortChannelIdsDecodeErrorZPtr {
6311 pub result: *mut crate::ln::msgs::QueryShortChannelIds,
6312 pub err: *mut crate::ln::msgs::DecodeError,
6315 pub struct CResult_QueryShortChannelIdsDecodeErrorZ {
6316 pub contents: CResult_QueryShortChannelIdsDecodeErrorZPtr,
6317 pub result_ok: bool,
6320 pub extern "C" fn CResult_QueryShortChannelIdsDecodeErrorZ_ok(o: crate::ln::msgs::QueryShortChannelIds) -> CResult_QueryShortChannelIdsDecodeErrorZ {
6321 CResult_QueryShortChannelIdsDecodeErrorZ {
6322 contents: CResult_QueryShortChannelIdsDecodeErrorZPtr {
6323 result: Box::into_raw(Box::new(o)),
6329 pub extern "C" fn CResult_QueryShortChannelIdsDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_QueryShortChannelIdsDecodeErrorZ {
6330 CResult_QueryShortChannelIdsDecodeErrorZ {
6331 contents: CResult_QueryShortChannelIdsDecodeErrorZPtr {
6332 err: Box::into_raw(Box::new(e)),
6338 pub extern "C" fn CResult_QueryShortChannelIdsDecodeErrorZ_free(_res: CResult_QueryShortChannelIdsDecodeErrorZ) { }
6339 impl Drop for CResult_QueryShortChannelIdsDecodeErrorZ {
6340 fn drop(&mut self) {
6342 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6343 let _ = unsafe { Box::from_raw(self.contents.result) };
6346 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6347 let _ = unsafe { Box::from_raw(self.contents.err) };
6352 impl From<crate::c_types::CResultTempl<crate::ln::msgs::QueryShortChannelIds, crate::ln::msgs::DecodeError>> for CResult_QueryShortChannelIdsDecodeErrorZ {
6353 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::QueryShortChannelIds, crate::ln::msgs::DecodeError>) -> Self {
6354 let contents = if o.result_ok {
6355 let result = unsafe { o.contents.result };
6356 unsafe { o.contents.result = std::ptr::null_mut() };
6357 CResult_QueryShortChannelIdsDecodeErrorZPtr { result }
6359 let err = unsafe { o.contents.err };
6360 unsafe { o.contents.err = std::ptr::null_mut(); }
6361 CResult_QueryShortChannelIdsDecodeErrorZPtr { err }
6365 result_ok: o.result_ok,
6369 impl Clone for CResult_QueryShortChannelIdsDecodeErrorZ {
6370 fn clone(&self) -> Self {
6372 Self { result_ok: true, contents: CResult_QueryShortChannelIdsDecodeErrorZPtr {
6373 result: Box::into_raw(Box::new(<crate::ln::msgs::QueryShortChannelIds>::clone(unsafe { &*self.contents.result })))
6376 Self { result_ok: false, contents: CResult_QueryShortChannelIdsDecodeErrorZPtr {
6377 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6383 pub extern "C" fn CResult_QueryShortChannelIdsDecodeErrorZ_clone(orig: &CResult_QueryShortChannelIdsDecodeErrorZ) -> CResult_QueryShortChannelIdsDecodeErrorZ { orig.clone() }
6385 pub union CResult_ReplyShortChannelIdsEndDecodeErrorZPtr {
6386 pub result: *mut crate::ln::msgs::ReplyShortChannelIdsEnd,
6387 pub err: *mut crate::ln::msgs::DecodeError,
6390 pub struct CResult_ReplyShortChannelIdsEndDecodeErrorZ {
6391 pub contents: CResult_ReplyShortChannelIdsEndDecodeErrorZPtr,
6392 pub result_ok: bool,
6395 pub extern "C" fn CResult_ReplyShortChannelIdsEndDecodeErrorZ_ok(o: crate::ln::msgs::ReplyShortChannelIdsEnd) -> CResult_ReplyShortChannelIdsEndDecodeErrorZ {
6396 CResult_ReplyShortChannelIdsEndDecodeErrorZ {
6397 contents: CResult_ReplyShortChannelIdsEndDecodeErrorZPtr {
6398 result: Box::into_raw(Box::new(o)),
6404 pub extern "C" fn CResult_ReplyShortChannelIdsEndDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ReplyShortChannelIdsEndDecodeErrorZ {
6405 CResult_ReplyShortChannelIdsEndDecodeErrorZ {
6406 contents: CResult_ReplyShortChannelIdsEndDecodeErrorZPtr {
6407 err: Box::into_raw(Box::new(e)),
6413 pub extern "C" fn CResult_ReplyShortChannelIdsEndDecodeErrorZ_free(_res: CResult_ReplyShortChannelIdsEndDecodeErrorZ) { }
6414 impl Drop for CResult_ReplyShortChannelIdsEndDecodeErrorZ {
6415 fn drop(&mut self) {
6417 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6418 let _ = unsafe { Box::from_raw(self.contents.result) };
6421 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6422 let _ = unsafe { Box::from_raw(self.contents.err) };
6427 impl From<crate::c_types::CResultTempl<crate::ln::msgs::ReplyShortChannelIdsEnd, crate::ln::msgs::DecodeError>> for CResult_ReplyShortChannelIdsEndDecodeErrorZ {
6428 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::ReplyShortChannelIdsEnd, crate::ln::msgs::DecodeError>) -> Self {
6429 let contents = if o.result_ok {
6430 let result = unsafe { o.contents.result };
6431 unsafe { o.contents.result = std::ptr::null_mut() };
6432 CResult_ReplyShortChannelIdsEndDecodeErrorZPtr { result }
6434 let err = unsafe { o.contents.err };
6435 unsafe { o.contents.err = std::ptr::null_mut(); }
6436 CResult_ReplyShortChannelIdsEndDecodeErrorZPtr { err }
6440 result_ok: o.result_ok,
6444 impl Clone for CResult_ReplyShortChannelIdsEndDecodeErrorZ {
6445 fn clone(&self) -> Self {
6447 Self { result_ok: true, contents: CResult_ReplyShortChannelIdsEndDecodeErrorZPtr {
6448 result: Box::into_raw(Box::new(<crate::ln::msgs::ReplyShortChannelIdsEnd>::clone(unsafe { &*self.contents.result })))
6451 Self { result_ok: false, contents: CResult_ReplyShortChannelIdsEndDecodeErrorZPtr {
6452 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6458 pub extern "C" fn CResult_ReplyShortChannelIdsEndDecodeErrorZ_clone(orig: &CResult_ReplyShortChannelIdsEndDecodeErrorZ) -> CResult_ReplyShortChannelIdsEndDecodeErrorZ { orig.clone() }
6460 pub union CResult_QueryChannelRangeDecodeErrorZPtr {
6461 pub result: *mut crate::ln::msgs::QueryChannelRange,
6462 pub err: *mut crate::ln::msgs::DecodeError,
6465 pub struct CResult_QueryChannelRangeDecodeErrorZ {
6466 pub contents: CResult_QueryChannelRangeDecodeErrorZPtr,
6467 pub result_ok: bool,
6470 pub extern "C" fn CResult_QueryChannelRangeDecodeErrorZ_ok(o: crate::ln::msgs::QueryChannelRange) -> CResult_QueryChannelRangeDecodeErrorZ {
6471 CResult_QueryChannelRangeDecodeErrorZ {
6472 contents: CResult_QueryChannelRangeDecodeErrorZPtr {
6473 result: Box::into_raw(Box::new(o)),
6479 pub extern "C" fn CResult_QueryChannelRangeDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_QueryChannelRangeDecodeErrorZ {
6480 CResult_QueryChannelRangeDecodeErrorZ {
6481 contents: CResult_QueryChannelRangeDecodeErrorZPtr {
6482 err: Box::into_raw(Box::new(e)),
6488 pub extern "C" fn CResult_QueryChannelRangeDecodeErrorZ_free(_res: CResult_QueryChannelRangeDecodeErrorZ) { }
6489 impl Drop for CResult_QueryChannelRangeDecodeErrorZ {
6490 fn drop(&mut self) {
6492 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6493 let _ = unsafe { Box::from_raw(self.contents.result) };
6496 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6497 let _ = unsafe { Box::from_raw(self.contents.err) };
6502 impl From<crate::c_types::CResultTempl<crate::ln::msgs::QueryChannelRange, crate::ln::msgs::DecodeError>> for CResult_QueryChannelRangeDecodeErrorZ {
6503 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::QueryChannelRange, crate::ln::msgs::DecodeError>) -> Self {
6504 let contents = if o.result_ok {
6505 let result = unsafe { o.contents.result };
6506 unsafe { o.contents.result = std::ptr::null_mut() };
6507 CResult_QueryChannelRangeDecodeErrorZPtr { result }
6509 let err = unsafe { o.contents.err };
6510 unsafe { o.contents.err = std::ptr::null_mut(); }
6511 CResult_QueryChannelRangeDecodeErrorZPtr { err }
6515 result_ok: o.result_ok,
6519 impl Clone for CResult_QueryChannelRangeDecodeErrorZ {
6520 fn clone(&self) -> Self {
6522 Self { result_ok: true, contents: CResult_QueryChannelRangeDecodeErrorZPtr {
6523 result: Box::into_raw(Box::new(<crate::ln::msgs::QueryChannelRange>::clone(unsafe { &*self.contents.result })))
6526 Self { result_ok: false, contents: CResult_QueryChannelRangeDecodeErrorZPtr {
6527 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6533 pub extern "C" fn CResult_QueryChannelRangeDecodeErrorZ_clone(orig: &CResult_QueryChannelRangeDecodeErrorZ) -> CResult_QueryChannelRangeDecodeErrorZ { orig.clone() }
6535 pub union CResult_ReplyChannelRangeDecodeErrorZPtr {
6536 pub result: *mut crate::ln::msgs::ReplyChannelRange,
6537 pub err: *mut crate::ln::msgs::DecodeError,
6540 pub struct CResult_ReplyChannelRangeDecodeErrorZ {
6541 pub contents: CResult_ReplyChannelRangeDecodeErrorZPtr,
6542 pub result_ok: bool,
6545 pub extern "C" fn CResult_ReplyChannelRangeDecodeErrorZ_ok(o: crate::ln::msgs::ReplyChannelRange) -> CResult_ReplyChannelRangeDecodeErrorZ {
6546 CResult_ReplyChannelRangeDecodeErrorZ {
6547 contents: CResult_ReplyChannelRangeDecodeErrorZPtr {
6548 result: Box::into_raw(Box::new(o)),
6554 pub extern "C" fn CResult_ReplyChannelRangeDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_ReplyChannelRangeDecodeErrorZ {
6555 CResult_ReplyChannelRangeDecodeErrorZ {
6556 contents: CResult_ReplyChannelRangeDecodeErrorZPtr {
6557 err: Box::into_raw(Box::new(e)),
6563 pub extern "C" fn CResult_ReplyChannelRangeDecodeErrorZ_free(_res: CResult_ReplyChannelRangeDecodeErrorZ) { }
6564 impl Drop for CResult_ReplyChannelRangeDecodeErrorZ {
6565 fn drop(&mut self) {
6567 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6568 let _ = unsafe { Box::from_raw(self.contents.result) };
6571 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6572 let _ = unsafe { Box::from_raw(self.contents.err) };
6577 impl From<crate::c_types::CResultTempl<crate::ln::msgs::ReplyChannelRange, crate::ln::msgs::DecodeError>> for CResult_ReplyChannelRangeDecodeErrorZ {
6578 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::ReplyChannelRange, crate::ln::msgs::DecodeError>) -> Self {
6579 let contents = if o.result_ok {
6580 let result = unsafe { o.contents.result };
6581 unsafe { o.contents.result = std::ptr::null_mut() };
6582 CResult_ReplyChannelRangeDecodeErrorZPtr { result }
6584 let err = unsafe { o.contents.err };
6585 unsafe { o.contents.err = std::ptr::null_mut(); }
6586 CResult_ReplyChannelRangeDecodeErrorZPtr { err }
6590 result_ok: o.result_ok,
6594 impl Clone for CResult_ReplyChannelRangeDecodeErrorZ {
6595 fn clone(&self) -> Self {
6597 Self { result_ok: true, contents: CResult_ReplyChannelRangeDecodeErrorZPtr {
6598 result: Box::into_raw(Box::new(<crate::ln::msgs::ReplyChannelRange>::clone(unsafe { &*self.contents.result })))
6601 Self { result_ok: false, contents: CResult_ReplyChannelRangeDecodeErrorZPtr {
6602 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6608 pub extern "C" fn CResult_ReplyChannelRangeDecodeErrorZ_clone(orig: &CResult_ReplyChannelRangeDecodeErrorZ) -> CResult_ReplyChannelRangeDecodeErrorZ { orig.clone() }
6610 pub union CResult_GossipTimestampFilterDecodeErrorZPtr {
6611 pub result: *mut crate::ln::msgs::GossipTimestampFilter,
6612 pub err: *mut crate::ln::msgs::DecodeError,
6615 pub struct CResult_GossipTimestampFilterDecodeErrorZ {
6616 pub contents: CResult_GossipTimestampFilterDecodeErrorZPtr,
6617 pub result_ok: bool,
6620 pub extern "C" fn CResult_GossipTimestampFilterDecodeErrorZ_ok(o: crate::ln::msgs::GossipTimestampFilter) -> CResult_GossipTimestampFilterDecodeErrorZ {
6621 CResult_GossipTimestampFilterDecodeErrorZ {
6622 contents: CResult_GossipTimestampFilterDecodeErrorZPtr {
6623 result: Box::into_raw(Box::new(o)),
6629 pub extern "C" fn CResult_GossipTimestampFilterDecodeErrorZ_err(e: crate::ln::msgs::DecodeError) -> CResult_GossipTimestampFilterDecodeErrorZ {
6630 CResult_GossipTimestampFilterDecodeErrorZ {
6631 contents: CResult_GossipTimestampFilterDecodeErrorZPtr {
6632 err: Box::into_raw(Box::new(e)),
6638 pub extern "C" fn CResult_GossipTimestampFilterDecodeErrorZ_free(_res: CResult_GossipTimestampFilterDecodeErrorZ) { }
6639 impl Drop for CResult_GossipTimestampFilterDecodeErrorZ {
6640 fn drop(&mut self) {
6642 if unsafe { !(self.contents.result as *mut ()).is_null() } {
6643 let _ = unsafe { Box::from_raw(self.contents.result) };
6646 if unsafe { !(self.contents.err as *mut ()).is_null() } {
6647 let _ = unsafe { Box::from_raw(self.contents.err) };
6652 impl From<crate::c_types::CResultTempl<crate::ln::msgs::GossipTimestampFilter, crate::ln::msgs::DecodeError>> for CResult_GossipTimestampFilterDecodeErrorZ {
6653 fn from(mut o: crate::c_types::CResultTempl<crate::ln::msgs::GossipTimestampFilter, crate::ln::msgs::DecodeError>) -> Self {
6654 let contents = if o.result_ok {
6655 let result = unsafe { o.contents.result };
6656 unsafe { o.contents.result = std::ptr::null_mut() };
6657 CResult_GossipTimestampFilterDecodeErrorZPtr { result }
6659 let err = unsafe { o.contents.err };
6660 unsafe { o.contents.err = std::ptr::null_mut(); }
6661 CResult_GossipTimestampFilterDecodeErrorZPtr { err }
6665 result_ok: o.result_ok,
6669 impl Clone for CResult_GossipTimestampFilterDecodeErrorZ {
6670 fn clone(&self) -> Self {
6672 Self { result_ok: true, contents: CResult_GossipTimestampFilterDecodeErrorZPtr {
6673 result: Box::into_raw(Box::new(<crate::ln::msgs::GossipTimestampFilter>::clone(unsafe { &*self.contents.result })))
6676 Self { result_ok: false, contents: CResult_GossipTimestampFilterDecodeErrorZPtr {
6677 err: Box::into_raw(Box::new(<crate::ln::msgs::DecodeError>::clone(unsafe { &*self.contents.err })))
6683 pub extern "C" fn CResult_GossipTimestampFilterDecodeErrorZ_clone(orig: &CResult_GossipTimestampFilterDecodeErrorZ) -> CResult_GossipTimestampFilterDecodeErrorZ { orig.clone() }