1
2
3
/* automatically generated by rust-bindgen */

pub const CASHACC_ERR_INVALID_ACCOUNT_NAME : :: std :: os :: raw :: c_int = -1 ; pub const CASHACC_ERR_MALLOC_FAILED : :: std :: os :: raw :: c_int = -2 ; pub const CASHACC_ERR_PUSHDATA_ERROR : :: std :: os :: raw :: c_int = -3 ; pub const CASHACC_ERR_NO_PUSHDATA : :: std :: os :: raw :: c_int = -4 ; pub const CASHACC_ERR_TOO_FEW_PARTS : :: std :: os :: raw :: c_int = -5 ; pub const CASHACC_ERR_WRONG_PREFIX : :: std :: os :: raw :: c_int = -6 ; pub const CASHACC_PAYMENT_KEYHASH : :: std :: os :: raw :: c_uchar = 1 ; pub const CASHACC_PAYMENT_SCRIPTHASH : :: std :: os :: raw :: c_uchar = 2 ; pub const CASHACC_PAYMENT_PAYMENTCODE : :: std :: os :: raw :: c_uchar = 3 ; pub const CASHACC_PAYMENT_STEALTHKEYS : :: std :: os :: raw :: c_uchar = 4 ; pub const CASHACC_PAYMENT_TOKEN_KEYHASH : :: std :: os :: raw :: c_uchar = 129 ; pub const CASHACC_PAYMENT_TOKEN_SCRIPTHASH : :: std :: os :: raw :: c_uchar = 130 ; pub const CASHACC_PAYMENT_TOKEN_PAYMENTCODE : :: std :: os :: raw :: c_uchar = 131 ; pub const CASHACC_PAYMENT_TOKEN_STEALTHKEYS : :: std :: os :: raw :: c_uchar = 132 ; # [ doc = " A cash account playload. One registration can contain multiple payloads." ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Payload { # [ doc = "< Payment type. See CASHACC_PAYMENT* constants." ] pub type_ : :: std :: os :: raw :: c_char , # [ doc = "< The payload itself." ] pub payload : * mut :: std :: os :: raw :: c_char , # [ doc = "< Length of the payload." ] pub payload_len : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_Payload ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Payload > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( Payload ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Payload > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Payload ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Payload > ( ) ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( Payload ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Payload > ( ) ) ) . payload as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( Payload ) , "::" , stringify ! ( payload ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Payload > ( ) ) ) . payload_len as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( Payload ) , "::" , stringify ! ( payload_len ) ) ) ; } # [ doc = " A cash account registration" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CashAccount { # [ doc = "< The account name" ] pub name : * mut :: std :: os :: raw :: c_char , # [ doc = "< Payloads, nullptr if payloads are ignored" ] pub payloads : * mut Payload , # [ doc = "< Number of payloads in registration" ] pub payloads_len : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_CashAccount ( ) { assert_eq ! ( :: std :: mem :: size_of :: < CashAccount > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( CashAccount ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < CashAccount > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( CashAccount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < CashAccount > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( CashAccount ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < CashAccount > ( ) ) ) . payloads as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( CashAccount ) , "::" , stringify ! ( payloads ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < CashAccount > ( ) ) ) . payloads_len as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( CashAccount ) , "::" , stringify ! ( payloads_len ) ) ) ; } extern "C" { # [ doc = " Allocate the cash account result data." ] # [ doc = " Free using cashacc_account_destroy." ] # [ link_name = "\u{1}_Z20cashacc_account_initv" ] pub fn cashacc_account_init ( ) -> * mut CashAccount ; } extern "C" { # [ doc = " Clear name/payloads from CashAccount. The struct can be reused" ] # [ doc = " after calling this." ] # [ link_name = "\u{1}_Z21cashacc_account_clearP11CashAccount" ] pub fn cashacc_account_clear ( arg1 : * mut CashAccount ) ; } extern "C" { # [ doc = "" ] # [ doc = " Free all memory, including payloads." ] # [ link_name = "\u{1}_Z23cashacc_account_destroyP11CashAccount" ] pub fn cashacc_account_destroy ( arg1 : * mut CashAccount ) ; } extern "C" { # [ doc = " Parse CashAccount from an OP_RETURN script" ] # [ doc = " \\param opreturn Pointer to script" ] # [ doc = " \\param opreturn_len Length of the script" ] # [ doc = " \\param store_payload If payload is to be stored. If you just need to verify" ] # [ doc = "                      that script contains a cashaccount and get the name," ] # [ doc = "                      you can set to false for increased performance." ] # [ doc = " \\param account The variable where the result is stored" ] # [ doc = " \\return Number of payloads found, or error code on error" ] # [ link_name = "\u{1}_Z22cashacc_parse_opreturnPKcjbP11CashAccount" ] pub fn cashacc_parse_opreturn ( opreturn : * const :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_uint , store_payload : bool , account : * mut CashAccount ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Check if string is a valid cashaccount name (used in" ] # [ doc = " cashacc_parse_opreturn)" ] # [ link_name = "\u{1}_Z18cashacc_check_namePKcj" ] pub fn cashacc_check_name ( name : * const :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Check if opreturn has the correct cashaccount prefix (used in" ] # [ doc = " cashacc_parse_opreturn)" ] # [ link_name = "\u{1}_Z20cashacc_check_prefixPKcj" ] pub fn cashacc_check_prefix ( opreturn : * const :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Check if payload type is a know type. Paylods with unknown types will" ] # [ doc = " be ignored." ] # [ link_name = "\u{1}_Z26cashacc_check_payload_typeh" ] pub fn cashacc_check_payload_type ( type_ : :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int ; }