[INFO] crate xtp 0.1.0-alpha.4 is already in cache [INFO] testing xtp-0.1.0-alpha.4 against 1.45.2 for beta-1.46-1 [INFO] extracting crate xtp 0.1.0-alpha.4 into /workspace/builds/worker-8/source [INFO] validating manifest of crates.io crate xtp 0.1.0-alpha.4 on toolchain 1.45.2 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate xtp 0.1.0-alpha.4 [INFO] finished tweaking crates.io crate xtp 0.1.0-alpha.4 [INFO] tweaked toml for crates.io crate xtp 0.1.0-alpha.4 written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate crates.io crate xtp 0.1.0-alpha.4 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 74a7205fa7b1f1050d139686eb6fd0b95915a1fca5a1e036c8107474461ce21e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "74a7205fa7b1f1050d139686eb6fd0b95915a1fca5a1e036c8107474461ce21e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "74a7205fa7b1f1050d139686eb6fd0b95915a1fca5a1e036c8107474461ce21e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74a7205fa7b1f1050d139686eb6fd0b95915a1fca5a1e036c8107474461ce21e", kill_on_drop: false }` [INFO] [stdout] 74a7205fa7b1f1050d139686eb6fd0b95915a1fca5a1e036c8107474461ce21e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 965a135a71c5c27ce2e5fafbf81f810b48fd938e7dbf504db5160ddbec3a46ff [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "965a135a71c5c27ce2e5fafbf81f810b48fd938e7dbf504db5160ddbec3a46ff", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.0.46 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling unicode-width v0.1.6 [INFO] [stderr] Compiling syn v1.0.7 [INFO] [stderr] Compiling quick-error v1.2.2 [INFO] [stderr] Compiling bindgen v0.52.0 [INFO] [stderr] Compiling termcolor v1.0.5 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling clang-sys v0.28.1 [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Compiling rustc-hash v1.0.1 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling atty v0.2.13 [INFO] [stderr] Compiling which v3.1.0 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Compiling cexpr v0.3.6 [INFO] [stderr] Compiling backtrace v0.3.40 [INFO] [stderr] Compiling synstructure v0.12.2 [INFO] [stderr] Compiling failure_derive v0.1.6 [INFO] [stderr] Compiling failure v0.1.6 [INFO] [stderr] Compiling xtp v0.1.0-alpha.4 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 44.37s [INFO] running `Command { std: "docker" "inspect" "965a135a71c5c27ce2e5fafbf81f810b48fd938e7dbf504db5160ddbec3a46ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "965a135a71c5c27ce2e5fafbf81f810b48fd938e7dbf504db5160ddbec3a46ff", kill_on_drop: false }` [INFO] [stdout] 965a135a71c5c27ce2e5fafbf81f810b48fd938e7dbf504db5160ddbec3a46ff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6faa675254c85222bc89b825c5674f42bfc18ee437fe3465918bafb79b1463ae [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6faa675254c85222bc89b825c5674f42bfc18ee437fe3465918bafb79b1463ae", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-segmentation v1.5.0 [INFO] [stderr] Compiling paw-raw v1.0.0 [INFO] [stderr] Compiling proc-macro-error v0.2.6 [INFO] [stderr] Compiling paw-attributes v1.0.2 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling structopt-derive v0.3.3 [INFO] [stderr] Compiling paw v1.0.0 [INFO] [stderr] Compiling structopt v0.3.3 [INFO] [stderr] Compiling xtp v0.1.0-alpha.4 (/opt/rustwide/workdir) [INFO] [stdout] error[E0464]: multiple matching crates for `test` [INFO] [stdout] --> /opt/rustwide/target/debug/build/xtp-17da3fac5535d7c1/out/bindings.rs:3:11176 [INFO] [stdout] | [INFO] [stdout] 3 | # [ repr ( C ) ] pub struct __BindgenUnionField < T > ( :: std :: marker :: PhantomData < T > ) ; impl < T > __BindgenUnionField < T > { # [ inline ] pub const fn new ( ) -> Self { __BindgenUnionField ( :: std :: marker :: PhantomData ) } # [ inline ] pub unsafe fn as_ref ( & self ) -> & T { :: std :: mem :: transmute ( self ) } # [ inline ] pub unsafe fn as_mut ( & mut self ) -> & mut T { :: std :: mem :: transmute ( self ) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [ inline ] fn default ( ) -> Self { Self :: new ( ) } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [ inline ] fn clone ( & self ) -> Self { Self :: new ( ) } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . write_str ( "__BindgenUnionField" ) } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > ( & self , _state : & mut H ) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq ( & self , _other : & __BindgenUnionField < T > ) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _STDINT_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _ISOC95_SOURCE : u32 = 1 ; pub const _ISOC99_SOURCE : u32 = 1 ; pub const _ISOC11_SOURCE : u32 = 1 ; pub const _ISOC2X_SOURCE : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const _XOPEN_SOURCE : u32 = 700 ; pub const _XOPEN_SOURCE_EXTENDED : u32 = 1 ; pub const _LARGEFILE64_SOURCE : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_ISOCXX11 : u32 = 1 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const __USE_XOPEN : u32 = 1 ; pub const __USE_XOPEN_EXTENDED : u32 = 1 ; pub const __USE_UNIX98 : u32 = 1 ; pub const _LARGEFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K8XSI : u32 = 1 ; pub const __USE_XOPEN2KXSI : u32 = 1 ; pub const __USE_LARGEFILE : u32 = 1 ; pub const __USE_LARGEFILE64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_GNU : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 31 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __LONG_DOUBLE_USES_FLOAT128 : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 0 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const __TIMESIZE : u32 = 64 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = -128 ; pub const INT16_MIN : i32 = -32768 ; pub const INT32_MIN : i32 = -2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = -128 ; pub const INT_LEAST16_MIN : i32 = -32768 ; pub const INT_LEAST32_MIN : i32 = -2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = -128 ; pub const INT_FAST16_MIN : i64 = -9223372036854775808 ; pub const INT_FAST32_MIN : i64 = -9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = -1 ; pub const UINT_FAST32_MAX : i32 = -1 ; pub const INTPTR_MIN : i64 = -9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = -1 ; pub const PTRDIFF_MIN : i64 = -9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = -2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = -1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const INT8_WIDTH : u32 = 8 ; pub const UINT8_WIDTH : u32 = 8 ; pub const INT16_WIDTH : u32 = 16 ; pub const UINT16_WIDTH : u32 = 16 ; pub const INT32_WIDTH : u32 = 32 ; pub const UINT32_WIDTH : u32 = 32 ; pub const INT64_WIDTH : u32 = 64 ; pub const UINT64_WIDTH : u32 = 64 ; pub const INT_LEAST8_WIDTH : u32 = 8 ; pub const UINT_LEAST8_WIDTH : u32 = 8 ; pub const INT_LEAST16_WIDTH : u32 = 16 ; pub const UINT_LEAST16_WIDTH : u32 = 16 ; pub const INT_LEAST32_WIDTH : u32 = 32 ; pub const UINT_LEAST32_WIDTH : u32 = 32 ; pub const INT_LEAST64_WIDTH : u32 = 64 ; pub const UINT_LEAST64_WIDTH : u32 = 64 ; pub const INT_FAST8_WIDTH : u32 = 8 ; pub const UINT_FAST8_WIDTH : u32 = 8 ; pub const INT_FAST16_WIDTH : u32 = 64 ; pub const UINT_FAST16_WIDTH : u32 = 64 ; pub const INT_FAST32_WIDTH : u32 = 64 ; pub const UINT_FAST32_WIDTH : u32 = 64 ; pub const INT_FAST64_WIDTH : u32 = 64 ; pub const UINT_FAST64_WIDTH : u32 = 64 ; pub const INTPTR_WIDTH : u32 = 64 ; pub const UINTPTR_WIDTH : u32 = 64 ; pub const INTMAX_WIDTH : u32 = 64 ; pub const UINTMAX_WIDTH : u32 = 64 ; pub const PTRDIFF_WIDTH : u32 = 64 ; pub const SIG_ATOMIC_WIDTH : u32 = 32 ; pub const SIZE_WIDTH : u32 = 64 ; pub const WCHAR_WIDTH : u32 = 32 ; pub const WINT_WIDTH : u32 = 32 ; pub const XTP_VERSION_LEN : u32 = 16 ; pub const XTP_TRADING_DAY_LEN : u32 = 9 ; pub const XTP_TICKER_LEN : u32 = 16 ; pub const XTP_TICKER_NAME_LEN : u32 = 64 ; pub const XTP_LOCAL_ORDER_LEN : u32 = 11 ; pub const XTP_ORDER_EXCH_LEN : u32 = 17 ; pub const XTP_EXEC_ID_LEN : u32 = 18 ; pub const XTP_BRANCH_PBU_LEN : u32 = 7 ; pub const XTP_ACCOUNT_NAME_LEN : u32 = 16 ; pub const XTP_SIDE_BUY : u32 = 1 ; pub const XTP_SIDE_SELL : u32 = 2 ; pub const XTP_SIDE_PURCHASE : u32 = 7 ; pub const XTP_SIDE_REDEMPTION : u32 = 8 ; pub const XTP_SIDE_SPLIT : u32 = 9 ; pub const XTP_SIDE_MERGE : u32 = 10 ; pub const XTP_SIDE_COVER : u32 = 11 ; pub const XTP_SIDE_FREEZE : u32 = 12 ; pub const XTP_SIDE_MARGIN_TRADE : u32 = 21 ; pub const XTP_SIDE_SHORT_SELL : u32 = 22 ; pub const XTP_SIDE_REPAY_MARGIN : u32 = 23 ; pub const XTP_SIDE_REPAY_STOCK : u32 = 24 ; pub const XTP_SIDE_STOCK_REPAY_STOCK : u32 = 26 ; pub const XTP_SIDE_SURSTK_TRANS : u32 = 27 ; pub const XTP_SIDE_GRTSTK_TRANSIN : u32 = 28 ; pub const XTP_SIDE_GRTSTK_TRANSOUT : u32 = 29 ; pub const XTP_SIDE_UNKNOWN : u32 = 30 ; pub const XTP_POSITION_EFFECT_INIT : u32 = 0 ; pub const XTP_POSITION_EFFECT_OPEN : u32 = 1 ; pub const XTP_POSITION_EFFECT_CLOSE : u32 = 2 ; pub const XTP_POSITION_EFFECT_FORCECLOSE : u32 = 3 ; pub const XTP_POSITION_EFFECT_CLOSETODAY : u32 = 4 ; pub const XTP_POSITION_EFFECT_CLOSEYESTERDAY : u32 = 5 ; pub const XTP_POSITION_EFFECT_FORCEOFF : u32 = 6 ; pub const XTP_POSITION_EFFECT_LOCALFORCECLOSE : u32 = 7 ; pub const XTP_POSITION_EFFECT_CREDIT_FORCE_COVER : u32 = 8 ; pub const XTP_POSITION_EFFECT_CREDIT_FORCE_CLEAR : u32 = 9 ; pub const XTP_POSITION_EFFECT_CREDIT_FORCE_DEBT : u32 = 10 ; pub const XTP_POSITION_EFFECT_CREDIT_FORCE_UNCOND : u32 = 11 ; pub const XTP_POSITION_EFFECT_UNKNOWN : u32 = 12 ; pub const XTP_TRDT_COMMON : u8 = 48u8 ; pub const XTP_TRDT_CASH : u8 = 49u8 ; pub const XTP_TRDT_PRIMARY : u8 = 50u8 ; pub const XTP_TRDT_CROSS_MKT_CASH : u8 = 51u8 ; pub const XTP_ORDT_Normal : u8 = 48u8 ; pub const XTP_ORDT_DeriveFromQuote : u8 = 49u8 ; pub const XTP_ORDT_DeriveFromCombination : u8 = 50u8 ; pub const XTP_ORDT_Combination : u8 = 51u8 ; pub const XTP_ORDT_ConditionalOrder : u8 = 52u8 ; pub const XTP_ORDT_Swap : u8 = 53u8 ; pub const XTP_ERR_MSG_LEN : u32 = 124 ; pub const XTP_ACCOUNT_PASSWORD_LEN : u32 = 64 ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __fsid_t { pub __val : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout___fsid_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __fsid_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __fsid_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __fsid_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __fsid_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; # [ doc = " \u{7248}\u{672c}\u{53f7}\u{7c7b}\u{578b}" ] pub type XTPVersionType = [ :: std :: os :: raw :: c_char ; 16usize ] ; # [ repr ( u32 ) ] # [ doc = "" ] # [ doc = "@brief XTP_LOG_LEVEL\u{662f}\u{65e5}\u{5fd7}\u{8f93}\u{51fa}\u{7ea7}\u{522b}\u{7c7b}\u{578b}" ] # [ doc = "" ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum XTP_LOG_LEVEL { # [ doc = "<\u{4e25}\u{91cd}\u{9519}\u{8bef}\u{7ea7}\u{522b}" ] XTP_LOG_LEVEL_FATAL = 0 , # [ doc = "<\u{9519}\u{8bef}\u{7ea7}\u{522b}" ] XTP_LOG_LEVEL_ERROR = 1 , # [ doc = "<\u{8b66}\u{544a}\u{7ea7}\u{522b}" ] XTP_LOG_LEVEL_WARNING = 2 , # [ doc = " ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( XTPRspInfoStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPRspInfoStruct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPRspInfoStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPRspInfoStruct > ( ) ) ) . error_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPRspInfoStruct ) , "::" , stringify ! ( error_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPRspInfoStruct > ( ) ) ) . error_msg as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPRspInfoStruct ) , "::" , stringify ! ( error_msg ) ) ) ; } # [ doc = "\u{54cd}\u{5e94}\u{4fe1}\u{606f}" ] pub type XTPRI = XTPRspInfoStruct ; # [ doc = "\u{6307}\u{5b9a}\u{7684}\u{5408}\u{7ea6}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPSpecificTickerStruct { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{4f8b}\u{5982}\"600000\"\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPSpecificTickerStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPSpecificTickerStruct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPSpecificTickerStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPSpecificTickerStruct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPSpecificTickerStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPSpecificTickerStruct > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPSpecificTickerStruct ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPSpecificTickerStruct > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPSpecificTickerStruct ) , "::" , stringify ! ( ticker ) ) ) ; } # [ doc = "\u{6307}\u{5b9a}\u{7684}\u{5408}\u{7ea6}" ] pub type XTPST = XTPSpecificTickerStruct ; # [ doc = "\u{80a1}\u{7968}\u{3001}\u{57fa}\u{91d1}\u{3001}\u{503a}\u{5238}\u{7b49}\u{989d}\u{5916}\u{6570}\u{636e}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPMarketDataStockExData { # [ doc = "\u{59d4}\u{6258}\u{4e70}\u{5165}\u{603b}\u{91cf}(SH,SZ)" ] pub total_bid_qty : i64 , # [ doc = "\u{59d4}\u{6258}\u{5356}\u{51fa}\u{603b}\u{91cf}(SH,SZ)" ] pub total_ask_qty : i64 , # [ doc = "\u{52a0}\u{6743}\u{5e73}\u{5747}\u{59d4}\u{4e70}\u{4ef7}\u{683c}(SH,SZ)" ] pub ma_bid_price : f64 , # [ doc = "\u{52a0}\u{6743}\u{5e73}\u{5747}\u{59d4}\u{5356}\u{4ef7}\u{683c}(SH,SZ)" ] pub ma_ask_price : f64 , # [ doc = "\u{503a}\u{5238}\u{52a0}\u{6743}\u{5e73}\u{5747}\u{59d4}\u{4e70}\u{4ef7}\u{683c}(SH)" ] pub ma_bond_bid_price : f64 , # [ doc = "\u{503a}\u{5238}\u{52a0}\u{6743}\u{5e73}\u{5747}\u{59d4}\u{5356}\u{4ef7}\u{683c}(SH)" ] pub ma_bond_ask_price : f64 , # [ doc = "\u{503a}\u{5238}\u{5230}\u{671f}\u{6536}\u{76ca}\u{7387}(SH)" ] pub yield_to_maturity : f64 , # [ doc = "\u{57fa}\u{91d1}\u{5b9e}\u{65f6}\u{53c2}\u{8003}\u{51c0}\u{503c}(SH,SZ)" ] pub iopv : f64 , # [ doc = "ETF\u{7533}\u{8d2d}\u{7b14}\u{6570}(SH)" ] pub etf_buy_count : i32 , # [ doc = "ETF\u{8d4e}\u{56de}\u{7b14}\u{6570}(SH)" ] pub etf_sell_count : i32 , # [ doc = "ETF\u{7533}\u{8d2d}\u{6570}\u{91cf}(SH)" ] pub etf_buy_qty : f64 , # [ doc = "ETF\u{7533}\u{8d2d}\u{91d1}\u{989d}(SH)" ] pub etf_buy_money : f64 , # [ doc = "ETF\u{8d4e}\u{56de}\u{6570}\u{91cf}(SH)" ] pub etf_sell_qty : f64 , # [ doc = "ETF\u{8d4e}\u{56de}\u{91d1}\u{989d}(SH)" ] pub etf_sell_money : f64 , # [ doc = "\u{6743}\u{8bc1}\u{6267}\u{884c}\u{7684}\u{603b}\u{6570}\u{91cf}(SH)" ] pub total_warrant_exec_qty : f64 , # [ doc = "\u{6743}\u{8bc1}\u{8dcc}\u{505c}\u{4ef7}\u{683c}\u{ff08}\u{5143}\u{ff09}(SH)" ] pub warrant_lower_price : f64 , # [ doc = "\u{6743}\u{8bc1}\u{6da8}\u{505c}\u{4ef7}\u{683c}\u{ff08}\u{5143}\u{ff09}(SH)" ] pub warrant_upper_price : f64 , # [ doc = "\u{4e70}\u{5165}\u{64a4}\u{5355}\u{7b14}\u{6570}(SH)" ] pub cancel_buy_count : i32 , # [ doc = "\u{5356}\u{51fa}\u{64a4}\u{5355}\u{7b14}\u{6570}(SH)" ] pub cancel_sell_count : i32 , # [ doc = "\u{4e70}\u{5165}\u{64a4}\u{5355}\u{6570}\u{91cf}(SH)" ] pub cancel_buy_qty : f64 , # [ doc = "\u{5356}\u{51fa}\u{64a4}\u{5355}\u{6570}\u{91cf}(SH)" ] pub cancel_sell_qty : f64 , # [ doc = "\u{4e70}\u{5165}\u{64a4}\u{5355}\u{91d1}\u{989d}(SH)" ] pub cancel_buy_money : f64 , # [ doc = "\u{5356}\u{51fa}\u{64a4}\u{5355}\u{91d1}\u{989d}(SH)" ] pub cancel_sell_money : f64 , # [ doc = "\u{4e70}\u{5165}\u{603b}\u{7b14}\u{6570}(SH)" ] pub total_buy_count : i64 , # [ doc = "\u{5356}\u{51fa}\u{603b}\u{7b14}\u{6570}(SH)" ] pub total_sell_count : i64 , # [ doc = "\u{4e70}\u{5165}\u{59d4}\u{6258}\u{6210}\u{4ea4}\u{6700}\u{5927}\u{7b49}\u{5f85}\u{65f6}\u{95f4}(SH)" ] pub duration_after_buy : i32 , # [ doc = "\u{5356}\u{51fa}\u{59d4}\u{6258}\u{6210}\u{4ea4}\u{6700}\u{5927}\u{7b49}\u{5f85}\u{65f6}\u{95f4}(SH)" ] pub duration_after_sell : i32 , # [ doc = "\u{4e70}\u{65b9}\u{59d4}\u{6258}\u{4ef7}\u{4f4d}\u{6570}(SH)" ] pub num_bid_orders : i32 , # [ doc = "\u{5356}\u{65b9}\u{59d4}\u{6258}\u{4ef7}\u{4f4d}\u{6570}(SH)" ] pub num_ask_orders : i32 , # [ doc = "\u{57fa}\u{91d1}T-1\u{65e5}\u{51c0}\u{503c}(SZ)" ] pub pre_iopv : f64 , # [ doc = "\u{9884}\u{7559}" ] pub r1 : i64 , # [ doc = "\u{9884}\u{7559}" ] pub r2 : i64 , } # [ test ] fn bindgen_test_layout_XTPMarketDataStockExData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPMarketDataStockExData > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( XTPMarketDataStockExData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPMarketDataStockExData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPMarketDataStockExData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_bid_qty as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_bid_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_ask_qty as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_ask_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . ma_bid_price as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( ma_bid_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . ma_ask_price as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( ma_ask_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . ma_bond_bid_price as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( ma_bond_bid_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . ma_bond_ask_price as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( ma_bond_ask_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . yield_to_maturity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( yield_to_maturity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . iopv as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( iopv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_buy_count as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_buy_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_sell_count as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_sell_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_buy_qty as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_buy_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_buy_money as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_buy_money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_sell_qty as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_sell_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_sell_money as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_sell_money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_warrant_exec_qty as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_warrant_exec_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . warrant_lower_price as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( warrant_lower_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . warrant_upper_price as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( warrant_upper_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_buy_count as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_buy_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_sell_count as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_sell_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_buy_qty as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_buy_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_sell_qty as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_sell_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_buy_money as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_buy_money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_sell_money as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_sell_money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_buy_count as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_buy_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_sell_count as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_sell_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . duration_after_buy as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( duration_after_buy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . duration_after_sell as * const _ as usize } , 188usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( duration_after_sell ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . num_bid_orders as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( num_bid_orders ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . num_ask_orders as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( num_ask_orders ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . pre_iopv as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( pre_iopv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . r1 as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( r1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . r2 as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( r2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPMarketDataOptionExData { # [ doc = "\u{6ce2}\u{6bb5}\u{6027}\u{4e2d}\u{65ad}\u{53c2}\u{8003}\u{4ef7}(SH)" ] pub auction_price : f64 , # [ doc = "\u{6ce2}\u{6bb5}\u{6027}\u{4e2d}\u{65ad}\u{96c6}\u{5408}\u{7ade}\u{4ef7}\u{865a}\u{62df}\u{5339}\u{914d}\u{91cf}(SH)" ] pub auction_qty : i64 , # [ doc = "\u{6700}\u{8fd1}\u{8be2}\u{4ef7}\u{65f6}\u{95f4}(SH)" ] pub last_enquiry_time : i64 , } # [ test ] fn bindgen_test_layout_XTPMarketDataOptionExData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPMarketDataOptionExData > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( XTPMarketDataOptionExData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPMarketDataOptionExData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPMarketDataOptionExData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataOptionExData > ( ) ) ) . auction_price as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataOptionExData ) , "::" , stringify ! ( auction_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataOptionExData > ( ) ) ) . auction_qty as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataOptionExData ) , "::" , stringify ! ( auction_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataOptionExData > ( ) ) ) . last_enquiry_time as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataOptionExData ) , "::" , stringify ! ( last_enquiry_time ) ) ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum XTP_MARKETDATA_TYPE { XTP_MARKETDATA_ACTUAL = 0 , XTP_MARKETDATA_OPTION = 1 , } # [ doc = "\u{884c}\u{60c5}" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPMarketDataStruct { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6700}\u{65b0}\u{4ef7}" ] pub last_price : f64 , # [ doc = "\u{6628}\u{6536}\u{76d8}" ] pub pre_close_price : f64 , # [ doc = "\u{4eca}\u{5f00}\u{76d8}" ] pub open_price : f64 , # [ doc = "\u{6700}\u{9ad8}\u{4ef7}" ] pub high_price : f64 , # [ doc = "\u{6700}\u{4f4e}\u{4ef7}" ] pub low_price : f64 , # [ doc = "\u{4eca}\u{6536}\u{76d8}" ] pub close_price : f64 , # [ doc = "\u{6628}\u{65e5}\u{6301}\u{4ed3}\u{91cf}(\u{5f20})(\u{76ee}\u{524d}\u{672a}\u{586b}\u{5199})" ] pub pre_total_long_positon : i64 , # [ doc = "\u{6301}\u{4ed3}\u{91cf}(\u{5f20})" ] pub total_long_positon : i64 , # [ doc = "\u{6628}\u{65e5}\u{7ed3}\u{7b97}\u{4ef7}" ] pub pre_settl_price : f64 , # [ doc = "\u{4eca}\u{65e5}\u{7ed3}\u{7b97}\u{4ef7}" ] pub settl_price : f64 , # [ doc = "\u{6da8}\u{505c}\u{4ef7}" ] pub upper_limit_price : f64 , # [ doc = "\u{8dcc}\u{505c}\u{4ef7}" ] pub lower_limit_price : f64 , # [ doc = "\u{9884}\u{7559}" ] pub pre_delta : f64 , # [ doc = "\u{9884}\u{7559}" ] pub curr_delta : f64 , # [ doc = " \u{65f6}\u{95f4}\u{7c7b}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub data_time : i64 , # [ doc = "\u{6570}\u{91cf}\u{ff0c}\u{4e3a}\u{603b}\u{6210}\u{4ea4}\u{91cf}\u{ff08}\u{5355}\u{4f4d}\u{80a1}\u{ff0c}\u{4e0e}\u{4ea4}\u{6613}\u{6240}\u{4e00}\u{81f4}\u{ff09}" ] pub qty : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff0c}\u{4e3a}\u{603b}\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff08}\u{5355}\u{4f4d}\u{5143}\u{ff0c}\u{4e0e}\u{4ea4}\u{6613}\u{6240}\u{4e00}\u{81f4}\u{ff09}" ] pub turnover : f64 , # [ doc = "\u{5f53}\u{65e5}\u{5747}\u{4ef7}=(turnover/qty)" ] pub avg_price : f64 , # [ doc = "\u{5341}\u{6863}\u{7533}\u{4e70}\u{4ef7}" ] pub bid : [ f64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{5356}\u{4ef7}" ] pub ask : [ f64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{4e70}\u{91cf}" ] pub bid_qty : [ i64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{5356}\u{91cf}" ] pub ask_qty : [ i64 ; 10usize ] , # [ doc = "\u{6210}\u{4ea4}\u{7b14}\u{6570}" ] pub trades_count : i64 , # [ doc = "\u{5f53}\u{524d}\u{4ea4}\u{6613}\u{72b6}\u{6001}\u{8bf4}\u{660e}" ] pub ticker_status : [ :: std :: os :: raw :: c_char ; 8usize ] , pub __bindgen_anon_1 : XTPMarketDataStruct__bindgen_ty_1 , # [ doc = "\u{51b3}\u{5b9a}\u{4e86}union\u{662f}\u{54ea}\u{79cd}\u{6570}\u{636e}\u{7c7b}\u{578b}" ] pub data_type : XTP_MARKETDATA_TYPE , # [ doc = "\u{9884}\u{7559}" ] pub r4 : i32 , } # [ doc = "\u{6570}\u{636e}" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union XTPMarketDataStruct__bindgen_ty_1 { pub stk : XTPMarketDataStockExData , pub opt : XTPMarketDataOptionExData , _bindgen_union_align : [ u64 ; 28usize ] , } # [ test ] fn bindgen_test_layout_XTPMarketDataStruct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPMarketDataStruct__bindgen_ty_1 > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( XTPMarketDataStruct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPMarketDataStruct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPMarketDataStruct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct__bindgen_ty_1 > ( ) ) ) . stk as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct__bindgen_ty_1 ) , "::" , stringify ! ( stk ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct__bindgen_ty_1 > ( ) ) ) . opt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct__bindgen_ty_1 ) , "::" , stringify ! ( opt ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPMarketDataStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPMarketDataStruct > ( ) , 736usize , concat ! ( "Size of: " , stringify ! ( XTPMarketDataStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPMarketDataStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPMarketDataStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . last_price as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( last_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . pre_close_price as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( pre_close_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . open_price as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( open_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . high_price as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( high_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . low_price as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( low_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . close_price as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( close_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . pre_total_long_positon as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( pre_total_long_positon ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . total_long_positon as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( total_long_positon ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . pre_settl_price as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( pre_settl_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . settl_price as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( settl_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . upper_limit_price as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( upper_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . lower_limit_price as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( lower_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . pre_delta as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( pre_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . curr_delta as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( curr_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . data_time as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( data_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . qty as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . turnover as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( turnover ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . avg_price as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( avg_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . bid as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( bid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . ask as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( ask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . bid_qty as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( bid_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . ask_qty as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( ask_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . trades_count as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( trades_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . ticker_status as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( ticker_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . data_type as * const _ as usize } , 728usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( data_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . r4 as * const _ as usize } , 732usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( r4 ) ) ) ; } # [ doc = "\u{884c}\u{60c5}" ] pub type XTPMD = XTPMarketDataStruct ; # [ doc = "\u{80a1}\u{7968}\u{884c}\u{60c5}\u{9759}\u{6001}\u{4fe1}\u{606f}" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQuoteStaticInfo { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = " \u{5408}\u{7ea6}\u{540d}\u{79f0}" ] pub ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = " \u{5408}\u{7ea6}\u{7c7b}\u{578b}" ] pub ticker_type : XTP_TICKER_TYPE , # [ doc = "\u{6628}\u{6536}\u{76d8}" ] pub pre_close_price : f64 , # [ doc = "\u{6da8}\u{505c}\u{677f}\u{4ef7}" ] pub upper_limit_price : f64 , # [ doc = "\u{8dcc}\u{505c}\u{677f}\u{4ef7}" ] pub lower_limit_price : f64 , # [ doc = "\u{6700}\u{5c0f}\u{53d8}\u{52a8}\u{4ef7}\u{4f4d}" ] pub price_tick : f64 , # [ doc = " \u{5408}\u{7ea6}\u{6700}\u{5c0f}\u{4ea4}\u{6613}\u{91cf}(\u{4e70})" ] pub buy_qty_unit : i32 , # [ doc = " \u{5408}\u{7ea6}\u{6700}\u{5c0f}\u{4ea4}\u{6613}\u{91cf}(\u{5356})" ] pub sell_qty_unit : i32 , } # [ test ] fn bindgen_test_layout_XTPQuoteStaticInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQuoteStaticInfo > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( XTPQuoteStaticInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQuoteStaticInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQuoteStaticInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . ticker_name as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . ticker_type as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( ticker_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . pre_close_price as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( pre_close_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . upper_limit_price as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( upper_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . lower_limit_price as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( lower_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . price_tick as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( price_tick ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . buy_qty_unit as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( buy_qty_unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . sell_qty_unit as * const _ as usize } , 124usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( sell_qty_unit ) ) ) ; } # [ doc = "\u{80a1}\u{7968}\u{884c}\u{60c5}\u{9759}\u{6001}\u{4fe1}\u{606f}" ] pub type XTPQSI = XTPQuoteStaticInfo ; # [ doc = "\u{5b9a}\u{5355}\u{8584}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct OrderBookStruct { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6700}\u{65b0}\u{4ef7}" ] pub last_price : f64 , # [ doc = "\u{6570}\u{91cf}\u{ff0c}\u{4e3a}\u{603b}\u{6210}\u{4ea4}\u{91cf}" ] pub qty : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff0c}\u{4e3a}\u{603b}\u{6210}\u{4ea4}\u{91d1}\u{989d}" ] pub turnover : f64 , # [ doc = "\u{6210}\u{4ea4}\u{7b14}\u{6570}" ] pub trades_count : i64 , # [ doc = "\u{5341}\u{6863}\u{7533}\u{4e70}\u{4ef7}" ] pub bid : [ f64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{5356}\u{4ef7}" ] pub ask : [ f64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{4e70}\u{91cf}" ] pub bid_qty : [ i64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{5356}\u{91cf}" ] pub ask_qty : [ i64 ; 10usize ] , # [ doc = " \u{65f6}\u{95f4}\u{7c7b}" ] pub data_time : i64 , } # [ test ] fn bindgen_test_layout_OrderBookStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OrderBookStruct > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( OrderBookStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OrderBookStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OrderBookStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . last_price as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( last_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . qty as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . turnover as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( turnover ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . trades_count as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( trades_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . bid as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( bid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . ask as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( ask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . bid_qty as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( bid_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . ask_qty as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( ask_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . data_time as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( data_time ) ) ) ; } # [ doc = "\u{5b9a}\u{5355}\u{8584}" ] pub type XTPOB = OrderBookStruct ; # [ doc = "\u{9010}\u{7b14}\u{59d4}\u{6258}(\u{4ec5}\u{9002}\u{7528}\u{6df1}\u{4ea4}\u{6240})" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPTickByTickEntrust { # [ doc = "\u{9891}\u{9053}\u{4ee3}\u{7801}" ] pub channel_no : i32 , # [ doc = "\u{59d4}\u{6258}\u{5e8f}\u{53f7}(\u{5728}\u{540c}\u{4e00}\u{4e2a}channel_no\u{5185}\u{552f}\u{4e00}\u{ff0c}\u{4ece}1\u{5f00}\u{59cb}\u{8fde}\u{7eed})" ] pub seq : i64 , # [ doc = "\u{59d4}\u{6258}\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{59d4}\u{6258}\u{6570}\u{91cf}" ] pub qty : i64 , # [ doc = "'1':\u{4e70}; '2':\u{5356}; 'G':\u{501f}\u{5165}; 'F':\u{51fa}\u{501f}" ] pub side : :: std :: os :: raw :: c_char , # [ doc = "\u{8ba2}\u{5355}\u{7c7b}\u{522b}: '1': \u{5e02}\u{4ef7}; '2': \u{9650}\u{4ef7}; 'U': \u{672c}\u{65b9}\u{6700}\u{4f18}" ] pub ord_type : :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_XTPTickByTickEntrust ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickByTickEntrust > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( XTPTickByTickEntrust ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickByTickEntrust > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickByTickEntrust ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . channel_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( channel_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . seq as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . price as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . qty as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . side as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( side ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . ord_type as * const _ as usize } , 33usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( ord_type ) ) ) ; } # [ doc = "\u{9010}\u{7b14}\u{6210}\u{4ea4}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPTickByTickTrade { # [ doc = "\u{9891}\u{9053}\u{4ee3}\u{7801}" ] pub channel_no : i32 , # [ doc = "\u{59d4}\u{6258}\u{5e8f}\u{53f7}(\u{5728}\u{540c}\u{4e00}\u{4e2a}channel_no\u{5185}\u{552f}\u{4e00}\u{ff0c}\u{4ece}1\u{5f00}\u{59cb}\u{8fde}\u{7eed})" ] pub seq : i64 , # [ doc = "\u{6210}\u{4ea4}\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{6210}\u{4ea4}\u{91cf}" ] pub qty : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}(\u{4ec5}\u{9002}\u{7528}\u{4e0a}\u{4ea4}\u{6240})" ] pub money : f64 , # [ doc = "\u{4e70}\u{65b9}\u{8ba2}\u{5355}\u{53f7}" ] pub bid_no : i64 , # [ doc = "\u{5356}\u{65b9}\u{8ba2}\u{5355}\u{53f7}" ] pub ask_no : i64 , # [ doc = " SH: \u{5185}\u{5916}\u{76d8}\u{6807}\u{8bc6}('B':\u{4e3b}\u{52a8}\u{4e70}; 'S':\u{4e3b}\u{52a8}\u{5356}; 'N':\u{672a}\u{77e5})" ] # [ doc = " SZ: \u{6210}\u{4ea4}\u{6807}\u{8bc6}('4':\u{64a4}; 'F':\u{6210}\u{4ea4})" ] pub trade_flag : :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_XTPTickByTickTrade ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickByTickTrade > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( XTPTickByTickTrade ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickByTickTrade > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickByTickTrade ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . channel_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( channel_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . seq as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . price as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . qty as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . money as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . bid_no as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( bid_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . ask_no as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( ask_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . trade_flag as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( trade_flag ) ) ) ; } # [ doc = "\u{9010}\u{7b14}\u{6570}\u{636e}\u{4fe1}\u{606f}" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPTickByTickStruct { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{9884}\u{7559}" ] pub seq : i64 , # [ doc = "\u{59d4}\u{6258}\u{65f6}\u{95f4} or \u{6210}\u{4ea4}\u{65f6}\u{95f4}" ] pub data_time : i64 , # [ doc = "\u{59d4}\u{6258} or \u{6210}\u{4ea4}" ] pub type_ : XTP_TBT_TYPE , pub __bindgen_anon_1 : XTPTickByTickStruct__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union XTPTickByTickStruct__bindgen_ty_1 { pub entrust : XTPTickByTickEntrust , pub trade : XTPTickByTickTrade , _bindgen_union_align : [ u64 ; 8usize ] , } # [ test ] fn bindgen_test_layout_XTPTickByTickStruct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickByTickStruct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( XTPTickByTickStruct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickByTickStruct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickByTickStruct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct__bindgen_ty_1 > ( ) ) ) . entrust as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct__bindgen_ty_1 ) , "::" , stringify ! ( entrust ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct__bindgen_ty_1 > ( ) ) ) . trade as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct__bindgen_ty_1 ) , "::" , stringify ! ( trade ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPTickByTickStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickByTickStruct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( XTPTickByTickStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickByTickStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickByTickStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . seq as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . data_time as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( data_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . type_ as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( type_ ) ) ) ; } # [ doc = "\u{9010}\u{7b14}\u{6570}\u{636e}\u{4fe1}\u{606f}" ] pub type XTPTBT = XTPTickByTickStruct ; # [ doc = "\u{4f9b}\u{67e5}\u{8be2}\u{7684}\u{6700}\u{65b0}\u{4fe1}\u{606f}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPTickerPriceInfo { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6700}\u{65b0}\u{4ef7}" ] pub last_price : f64 , } # [ test ] fn bindgen_test_layout_XTPTickerPriceInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickerPriceInfo > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPTickerPriceInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickerPriceInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickerPriceInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickerPriceInfo > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickerPriceInfo ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickerPriceInfo > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickerPriceInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickerPriceInfo > ( ) ) ) . last_price as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickerPriceInfo ) , "::" , stringify ! ( last_price ) ) ) ; } # [ doc = "\u{4f9b}\u{67e5}\u{8be2}\u{7684}\u{6700}\u{65b0}\u{4fe1}\u{606f}" ] pub type XTPTPI = XTPTickerPriceInfo ; # [ repr ( C ) ] # [ repr ( align ( 16 ) ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [ test ] fn bindgen_test_layout_max_align_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < max_align_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < max_align_t > ( ) , 16usize , concat ! ( "Alignment of " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce2 ) ) ) ; } # [ doc = "\u{65b0}\u{8ba2}\u{5355}\u{8bf7}\u{6c42}" ] # [ repr ( C ) ] pub struct XTPOrderInsertInfo { # [ doc = "XTP\u{7cfb}\u{7edf}\u{8ba2}\u{5355}ID\u{ff0c}\u{65e0}\u{9700}\u{7528}\u{6237}\u{586b}\u{5199}\u{ff0c}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{552f}\u{4e00}" ] pub order_xtp_id : u64 , # [ doc = "\u{62a5}\u{5355}\u{5f15}\u{7528}\u{ff0c}\u{7531}\u{5ba2}\u{6237}\u{81ea}\u{5b9a}\u{4e49}" ] pub order_client_id : u32 , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801} \u{5ba2}\u{6237}\u{7aef}\u{8bf7}\u{6c42}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{6b62}\u{635f}\u{4ef7}\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff09}" ] pub stop_price : f64 , # [ doc = "\u{6570}\u{91cf}(\u{80a1}\u{7968}\u{5355}\u{4f4d}\u{4e3a}\u{80a1}\u{ff0c}\u{9006}\u{56de}\u{8d2d}\u{5355}\u{4f4d}\u{4e3a}\u{5f20})" ] pub quantity : i64 , # [ doc = "\u{62a5}\u{5355}\u{4ef7}\u{683c}" ] pub price_type : XTP_PRICE_TYPE , pub __bindgen_anon_1 : XTPOrderInsertInfo__bindgen_ty_1 , # [ doc = "\u{4e1a}\u{52a1}\u{7c7b}\u{578b}" ] pub business_type : XTP_BUSINESS_TYPE , } # [ repr ( C ) ] pub struct XTPOrderInsertInfo__bindgen_ty_1 { pub u32 : __BindgenUnionField < u32 > , pub __bindgen_anon_1 : __BindgenUnionField < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > , pub bindgen_union_field : u32 , } # [ repr ( C ) ] pub struct XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 { # [ doc = "\u{4e70}\u{5356}\u{65b9}\u{5411}" ] pub side : XTP_SIDE_TYPE , # [ doc = "\u{5f00}\u{5e73}\u{6807}\u{5fd7}" ] pub position_effect : XTP_POSITION_EFFECT_TYPE , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}1" ] pub reserved1 : u8 , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}2" ] pub reserved2 : u8 , } # [ test ] fn bindgen_test_layout_XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . side as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( side ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . position_effect as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( position_effect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved1 as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved2 as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved2 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPOrderInsertInfo__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInsertInfo__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInsertInfo__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1 > ( ) ) ) . u32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1 ) , "::" , stringify ! ( u32 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPOrderInsertInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInsertInfo > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInsertInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInsertInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInsertInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . order_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . order_client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( order_client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . ticker as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . market as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . price as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . stop_price as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( stop_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . quantity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . price_type as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( price_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . business_type as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( business_type ) ) ) ; } # [ doc = "\u{64a4}\u{5355}\u{5931}\u{8d25}\u{54cd}\u{5e94}\u{6d88}\u{606f}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPOrderCancelInfo { # [ doc = "\u{64a4}\u{5355}XTPID" ] pub order_cancel_xtp_id : u64 , # [ doc = "\u{539f}\u{59cb}\u{8ba2}\u{5355}XTPID" ] pub order_xtp_id : u64 , } # [ test ] fn bindgen_test_layout_XTPOrderCancelInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderCancelInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( XTPOrderCancelInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderCancelInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderCancelInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderCancelInfo > ( ) ) ) . order_cancel_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderCancelInfo ) , "::" , stringify ! ( order_cancel_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderCancelInfo > ( ) ) ) . order_xtp_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderCancelInfo ) , "::" , stringify ! ( order_xtp_id ) ) ) ; } # [ doc = "\u{62a5}\u{5355}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ repr ( C ) ] pub struct XTPOrderInfo { # [ doc = "XTP\u{7cfb}\u{7edf}\u{8ba2}\u{5355}ID\u{ff0c}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{552f}\u{4e00}" ] pub order_xtp_id : u64 , # [ doc = "\u{62a5}\u{5355}\u{5f15}\u{7528}\u{ff0c}\u{7528}\u{6237}\u{81ea}\u{5b9a}\u{4e49}" ] pub order_client_id : u32 , # [ doc = "\u{62a5}\u{5355}\u{64cd}\u{4f5c}\u{5f15}\u{7528}\u{ff0c}\u{7528}\u{6237}\u{81ea}\u{5b9a}\u{4e49}\u{ff08}\u{6682}\u{672a}\u{4f7f}\u{7528}\u{ff09}" ] pub order_cancel_client_id : u32 , # [ doc = "\u{64a4}\u{5355}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{7684}id\u{ff0c}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{552f}\u{4e00}" ] pub order_cancel_xtp_id : u64 , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{6570}\u{91cf}\u{ff0c}\u{6b64}\u{8ba2}\u{5355}\u{7684}\u{62a5}\u{5355}\u{6570}\u{91cf}" ] pub quantity : i64 , # [ doc = "\u{62a5}\u{5355}\u{4ef7}\u{683c}\u{6761}\u{4ef6}" ] pub price_type : XTP_PRICE_TYPE , pub __bindgen_anon_1 : XTPOrderInfo__bindgen_ty_1 , # [ doc = "\u{4e1a}\u{52a1}\u{7c7b}\u{578b}" ] pub business_type : XTP_BUSINESS_TYPE , # [ doc = "\u{4eca}\u{6210}\u{4ea4}\u{6570}\u{91cf}\u{ff0c}\u{4e3a}\u{6b64}\u{8ba2}\u{5355}\u{7d2f}\u{8ba1}\u{6210}\u{4ea4}\u{6570}\u{91cf}" ] pub qty_traded : i64 , # [ doc = "\u{5269}\u{4f59}\u{6570}\u{91cf}\u{ff0c}\u{5f53}\u{64a4}\u{5355}\u{6210}\u{529f}\u{65f6}\u{ff0c}\u{8868}\u{793a}\u{64a4}\u{5355}\u{6570}\u{91cf}" ] pub qty_left : i64 , # [ doc = "\u{59d4}\u{6258}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub insert_time : i64 , # [ doc = "\u{6700}\u{540e}\u{4fee}\u{6539}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub update_time : i64 , # [ doc = "\u{64a4}\u{9500}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub cancel_time : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff0c}\u{4e3a}\u{6b64}\u{8ba2}\u{5355}\u{7684}\u{6210}\u{4ea4}\u{603b}\u{91d1}\u{989d}" ] pub trade_amount : f64 , # [ doc = "\u{672c}\u{5730}\u{62a5}\u{5355}\u{7f16}\u{53f7} OMS\u{751f}\u{6210}\u{7684}\u{5355}\u{53f7}\u{ff0c}\u{4e0d}\u{7b49}\u{540c}\u{4e8e}order_xtp_id\u{ff0c}\u{4e3a}\u{670d}\u{52a1}\u{5668}\u{4f20}\u{5230}\u{62a5}\u{76d8}\u{7684}\u{5355}\u{53f7}" ] pub order_local_id : [ :: std :: os :: raw :: c_char ; 11usize ] , # [ doc = "\u{62a5}\u{5355}\u{72b6}\u{6001}\u{ff0c}\u{8ba2}\u{5355}\u{54cd}\u{5e94}\u{4e2d}\u{6ca1}\u{6709}\u{90e8}\u{5206}\u{6210}\u{4ea4}\u{72b6}\u{6001}\u{7684}\u{63a8}\u{9001}\u{ff0c}\u{5728}\u{67e5}\u{8be2}\u{8ba2}\u{5355}\u{7ed3}\u{679c}\u{4e2d}\u{ff0c}\u{4f1a}\u{6709}\u{90e8}\u{5206}\u{6210}\u{4ea4}\u{72b6}\u{6001}" ] pub order_status : XTP_ORDER_STATUS_TYPE , # [ doc = "\u{62a5}\u{5355}\u{63d0}\u{4ea4}\u{72b6}\u{6001}\u{ff0c}OMS\u{5185}\u{90e8}\u{4f7f}\u{7528}\u{ff0c}\u{7528}\u{6237}\u{65e0}\u{9700}\u{5173}\u{5fc3}" ] pub order_submit_status : XTP_ORDER_SUBMIT_STATUS_TYPE , # [ doc = "\u{62a5}\u{5355}\u{7c7b}\u{578b}" ] pub order_type : TXTPOrderTypeType , } # [ repr ( C ) ] pub struct XTPOrderInfo__bindgen_ty_1 { pub u32 : __BindgenUnionField < u32 > , pub __bindgen_anon_1 : __BindgenUnionField < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > , pub bindgen_union_field : u32 , } # [ repr ( C ) ] pub struct XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 { # [ doc = "\u{4e70}\u{5356}\u{65b9}\u{5411}" ] pub side : XTP_SIDE_TYPE , # [ doc = "\u{5f00}\u{5e73}\u{6807}\u{5fd7}" ] pub position_effect : XTP_POSITION_EFFECT_TYPE , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}1" ] pub reserved1 : u8 , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}2" ] pub reserved2 : u8 , } # [ test ] fn bindgen_test_layout_XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . side as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( side ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . position_effect as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( position_effect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved1 as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved2 as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved2 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPOrderInfo__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInfo__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInfo__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInfo__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInfo__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1 > ( ) ) ) . u32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1 ) , "::" , stringify ! ( u32 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPOrderInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInfo > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_cancel_client_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_cancel_client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_cancel_xtp_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_cancel_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . ticker as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . market as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . price as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . quantity as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . price_type as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( price_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . business_type as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( business_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . qty_traded as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( qty_traded ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . qty_left as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( qty_left ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . insert_time as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( insert_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . update_time as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( update_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . cancel_time as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( cancel_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . trade_amount as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( trade_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_local_id as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_local_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_status as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_submit_status as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_submit_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_type as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_type ) ) ) ; } # [ doc = "\u{62a5}\u{5355}\u{6210}\u{4ea4}\u{7ed3}\u{6784}\u{4f53}" ] # [ repr ( C ) ] pub struct XTPTradeReport { # [ doc = "XTP\u{7cfb}\u{7edf}\u{8ba2}\u{5355}ID\u{ff0c}\u{6b64}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{76f8}\u{5173}\u{7684}\u{8ba2}\u{5355}ID\u{ff0c}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{552f}\u{4e00}" ] pub order_xtp_id : u64 , # [ doc = "\u{62a5}\u{5355}\u{5f15}\u{7528}" ] pub order_client_id : u32 , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{8ba2}\u{5355}\u{53f7}\u{ff0c}\u{5f15}\u{5165}XTPID\u{540e}\u{ff0c}\u{8be5}\u{5b57}\u{6bb5}\u{5b9e}\u{9645}\u{548c}order_xtp_id\u{91cd}\u{590d}\u{3002}\u{63a5}\u{53e3}\u{4e2d}\u{6682}\u{65f6}\u{4fdd}\u{7559}\u{3002}" ] pub local_order_id : u64 , # [ doc = "\u{6210}\u{4ea4}\u{7f16}\u{53f7}\u{ff0c}\u{6df1}\u{4ea4}\u{6240}\u{552f}\u{4e00}\u{ff0c}\u{4e0a}\u{4ea4}\u{6240}\u{6bcf}\u{7b14}\u{4ea4}\u{6613}\u{552f}\u{4e00}\u{ff0c}\u{5f53}\u{53d1}\u{73b0}2\u{7b14}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{62e5}\u{6709}\u{76f8}\u{540c}\u{7684}exec_id\u{ff0c}\u{5219}\u{53ef}\u{4ee5}\u{8ba4}\u{4e3a}\u{6b64}\u{7b14}\u{4ea4}\u{6613}\u{81ea}\u{6210}\u{4ea4}" ] pub exec_id : [ :: std :: os :: raw :: c_char ; 18usize ] , # [ doc = "\u{4ef7}\u{683c}\u{ff0c}\u{6b64}\u{6b21}\u{6210}\u{4ea4}\u{7684}\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{6570}\u{91cf}\u{ff0c}\u{6b64}\u{6b21}\u{6210}\u{4ea4}\u{7684}\u{6570}\u{91cf}\u{ff0c}\u{4e0d}\u{662f}\u{7d2f}\u{8ba1}\u{6570}\u{91cf}" ] pub quantity : i64 , # [ doc = "\u{6210}\u{4ea4}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub trade_time : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff0c}\u{6b64}\u{6b21}\u{6210}\u{4ea4}\u{7684}\u{603b}\u{91d1}\u{989d} = price*quantity" ] pub trade_amount : f64 , # [ doc = "\u{6210}\u{4ea4}\u{5e8f}\u{53f7} --\u{56de}\u{62a5}\u{8bb0}\u{5f55}\u{53f7}\u{ff0c}\u{6bcf}\u{4e2a}\u{4ea4}\u{6613}\u{6240}\u{552f}\u{4e00},report_index+market\u{5b57}\u{6bb5}\u{53ef}\u{4ee5}\u{7ec4}\u{6210}\u{552f}\u{4e00}\u{6807}\u{8bc6}\u{8868}\u{793a}\u{6210}\u{4ea4}\u{56de}\u{62a5}" ] pub report_index : u64 , # [ doc = "\u{62a5}\u{5355}\u{7f16}\u{53f7} --\u{4ea4}\u{6613}\u{6240}\u{5355}\u{53f7}\u{ff0c}\u{4e0a}\u{4ea4}\u{6240}\u{4e3a}\u{7a7a}\u{ff0c}\u{6df1}\u{4ea4}\u{6240}\u{6709}\u{6b64}\u{5b57}\u{6bb5}" ] pub order_exch_id : [ :: std :: os :: raw :: c_char ; 17usize ] , # [ doc = "\u{6210}\u{4ea4}\u{7c7b}\u{578b} --\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{4e2d}\u{7684}\u{6267}\u{884c}\u{7c7b}\u{578b}" ] pub trade_type : TXTPTradeTypeType , pub __bindgen_anon_1 : XTPTradeReport__bindgen_ty_1 , # [ doc = "\u{4e1a}\u{52a1}\u{7c7b}\u{578b}" ] pub business_type : XTP_BUSINESS_TYPE , # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ea4}\u{6613}\u{5458}\u{4ee3}\u{7801}" ] pub branch_pbu : [ :: std :: os :: raw :: c_char ; 7usize ] , } # [ repr ( C ) ] pub struct XTPTradeReport__bindgen_ty_1 { pub u32 : __BindgenUnionField < u32 > , pub __bindgen_anon_1 : __BindgenUnionField < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > , pub bindgen_union_field : u32 , } # [ repr ( C ) ] pub struct XTPTradeReport__bindgen_ty_1__bindgen_ty_1 { # [ doc = "\u{4e70}\u{5356}\u{65b9}\u{5411}" ] pub side : XTP_SIDE_TYPE , # [ doc = "\u{5f00}\u{5e73}\u{6807}\u{5fd7}" ] pub position_effect : XTP_POSITION_EFFECT_TYPE , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}1" ] pub reserved1 : u8 , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}2" ] pub reserved2 : u8 , } # [ test ] fn bindgen_test_layout_XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . side as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( side ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . position_effect as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( position_effect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved1 as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved2 as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved2 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPTradeReport__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTradeReport__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPTradeReport__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTradeReport__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPTradeReport__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1 > ( ) ) ) . u32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1 ) , "::" , stringify ! ( u32 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPTradeReport ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTradeReport > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( XTPTradeReport ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTradeReport > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTradeReport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . order_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . order_client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( order_client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . ticker as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . market as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . local_order_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( local_order_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . exec_id as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( exec_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . price as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . quantity as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . trade_time as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( trade_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . trade_amount as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( trade_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . report_index as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( report_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . order_exch_id as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( order_exch_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . trade_type as * const _ as usize } , 121usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( trade_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . business_type as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( business_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . branch_pbu as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( branch_pbu ) ) ) ; } # [ doc = "" ] # [ doc = "\u{62a5}\u{5355}\u{67e5}\u{8be2}" ] # [ doc = "" ] # [ doc = "\u{62a5}\u{5355}\u{67e5}\u{8be2}\u{8bf7}\u{6c42}-\u{6761}\u{4ef6}\u{67e5}\u{8be2}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryOrderReq { # [ doc = "\u{8bc1}\u{5238}\u{4ee3}\u{7801}\u{ff0c}\u{53ef}\u{4ee5}\u{4e3a}\u{7a7a}\u{ff0c}\u{5982}\u{679c}\u{4e3a}\u{7a7a}\u{ff0c}\u{5219}\u{9ed8}\u{8ba4}\u{67e5}\u{8be2}\u{65f6}\u{95f4}\u{6bb5}\u{5185}\u{7684}\u{6240}\u{6709}\u{6210}\u{4ea4}\u{56de}\u{62a5}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss\u{ff0c}\u{4e3a}0\u{5219}\u{9ed8}\u{8ba4}\u{5f53}\u{524d}\u{4ea4}\u{6613}\u{65e5}0\u{70b9}" ] pub begin_time : i64 , # [ doc = "\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss\u{ff0c}\u{4e3a}0\u{5219}\u{9ed8}\u{8ba4}\u{5f53}\u{524d}\u{65f6}\u{95f4}" ] pub end_time : i64 , } # [ test ] fn bindgen_test_layout_XTPQueryOrderReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryOrderReq > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPQueryOrderReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryOrderReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryOrderReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderReq > ( ) ) ) . ticker as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderReq ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderReq > ( ) ) ) . begin_time as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderReq ) , "::" , stringify ! ( begin_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderReq > ( ) ) ) . end_time as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderReq ) , "::" , stringify ! ( end_time ) ) ) ; } # [ doc = "\u{62a5}\u{5355}\u{67e5}\u{8be2}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] pub type XTPQueryOrderRsp = XTPOrderInfo ; # [ doc = "\u{67e5}\u{8be2}\u{8ba2}\u{5355}\u{8bf7}\u{6c42}-\u{5206}\u{9875}\u{67e5}\u{8be2}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryOrderByPageReq { # [ doc = "\u{9700}\u{8981}\u{67e5}\u{8be2}\u{7684}\u{8ba2}\u{5355}\u{6761}\u{6570}" ] pub req_count : i64 , # [ doc = "\u{4e0a}\u{4e00}\u{6b21}\u{6536}\u{5230}\u{7684}\u{67e5}\u{8be2}\u{8ba2}\u{5355}\u{7ed3}\u{679c}\u{4e2d}\u{5e26}\u{56de}\u{6765}\u{7684}\u{7d22}\u{5f15}\u{ff0c}\u{5982}\u{679c}\u{662f}\u{4ece}\u{5934}\u{67e5}\u{8be2}\u{ff0c}\u{8bf7}\u{7f6e}0" ] pub reference : i64 , # [ doc = "\u{4fdd}\u{7559}\u{5b57}\u{6bb5}" ] pub reserved : i64 , } # [ test ] fn bindgen_test_layout_XTPQueryOrderByPageReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryOrderByPageReq > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( XTPQueryOrderByPageReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryOrderByPageReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryOrderByPageReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderByPageReq > ( ) ) ) . req_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderByPageReq ) , "::" , stringify ! ( req_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderByPageReq > ( ) ) ) . reference as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderByPageReq ) , "::" , stringify ! ( reference ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderByPageReq > ( ) ) ) . reserved as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderByPageReq ) , "::" , stringify ! ( reserved ) ) ) ; } # [ doc = "" ] # [ doc = "\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{67e5}\u{8be2}" ] # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{6210}\u{4ea4}\u{62a5}\u{544a}\u{8bf7}\u{6c42}-\u{6839}\u{636e}\u{6267}\u{884c}\u{7f16}\u{53f7}\u{67e5}\u{8be2}\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff09}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryReportByExecIdReq { # [ doc = "XTP\u{8ba2}\u{5355}\u{7cfb}\u{7edf}ID" ] pub order_xtp_id : u64 , # [ doc = "\u{6210}\u{4ea4}\u{6267}\u{884c}\u{7f16}\u{53f7}" ] pub exec_id : [ :: std :: os :: raw :: c_char ; 18usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryReportByExecIdReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryReportByExecIdReq > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPQueryReportByExecIdReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryReportByExecIdReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryReportByExecIdReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryReportByExecIdReq > ( ) ) ) . order_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryReportByExecIdReq ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryReportByExecIdReq > ( ) ) ) . exec_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryReportByExecIdReq ) , "::" , stringify ! ( exec_id ) ) ) ; } # [ doc = "\u{67e5}\u{8be2}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{8bf7}\u{6c42}-\u{67e5}\u{8be2}\u{6761}\u{4ef6}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryTraderReq { # [ doc = "\u{8bc1}\u{5238}\u{4ee3}\u{7801}\u{ff0c}\u{53ef}\u{4ee5}\u{4e3a}\u{7a7a}\u{ff0c}\u{5982}\u{679c}\u{4e3a}\u{7a7a}\u{ff0c}\u{5219}\u{9ed8}\u{8ba4}\u{67e5}\u{8be2}\u{65f6}\u{95f4}\u{6bb5}\u{5185}\u{7684}\u{6240}\u{6709}\u{6210}\u{4ea4}\u{56de}\u{62a5}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{5f00}\u{59cb}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss\u{ff0c}\u{4e3a}0\u{5219}\u{9ed8}\u{8ba4}\u{5f53}\u{524d}\u{4ea4}\u{6613}\u{65e5}0\u{70b9}" ] pub begin_time : i64 , # [ doc = "\u{7ed3}\u{675f}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss\u{ff0c}\u{4e3a}0\u{5219}\u{9ed8}\u{8ba4}\u{5f53}\u{524d}\u{65f6}\u{95f4}" ] pub end_time : i64 , } # [ test ] fn bindgen_test_layout_XTPQueryTraderReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryTraderReq > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPQueryTraderReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryTraderReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryTraderReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderReq > ( ) ) ) . ticker as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderReq ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderReq > ( ) ) ) . begin_time as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderReq ) , "::" , stringify ! ( begin_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderReq > ( ) ) ) . end_time as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderReq ) , "::" , stringify ! ( end_time ) ) ) ; } # [ doc = "\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{67e5}\u{8be2}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] pub type XTPQueryTradeRsp = XTPTradeReport ; # [ doc = "\u{67e5}\u{8be2}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{8bf7}\u{6c42}-\u{5206}\u{9875}\u{67e5}\u{8be2}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryTraderByPageReq { # [ doc = "\u{9700}\u{8981}\u{67e5}\u{8be2}\u{7684}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{6761}\u{6570}" ] pub req_count : i64 , # [ doc = "\u{4e0a}\u{4e00}\u{6b21}\u{6536}\u{5230}\u{7684}\u{67e5}\u{8be2}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{7ed3}\u{679c}\u{4e2d}\u{5e26}\u{56de}\u{6765}\u{7684}\u{7d22}\u{5f15}\u{ff0c}\u{5982}\u{679c}\u{662f}\u{4ece}\u{5934}\u{67e5}\u{8be2}\u{ff0c}\u{8bf7}\u{7f6e}0" ] pub reference : i64 , # [ doc = "\u{4fdd}\u{7559}\u{5b57}\u{6bb5}" ] pub reserved : i64 , } # [ test ] fn bindgen_test_layout_XTPQueryTraderByPageReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryTraderByPageReq > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( XTPQueryTraderByPageReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryTraderByPageReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryTraderByPageReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderByPageReq > ( ) ) ) . req_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderByPageReq ) , "::" , stringify ! ( req_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderByPageReq > ( ) ) ) . reference as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderByPageReq ) , "::" , stringify ! ( reference ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderByPageReq > ( ) ) ) . reserved as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderByPageReq ) , "::" , stringify ! ( reserved ) ) ) ; } # [ doc = "" ] # [ doc = "\u{8d26}\u{6237}\u{8d44}\u{91d1}\u{67e5}\u{8be2}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryAssetRsp { # [ doc = "\u{603b}\u{8d44}\u{4ea7}(=\u{53ef}\u{7528}\u{8d44}\u{91d1} + \u{8bc1}\u{5238}\u{8d44}\u{4ea7}\u{ff08}\u{76ee}\u{524d}\u{4e3a}0\u{ff09}+ \u{9884}\u{6263}\u{7684}\u{8d44}\u{91d1})" ] pub total_asset : f64 , # [ doc = "\u{53ef}\u{7528}\u{8d44}\u{91d1}" ] pub buying_power : f64 , # [ doc = "\u{8bc1}\u{5238}\u{8d44}\u{4ea7}\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff0c}\u{76ee}\u{524d}\u{4e3a}0\u{ff09}" ] pub security_asset : f64 , # [ doc = "\u{7d2f}\u{8ba1}\u{4e70}\u{5165}\u{6210}\u{4ea4}\u{8bc1}\u{5238}\u{5360}\u{7528}\u{8d44}\u{91d1}" ] pub fund_buy_amount : f64 , # [ doc = "\u{7d2f}\u{8ba1}\u{4e70}\u{5165}\u{6210}\u{4ea4}\u{4ea4}\u{6613}\u{8d39}\u{7528}" ] pub fund_buy_fee : f64 , # [ doc = "\u{7d2f}\u{8ba1}\u{5356}\u{51fa}\u{6210}\u{4ea4}\u{8bc1}\u{5238}\u{6240}\u{5f97}\u{8d44}\u{91d1}" ] pub fund_sell_amount : f64 , # [ doc = "\u{7d2f}\u{8ba1}\u{5356}\u{51fa}\u{6210}\u{4ea4}\u{4ea4}\u{6613}\u{8d39}\u{7528}" ] pub fund_sell_fee : f64 , # [ doc = "XTP\u{7cfb}\u{7edf}\u{9884}\u{6263}\u{7684}\u{8d44}\u{91d1}\u{ff08}\u{5305}\u{62ec}\u{8d2d}\u{4e70}\u{5356}\u{80a1}\u{7968}\u{65f6}\u{9884}\u{6263}\u{7684}\u{4ea4}\u{6613}\u{8d44}\u{91d1}+\u{9884}\u{6263}\u{624b}\u{7eed}\u{8d39}\u{ff09}" ] pub withholding_amount : f64 , # [ doc = "\u{8d26}\u{6237}\u{7c7b}\u{578b}" ] pub account_type : XTP_ACCOUNT_TYPE , # [ doc = "\u{51bb}\u{7ed3}\u{7684}\u{4fdd}\u{8bc1}\u{91d1}" ] pub frozen_margin : f64 , # [ doc = "\u{884c}\u{6743}\u{51bb}\u{7ed3}\u{8d44}\u{91d1}" ] pub frozen_exec_cash : f64 , # [ doc = "\u{884c}\u{6743}\u{8d39}\u{7528}" ] pub frozen_exec_fee : f64 , # [ doc = "\u{57ab}\u{4ed8}\u{8d44}\u{91d1}" ] pub pay_later : f64 , # [ doc = "\u{9884}\u{57ab}\u{4ed8}\u{8d44}\u{91d1}" ] pub preadva_pay : f64 , # [ doc = "\u{6628}\u{65e5}\u{4f59}\u{989d}" ] pub orig_banlance : f64 , # [ doc = "\u{5f53}\u{524d}\u{4f59}\u{989d}" ] pub banlance : f64 , # [ doc = "\u{5f53}\u{5929}\u{51fa}\u{5165}\u{91d1}" ] pub deposit_withdraw : f64 , # [ doc = "\u{5f53}\u{65e5}\u{4ea4}\u{6613}\u{8d44}\u{91d1}\u{8f67}\u{5dee}" ] pub trade_netting : f64 , # [ doc = "\u{8d44}\u{91d1}\u{8d44}\u{4ea7}" ] pub captial_asset : f64 , # [ doc = "\u{5f3a}\u{9501}\u{8d44}\u{91d1}" ] pub force_freeze_amount : f64 , # [ doc = "\u{53ef}\u{53d6}\u{8d44}\u{91d1}" ] pub preferred_amount : f64 , pub repay_stock_aval_banlance : f64 , # [ doc = "(\u{4fdd}\u{7559}\u{5b57}\u{6bb5})" ] pub unknown : [ u64 ; 30usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryAssetRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryAssetRsp > ( ) , 416usize , concat ! ( "Size of: " , stringify ! ( XTPQueryAssetRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryAssetRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryAssetRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . total_asset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( total_asset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . buying_power as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( buying_power ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . security_asset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( security_asset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . fund_buy_amount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( fund_buy_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . fund_buy_fee as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( fund_buy_fee ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . fund_sell_amount as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( fund_sell_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . fund_sell_fee as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( fund_sell_fee ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . withholding_amount as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( withholding_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . account_type as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( account_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . frozen_margin as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( frozen_margin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . frozen_exec_cash as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( frozen_exec_cash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . frozen_exec_fee as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( frozen_exec_fee ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . pay_later as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( pay_later ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . preadva_pay as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( preadva_pay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . orig_banlance as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( orig_banlance ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . banlance as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( banlance ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . deposit_withdraw as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( deposit_withdraw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . trade_netting as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( trade_netting ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . captial_asset as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( captial_asset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . force_freeze_amount as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( force_freeze_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . preferred_amount as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( preferred_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . repay_stock_aval_banlance as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( repay_stock_aval_banlance ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . unknown as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( unknown ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}\u{6301}\u{4ed3}\u{60c5}\u{51b5}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQueryStkPositionRsp { # [ doc = "\u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{8bc1}\u{5238}\u{540d}\u{79f0}" ] pub ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{603b}\u{6301}\u{4ed3}" ] pub total_qty : i64 , # [ doc = "\u{53ef}\u{5356}\u{6301}\u{4ed3}" ] pub sellable_qty : i64 , # [ doc = "\u{6301}\u{4ed3}\u{6210}\u{672c}" ] pub avg_price : f64 , # [ doc = "\u{6d6e}\u{52a8}\u{76c8}\u{4e8f}\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff09}" ] pub unrealized_pnl : f64 , # [ doc = "\u{6628}\u{65e5}\u{6301}\u{4ed3}" ] pub yesterday_position : i64 , # [ doc = "\u{4eca}\u{65e5}\u{7533}\u{8d2d}\u{8d4e}\u{56de}\u{6570}\u{91cf}\u{ff08}\u{7533}\u{8d2d}\u{548c}\u{8d4e}\u{56de}\u{6570}\u{91cf}\u{4e0d}\u{53ef}\u{80fd}\u{540c}\u{65f6}\u{5b58}\u{5728}\u{ff0c}\u{56e0}\u{6b64}\u{53ef}\u{4ee5}\u{5171}\u{7528}\u{4e00}\u{4e2a}\u{5b57}\u{6bb5}\u{ff09}" ] pub purchase_redeemable_qty : i64 , # [ doc = " \u{6301}\u{4ed3}\u{65b9}\u{5411}" ] pub position_direction : XTP_POSITION_DIRECTION_TYPE , # [ doc = "\u{4fdd}\u{7559}\u{5b57}\u{6bb5}1" ] pub reserved1 : u32 , # [ doc = " \u{53ef}\u{884c}\u{6743}\u{5408}\u{7ea6}" ] pub executable_option : i64 , # [ doc = " \u{53ef}\u{9501}\u{5b9a}\u{6807}\u{7684}" ] pub lockable_position : i64 , # [ doc = " \u{53ef}\u{884c}\u{6743}\u{6807}\u{7684}" ] pub executable_underlying : i64 , # [ doc = " \u{5df2}\u{9501}\u{5b9a}\u{6807}\u{7684}" ] pub locked_position : i64 , # [ doc = " \u{53ef}\u{7528}\u{5df2}\u{9501}\u{5b9a}\u{6807}\u{7684}" ] pub usable_locked_position : i64 , # [ doc = "(\u{4fdd}\u{7559}\u{5b57}\u{6bb5})" ] pub unknown : [ u64 ; 44usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryStkPositionRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryStkPositionRsp > ( ) , 536usize , concat ! ( "Size of: " , stringify ! ( XTPQueryStkPositionRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryStkPositionRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryStkPositionRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . ticker as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . ticker_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . market as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . total_qty as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( total_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . sellable_qty as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( sellable_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . avg_price as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( avg_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . unrealized_pnl as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( unrealized_pnl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . yesterday_position as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( yesterday_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . purchase_redeemable_qty as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( purchase_redeemable_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . position_direction as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( position_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . reserved1 as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . executable_option as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( executable_option ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . lockable_position as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( lockable_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . executable_underlying as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( executable_underlying ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . locked_position as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( locked_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . usable_locked_position as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( usable_locked_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . unknown as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( unknown ) ) ) ; } # [ doc = "" ] # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{6d41}\u{6c34}\u{901a}\u{77e5}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPFundTransferNotice { # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{7f16}\u{53f7}" ] pub serial_id : u64 , # [ doc = "\u{5185}\u{8f6c}\u{7c7b}\u{578b}" ] pub transfer_type : XTP_FUND_TRANSFER_TYPE , # [ doc = "\u{91d1}\u{989d}" ] pub amount : f64 , # [ doc = "\u{64cd}\u{4f5c}\u{7ed3}\u{679c}" ] pub oper_status : XTP_FUND_OPER_STATUS , # [ doc = "\u{64cd}\u{4f5c}\u{65f6}\u{95f4}" ] pub transfer_time : u64 , } # [ test ] fn bindgen_test_layout_XTPFundTransferNotice ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPFundTransferNotice > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( XTPFundTransferNotice ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPFundTransferNotice > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPFundTransferNotice ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . serial_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( serial_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . transfer_type as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( transfer_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . amount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . oper_status as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( oper_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . transfer_time as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( transfer_time ) ) ) ; } # [ doc = "" ] # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{6d41}\u{6c34}\u{67e5}\u{8be2}\u{8bf7}\u{6c42}\u{4e0e}\u{54cd}\u{5e94}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryFundTransferLogReq { # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{7f16}\u{53f7}" ] pub serial_id : u64 , } # [ test ] fn bindgen_test_layout_XTPQueryFundTransferLogReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryFundTransferLogReq > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTPQueryFundTransferLogReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryFundTransferLogReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryFundTransferLogReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryFundTransferLogReq > ( ) ) ) . serial_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryFundTransferLogReq ) , "::" , stringify ! ( serial_id ) ) ) ; } # [ doc = "" ] # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{6d41}\u{6c34}\u{8bb0}\u{5f55}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] pub type XTPFundTransferLog = XTPFundTransferNotice ; # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{4fe1}\u{606f}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryStructuredFundInfoReq { # [ doc = "<\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}\u{ff0c}\u{4e0d}\u{53ef}\u{4e3a}\u{7a7a}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{6bcd}\u{57fa}\u{91d1}\u{4ee3}\u{7801}\u{ff0c}\u{53ef}\u{4ee5}\u{4e3a}\u{7a7a}\u{ff0c}\u{5982}\u{679c}\u{4e3a}\u{7a7a}\u{ff0c}\u{5219}\u{9ed8}\u{8ba4}\u{67e5}\u{8be2}\u{6240}\u{6709}\u{7684}\u{5206}\u{7ea7}\u{57fa}\u{91d1}" ] pub sf_ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryStructuredFundInfoReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryStructuredFundInfoReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPQueryStructuredFundInfoReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryStructuredFundInfoReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryStructuredFundInfoReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStructuredFundInfoReq > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStructuredFundInfoReq ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStructuredFundInfoReq > ( ) ) ) . sf_ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStructuredFundInfoReq ) , "::" , stringify ! ( sf_ticker ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{4fe1}\u{606f}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPStructuredFundInfo { # [ doc = "<\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{6bcd}\u{57fa}\u{91d1}\u{4ee3}\u{7801}" ] pub sf_ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{6bcd}\u{57fa}\u{91d1}\u{540d}\u{79f0}" ] pub sf_ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{5b50}\u{57fa}\u{91d1}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{5b50}\u{57fa}\u{91d1}\u{540d}\u{79f0}" ] pub ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "<\u{57fa}\u{91d1}\u{5141}\u{8bb8}\u{62c6}\u{5206}\u{5408}\u{5e76}\u{72b6}\u{6001}" ] pub split_merge_status : XTP_SPLIT_MERGE_STATUS , # [ doc = "<\u{62c6}\u{5206}\u{5408}\u{5e76}\u{6bd4}\u{4f8b}" ] pub ratio : u32 , # [ doc = "<\u{6700}\u{5c0f}\u{62c6}\u{5206}\u{6570}\u{91cf}" ] pub min_split_qty : u32 , # [ doc = "<\u{6700}\u{5c0f}\u{5408}\u{5e76}\u{6570}\u{91cf}" ] pub min_merge_qty : u32 , # [ doc = "<\u{57fa}\u{91d1}\u{51c0}\u{503c}" ] pub net_price : f64 , } # [ test ] fn bindgen_test_layout_XTPStructuredFundInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPStructuredFundInfo > ( ) , 192usize , concat ! ( "Size of: " , stringify ! ( XTPStructuredFundInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPStructuredFundInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPStructuredFundInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . sf_ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( sf_ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . sf_ticker_name as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( sf_ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . ticker as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . ticker_name as * const _ as usize } , 100usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . split_merge_status as * const _ as usize } , 164usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( split_merge_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . ratio as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . min_split_qty as * const _ as usize } , 172usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( min_split_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . min_merge_qty as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( min_merge_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . net_price as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( net_price ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}ETF\u{5408}\u{7ea6}\u{57fa}\u{672c}\u{60c5}\u{51b5}--\u{8bf7}\u{6c42}\u{7ed3}\u{6784}\u{4f53}," ] # [ doc = "\u{8bf7}\u{6c42}\u{53c2}\u{6570}\u{4e3a}\u{591a}\u{6761}\u{4ef6}\u{53c2}\u{6570}:1,\u{4e0d}\u{586b}\u{5219}\u{8fd4}\u{56de}\u{6240}\u{6709}\u{5e02}\u{573a}\u{7684}ETF\u{5408}\u{7ea6}\u{4fe1}\u{606f}\u{3002}" ] # [ doc = " 2,\u{53ea}\u{586b}\u{5199}market,\u{8fd4}\u{56de}\u{8be5}\u{4ea4}\u{6613}\u{5e02}\u{573a}\u{4e0b}\u{7ed3}\u{679c}" ] # [ doc = " 3,\u{586b}\u{5199}market\u{53ca}ticker\u{53c2}\u{6570},\u{53ea}\u{8fd4}\u{56de}\u{8be5}etf\u{4fe1}\u{606f}\u{3002}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryETFBaseReq { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "ETF\u{4e70}\u{5356}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryETFBaseReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryETFBaseReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPQueryETFBaseReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryETFBaseReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryETFBaseReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}ETF\u{5408}\u{7ea6}\u{57fa}\u{672c}\u{60c5}\u{51b5}--\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryETFBaseRsp { # [ doc = "<\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = " ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( XTPQueryETFBaseRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryETFBaseRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryETFBaseRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . etf as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( etf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . subscribe_redemption_ticker as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( subscribe_redemption_ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . unit as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . subscribe_status as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( subscribe_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . redemption_status as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( redemption_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . max_cash_ratio as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( max_cash_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . estimate_amount as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( estimate_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . cash_component as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( cash_component ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . net_value as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( net_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . total_amount as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( total_amount ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}ETF\u{5408}\u{7ea6}\u{6210}\u{5206}\u{80a1}\u{4fe1}\u{606f}--\u{8bf7}\u{6c42}\u{7ed3}\u{6784}\u{4f53},\u{8bf7}\u{6c42}\u{53c2}\u{6570}\u{4e3a}:\u{4ea4}\u{6613}\u{5e02}\u{573a}+ETF\u{4e70}\u{5356}\u{4ee3}\u{7801}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryETFComponentReq { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "ETF\u{4e70}\u{5356}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryETFComponentReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryETFComponentReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPQueryETFComponentReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryETFComponentReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryETFComponentReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}ETF\u{5408}\u{7ea6}\u{6210}\u{5206}\u{80a1}\u{4fe1}\u{606f}--\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQueryETFComponentRsp { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "ETF\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{4ee3}\u{7801}" ] pub component_ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{540d}\u{79f0}" ] pub component_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{6570}\u{91cf}" ] pub quantity : i64 , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub component_market : XTP_MARKET_TYPE , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{66ff}\u{4ee3}\u{6807}\u{8bc6}" ] pub replace_type : ETF_REPLACE_TYPE , # [ doc = "\u{6ea2}\u{4ef7}\u{6bd4}\u{4f8b}" ] pub premium_ratio : f64 , # [ doc = "\u{6210}\u{5206}\u{80a1}\u{66ff}\u{4ee3}\u{6807}\u{8bc6}\u{4e3a}\u{5fc5}\u{987b}\u{73b0}\u{91d1}\u{66ff}\u{4ee3}\u{65f6}\u{5019}\u{7684}\u{603b}\u{91d1}\u{989d}" ] pub amount : f64 , } # [ test ] fn bindgen_test_layout_XTPQueryETFComponentRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryETFComponentRsp > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( XTPQueryETFComponentRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryETFComponentRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryETFComponentRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . component_ticker as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( component_ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . component_name as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( component_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . quantity as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . component_market as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( component_market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . replace_type as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( replace_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . premium_ratio as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( premium_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . amount as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( amount ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{5f53}\u{65e5}\u{53ef}\u{7533}\u{8d2d}\u{65b0}\u{80a1}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQueryIPOTickerRsp { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{7533}\u{8d2d}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{7533}\u{8d2d}\u{80a1}\u{7968}\u{540d}\u{79f0}" ] pub ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , pub ticker_type : XTP_TICKER_TYPE , # [ doc = "\u{7533}\u{8d2d}\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{7533}\u{8d2d}\u{5355}\u{5143}" ] pub unit : i32 , # [ doc = "\u{6700}\u{5927}\u{5141}\u{8bb8}\u{7533}\u{8d2d}\u{6570}\u{91cf}" ] pub qty_upper_limit : i32 , } # [ test ] fn bindgen_test_layout_XTPQueryIPOTickerRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryIPOTickerRsp > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( XTPQueryIPOTickerRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryIPOTickerRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryIPOTickerRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . ticker_name as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . ticker_type as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( ticker_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . price as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . unit as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . qty_upper_limit as * const _ as usize } , 100usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( qty_upper_limit ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{7528}\u{6237}\u{7533}\u{8d2d}\u{989d}\u{5ea6}-\u{65e7}\u{7248}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryIPOQuotaRspV1 { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{53ef}\u{7533}\u{8d2d}\u{989d}\u{5ea6}" ] pub quantity : i32 , } # [ test ] fn bindgen_test_layout_XTPQueryIPOQuotaRspV1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryIPOQuotaRspV1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTPQueryIPOQuotaRspV1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryIPOQuotaRspV1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryIPOQuotaRspV1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRspV1 > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRspV1 ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRspV1 > ( ) ) ) . quantity as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRspV1 ) , "::" , stringify ! ( quantity ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{7528}\u{6237}\u{7533}\u{8d2d}\u{989d}\u{5ea6}-\u{5305}\u{542b}\u{521b}\u{4e1a}\u{677f}\u{989d}\u{5ea6}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryIPOQuotaRsp { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{53ef}\u{7533}\u{8d2d}\u{989d}\u{5ea6}" ] pub quantity : i32 , pub tech_quantity : i32 , pub unused : i32 , } # [ test ] fn bindgen_test_layout_XTPQueryIPOQuotaRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryIPOQuotaRsp > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( XTPQueryIPOQuotaRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryIPOQuotaRsp > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryIPOQuotaRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRsp > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRsp > ( ) ) ) . quantity as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRsp ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRsp > ( ) ) ) . tech_quantity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRsp ) , "::" , stringify ! ( tech_quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRsp > ( ) ) ) . unused as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRsp ) , "::" , stringify ! ( unused ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{671f}\u{6743}\u{7ade}\u{4ef7}\u{4ea4}\u{6613}\u{4e1a}\u{52a1}\u{53c2}\u{8003}\u{4fe1}\u{606f}--\u{8bf7}\u{6c42}\u{7ed3}\u{6784}\u{4f53},\u{8bf7}\u{6c42}\u{53c2}\u{6570}\u{4e3a}:\u{4ea4}\u{6613}\u{5e02}\u{573a}+8\u{4f4d}\u{671f}\u{6743}\u{4ee3}\u{7801}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryOptionAuctionInfoReq { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "8\u{4f4d}\u{671f}\u{6743}\u{5408}\u{7ea6}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryOptionAuctionInfoReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryOptionAuctionInfoReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPQueryOptionAuctionInfoReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryOptionAuctionInfoReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryOptionAuctionInfoReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{671f}\u{6743}\u{7ade}\u{4ef7}\u{4ea4}\u{6613}\u{4e1a}\u{52a1}\u{53c2}\u{8003}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQueryOptionAuctionInfoRsp { # [ doc = "<\u{5408}\u{7ea6}\u{7f16}\u{7801}\u{ff0c}\u{62a5}\u{5355}ticker\u{91c7}\u{7528}\u{672c}\u{5b57}\u{6bb5}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "<\u{8bc1}\u{5238}\u{4ee3}\u{7801}\u{6e90}" ] pub security_id_source : XTP_MARKET_TYPE , # [ doc = "<\u{5408}\u{7ea6}\u{7b80}\u{79f0}" ] pub symbol : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "<\u{5408}\u{7ea6}\u{4ea4}\u{6613}\u{4ee3}\u{7801}" ] pub contract_id : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "<\u{57fa}\u{7840}\u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub underlying_security_id : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "<\u{57fa}\u{7840}\u{8bc1}\u{5238}\u{4ee3}\u{7801}\u{6e90}" ] pub underlying_security_id_source : XTP_MARKET_TYPE , # [ doc = "<\u{4e0a}\u{5e02}\u{65e5}\u{671f}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub list_date : u32 , # [ doc = "<\u{6700}\u{540e}\u{4ea4}\u{6613}\u{65e5}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub last_trade_date : u32 , # [ doc = "<\u{8bc1}\u{5238}\u{7c7b}\u{522b}" ] pub ticker_type : XTP_TICKER_TYPE , # [ doc = "<\u{662f}\u{5426}\u{652f}\u{6301}\u{5f53}\u{65e5}\u{56de}\u{8f6c}\u{4ea4}\u{6613}\u{ff0c}1-\u{5141}\u{8bb8}\u{ff0c}0-\u{4e0d}\u{5141}\u{8bb8}" ] pub day_trading : i32 , # [ doc = "<\u{8ba4}\u{8d2d}\u{6216}\u{8ba4}\u{6cbd}" ] pub call_or_put : XTP_OPT_CALL_OR_PUT_TYPE , # [ doc = "<\u{884c}\u{6743}\u{4ea4}\u{5272}\u{65e5}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub delivery_day : u32 , # [ doc = "<\u{4ea4}\u{5272}\u{6708}\u{4efd}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMM" ] pub delivery_month : u32 , # [ doc = "<\u{884c}\u{6743}\u{65b9}\u{5f0f}" ] pub exercise_type : XTP_OPT_EXERCISE_TYPE_TYPE , # [ doc = "<\u{884c}\u{6743}\u{8d77}\u{59cb}\u{65e5}\u{671f}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub exercise_begin_date : u32 , # [ doc = "<\u{884c}\u{6743}\u{7ed3}\u{675f}\u{65e5}\u{671f}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub exercise_end_date : u32 , # [ doc = "<\u{884c}\u{6743}\u{4ef7}\u{683c}" ] pub exercise_price : f64 , # [ doc = "<\u{6570}\u{91cf}\u{5355}\u{4f4d}\u{ff0c}\u{5bf9}\u{4e8e}\u{67d0}\u{4e00}\u{8bc1}\u{5238}\u{7533}\u{62a5}\u{7684}\u{59d4}\u{6258}\u{ff0c}\u{5176}\u{59d4}\u{6258}\u{6570}\u{91cf}\u{5b57}\u{6bb5}\u{5fc5}\u{987b}\u{4e3a}\u{8be5}\u{8bc1}\u{5238}\u{6570}\u{91cf}\u{5355}\u{4f4d}\u{7684}\u{6574}\u{6570}\u{500d}" ] pub qty_unit : i64 , # [ doc = "<\u{5408}\u{7ea6}\u{5355}\u{4f4d}" ] pub contract_unit : i64 , # [ doc = "<\u{5408}\u{7ea6}\u{6301}\u{4ed3}\u{91cf}" ] pub contract_position : i64 , # [ doc = "<\u{5408}\u{7ea6}\u{524d}\u{6536}\u{76d8}\u{4ef7}" ] pub prev_close_price : f64 , # [ doc = "<\u{5408}\u{7ea6}\u{524d}\u{7ed3}\u{7b97}\u{4ef7}" ] pub prev_clearing_price : f64 , # [ doc = "<\u{9650}\u{4ef7}\u{4e70}\u{6700}\u{5927}\u{91cf}" ] pub lmt_buy_max_qty : i64 , # [ doc = "<\u{9650}\u{4ef7}\u{4e70}\u{6700}\u{5c0f}\u{91cf}" ] pub lmt_buy_min_qty : i64 , # [ doc = "<\u{9650}\u{4ef7}\u{5356}\u{6700}\u{5927}\u{91cf}" ] pub lmt_sell_max_qty : i64 , # [ doc = "<\u{9650}\u{4ef7}\u{5356}\u{6700}\u{5c0f}\u{91cf}" ] pub lmt_sell_min_qty : i64 , # [ doc = "<\u{5e02}\u{4ef7}\u{4e70}\u{6700}\u{5927}\u{91cf}" ] pub mkt_buy_max_qty : i64 , # [ doc = "<\u{5e02}\u{4ef7}\u{4e70}\u{6700}\u{5c0f}\u{91cf}" ] pub mkt_buy_min_qty : i64 , # [ doc = "<\u{5e02}\u{4ef7}\u{5356}\u{6700}\u{5927}\u{91cf}" ] pub mkt_sell_max_qty : i64 , # [ doc = "<\u{5e02}\u{4ef7}\u{5356}\u{6700}\u{5c0f}\u{91cf}" ] pub mkt_sell_min_qty : i64 , # [ doc = "<\u{6700}\u{5c0f}\u{62a5}\u{4ef7}\u{5355}\u{4f4d}" ] pub price_tick : f64 , # [ doc = "<\u{6da8}\u{505c}\u{4ef7}" ] pub upper_limit_price : f64 , # [ doc = "<\u{8dcc}\u{505c}\u{4ef7}" ] pub lower_limit_price : f64 , # [ doc = "<\u{4eca}\u{5356}\u{5f00}\u{6bcf}\u{5f20}\u{4fdd}\u{8bc1}\u{91d1}" ] pub sell_margin : f64 , # [ doc = "<\u{4ea4}\u{6613}\u{6240}\u{4fdd}\u{8bc1}\u{91d1}\u{6bd4}\u{4f8b}\u{8ba1}\u{7b97}\u{53c2}\u{6570}\u{4e00}" ] pub margin_ratio_param1 : f64 , # [ doc = "<\u{4ea4}\u{6613}\u{6240}\u{4fdd}\u{8bc1}\u{91d1}\u{6bd4}\u{4f8b}\u{8ba1}\u{7b97}\u{53c2}\u{6570}\u{4e8c}" ] pub margin_ratio_param2 : f64 , # [ doc = "<\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff09}" ] pub unknown : [ u64 ; 20usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryOptionAuctionInfoRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryOptionAuctionInfoRsp > ( ) , 528usize , concat ! ( "Size of: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryOptionAuctionInfoRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . ticker as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . security_id_source as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( security_id_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . symbol as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( symbol ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . contract_id as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( contract_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . underlying_security_id as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( underlying_security_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . underlying_security_id_source as * const _ as usize } , 164usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( underlying_security_id_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . list_date as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( list_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . last_trade_date as * const _ as usize } , 172usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( last_trade_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . ticker_type as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( ticker_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . day_trading as * const _ as usize } , 180usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( day_trading ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . call_or_put as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( call_or_put ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . delivery_day as * const _ as usize } , 188usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( delivery_day ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . delivery_month as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( delivery_month ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . exercise_type as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( exercise_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . exercise_begin_date as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( exercise_begin_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . exercise_end_date as * const _ as usize } , 204usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( exercise_end_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . exercise_price as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( exercise_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . qty_unit as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( qty_unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . contract_unit as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( contract_unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . contract_position as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( contract_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . prev_close_price as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( prev_close_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . prev_clearing_price as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( prev_clearing_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lmt_buy_max_qty as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lmt_buy_max_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lmt_buy_min_qty as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lmt_buy_min_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lmt_sell_max_qty as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lmt_sell_max_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lmt_sell_min_qty as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lmt_sell_min_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . mkt_buy_max_qty as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( mkt_buy_max_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . mkt_buy_min_qty as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( mkt_buy_min_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . mkt_sell_max_qty as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( mkt_sell_max_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . mkt_sell_min_qty as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( mkt_sell_min_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . price_tick as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( price_tick ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . upper_limit_price as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( upper_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lower_limit_price as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lower_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . sell_margin as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( sell_margin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . margin_ratio_param1 as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( margin_ratio_param1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . margin_ratio_param2 as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( margin_ratio_param2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . unknown as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( unknown ) ) ) ; } # [ doc = "" ] # [ doc = "\u{878d}\u{8d44}\u{878d}\u{5238}\u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{54cd}\u{5e94}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPCrdCashRepayRsp { # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{64cd}\u{4f5c}\u{7684}XTPID" ] pub xtp_id : i64 , # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{7684}\u{7533}\u{8bf7}\u{91d1}\u{989d}" ] pub request_amount : f64 , # [ doc = "< \u{5b9e}\u{9645}\u{8fd8}\u{6b3e}\u{4f7f}\u{7528}\u{91d1}\u{989d}" ] pub cash_repay_amount : f64 , } # [ test ] fn bindgen_test_layout_XTPCrdCashRepayRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdCashRepayRsp > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( XTPCrdCashRepayRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdCashRepayRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdCashRepayRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayRsp > ( ) ) ) . xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayRsp ) , "::" , stringify ! ( xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayRsp > ( ) ) ) . request_amount as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayRsp ) , "::" , stringify ! ( request_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayRsp > ( ) ) ) . cash_repay_amount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayRsp ) , "::" , stringify ! ( cash_repay_amount ) ) ) ; } # [ doc = "" ] # [ doc = "\u{5355}\u{6761}\u{878d}\u{8d44}\u{878d}\u{5238}\u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{8bb0}\u{5f55}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] pub struct XTPCrdCashRepayInfo { # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{64cd}\u{4f5c}\u{7684}XTPID" ] pub xtp_id : i64 , # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{5904}\u{7406}\u{72b6}\u{6001}" ] pub status : XTP_CRD_CR_STATUS , # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{7684}\u{7533}\u{8bf7}\u{91d1}\u{989d}" ] pub request_amount : f64 , # [ doc = "< \u{5b9e}\u{9645}\u{8fd8}\u{6b3e}\u{4f7f}\u{7528}\u{91d1}\u{989d}" ] pub cash_repay_amount : f64 , # [ doc = "< \u{5f3a}\u{5e73}\u{6807}\u{5fd7}" ] pub position_effect : XTP_POSITION_EFFECT_TYPE , } # [ test ] fn bindgen_test_layout_XTPCrdCashRepayInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdCashRepayInfo > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( XTPCrdCashRepayInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdCashRepayInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdCashRepayInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . status as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . request_amount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( request_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . cash_repay_amount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( cash_repay_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . position_effect as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( position_effect ) ) ) ; } # [ doc = "" ] # [ doc = "\u{5355}\u{6761}\u{878d}\u{8d44}\u{878d}\u{5238}\u{8d1f}\u{503a}\u{8bb0}\u{5f55}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPCrdDebtInfo { # [ doc = "< \u{8d1f}\u{503a}\u{5408}\u{7ea6}\u{7c7b}\u{578b}" ] pub debt_type : i32 , # [ doc = "< \u{8d1f}\u{503a}\u{5408}\u{7ea6}\u{7f16}\u{53f7}" ] pub debt_id : [ :: std :: os :: raw :: c_char ; 33usize ] , # [ doc = "< \u{8d1f}\u{503a}\u{5bf9}\u{5e94}\u{4e24}\u{878d}\u{5934}\u{5bf8}\u{7f16}\u{53f7}" ] pub position_id : i64 , # [ doc = "< \u{751f}\u{6210}\u{8d1f}\u{503a}\u{7684}\u{8ba2}\u{5355}\u{7f16}\u{53f7}\u{ff0c}\u{975e}\u{5f53}\u{65e5}\u{8d1f}\u{503a}\u{65e0}\u{6b64}\u{9879}" ] pub order_xtp_id : u64 , # [ doc = "< \u{8d1f}\u{503a}\u{5408}\u{7ea6}\u{72b6}\u{6001}" ] pub debt_status : i32 , # [ doc = "< \u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "< \u{59d4}\u{6258}\u{65e5}\u{671f}" ] pub order_date : u64 , # [ doc = "< \u{8d1f}\u{503a}\u{622a}\u{6b62}\u{65e5}\u{671f}" ] pub end_date : u64 , # [ doc = "< \u{8d1f}\u{503a}\u{539f}\u{59cb}\u{622a}\u{6b62}\u{65e5}\u{671f}" ] pub orig_end_date : u64 , # [ doc = "< \u{5f53}\u{65e5}\u{662f}\u{5426}\u{63a5}\u{6536}\u{5230}\u{5c55}\u{671f}\u{8bf7}\u{6c42}" ] pub is_extended : bool , # [ doc = "< \u{672a}\u{507f}\u{8fd8}\u{91d1}\u{989d}" ] pub remain_amt : f64 , # [ doc = "< \u{672a}\u{507f}\u{8fd8}\u{6570}\u{91cf}" ] pub remain_qty : i64 , # [ doc = "< \u{672a}\u{507f}\u{8fd8}\u{672c}\u{91d1}\u{91d1}\u{989d}" ] pub remain_principal : f64 , } # [ test ] fn bindgen_test_layout_XTPCrdDebtInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdDebtInfo > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( XTPCrdDebtInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdDebtInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdDebtInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . debt_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( debt_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . debt_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( debt_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . position_id as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( position_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . order_xtp_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . debt_status as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( debt_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . market as * const _ as usize } , 60usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . ticker as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . order_date as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( order_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . end_date as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( end_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . orig_end_date as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( orig_end_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . is_extended as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( is_extended ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . remain_amt as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( remain_amt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . remain_qty as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( remain_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . remain_principal as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( remain_principal ) ) ) ; } # [ doc = "" ] # [ doc = "\u{878d}\u{8d44}\u{878d}\u{5238}\u{7279}\u{6709}\u{5e10}\u{6237}\u{6570}\u{636e}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPCrdFundInfo { # [ doc = "< \u{7ef4}\u{6301}\u{62c5}\u{4fdd}\u{54c1}\u{6bd4}\u{4f8b}" ] pub maintenance_ratio : f64 , # [ doc = "< \u{4e24}\u{878d}\u{6388}\u{4fe1}\u{989d}\u{5ea6}" ] pub line_of_credit : f64 , # [ doc = "< \u{4e24}\u{878d}\u{4fdd}\u{8bc1}\u{91d1}\u{53ef}\u{7528}\u{6570}" ] pub guaranty : f64 , # [ doc = "< \u{878d}\u{8d44}\u{5934}\u{5bf8}\u{53ef}\u{7528}\u{91d1}\u{989d}\u{ff0c}\u{5185}\u{90e8}\u{63a5}\u{53e3}\u{ff0c}\u{6b63}\u{5f0f}\u{7248}\u{672c}\u{9700}\u{8981}\u{5220}\u{9664}" ] pub position_amount : f64 , } # [ test ] fn bindgen_test_layout_XTPCrdFundInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdFundInfo > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPCrdFundInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdFundInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdFundInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdFundInfo > ( ) ) ) . maintenance_ratio as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdFundInfo ) , "::" , stringify ! ( maintenance_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdFundInfo > ( ) ) ) . line_of_credit as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdFundInfo ) , "::" , stringify ! ( line_of_credit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdFundInfo > ( ) ) ) . guaranty as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdFundInfo ) , "::" , stringify ! ( guaranty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdFundInfo > ( ) ) ) . position_amount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdFundInfo ) , "::" , stringify ! ( position_amount ) ) ) ; } # [ doc = "" ] # [ doc = "\u{878d}\u{8d44}\u{878d}\u{5238}\u{6307}\u{5b9a}\u{8bc1}\u{5238}\u{4e0a}\u{7684}\u{8d1f}\u{503a}\u{672a}\u{8fd8}\u{6570}\u{91cf}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPClientQueryCrdDebtStockReq { # [ doc = "< \u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPClientQueryCrdDebtStockReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPClientQueryCrdDebtStockReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPClientQueryCrdDebtStockReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPClientQueryCrdDebtStockReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPClientQueryCrdDebtStockReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdDebtStockReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdDebtStockReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdDebtStockReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdDebtStockReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPCrdDebtStockInfo { # [ doc = "< \u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "< \u{8d1f}\u{503a}\u{672a}\u{8fd8}\u{6570}\u{91cf}" ] pub remain_quantity : i64 , # [ doc = "< \u{6302}\u{5355}\u{672a}\u{6210}\u{8fd8}\u{5238}\u{6570}\u{91cf}" ] pub order_withhold_quantity : i64 , } # [ test ] fn bindgen_test_layout_XTPCrdDebtStockInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdDebtStockInfo > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( XTPCrdDebtStockInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdDebtStockInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdDebtStockInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtStockInfo > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtStockInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtStockInfo > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtStockInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtStockInfo > ( ) ) ) . remain_quantity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtStockInfo ) , "::" , stringify ! ( remain_quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtStockInfo > ( ) ) ) . order_withhold_quantity as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtStockInfo ) , "::" , stringify ! ( order_withhold_quantity ) ) ) ; } # [ doc = "" ] # [ doc = "\u{878d}\u{5238}\u{5934}\u{5bf8}\u{8bc1}\u{5238}\u{67e5}\u{8be2}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPClientQueryCrdPositionStockReq { # [ doc = "< \u{8bc1}\u{5238}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPClientQueryCrdPositionStockReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPClientQueryCrdPositionStockReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPClientQueryCrdPositionStockReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPClientQueryCrdPositionStockReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPClientQueryCrdPositionStockReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStockReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStockReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStockReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStockReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPClientQueryCrdPositionStkInfo { # [ doc = "< \u{8bc1}\u{5238}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "< \u{878d}\u{5238}\u{9650}\u{91cf}" ] pub limit_qty : i64 , # [ doc = "< \u{6628}\u{65e5}\u{65e5}\u{878d}\u{5238}\u{6570}\u{91cf}" ] pub yesterday_qty : i64 , # [ doc = "< \u{5269}\u{4f59}\u{53ef}\u{878d}\u{5238}\u{6570}\u{91cf}" ] pub left_qty : i64 , # [ doc = "< \u{51bb}\u{7ed3}\u{878d}\u{5238}\u{6570}\u{91cf}" ] pub frozen_qty : i64 , } # [ test ] fn bindgen_test_layout_XTPClientQueryCrdPositionStkInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPClientQueryCrdPositionStkInfo > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPClientQueryCrdPositionStkInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . limit_qty as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( limit_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . yesterday_qty as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( yesterday_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . left_qty as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( left_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . frozen_qty as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( frozen_qty ) ) ) ; } # [ doc = "" ] # [ doc = "\u{7528}\u{6237}\u{8d44}\u{91d1}\u{8bf7}\u{6c42}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPFundTransferReq { # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{7f16}\u{53f7}\u{ff0c}\u{65e0}\u{9700}\u{7528}\u{6237}\u{586b}\u{5199}\u{ff0c}\u{7c7b}\u{4f3c}\u{4e8e}xtp_id" ] pub serial_id : u64 , # [ doc = "\u{8d44}\u{91d1}\u{8d26}\u{6237}\u{4ee3}\u{7801}" ] pub fund_account : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{8d44}\u{91d1}\u{8d26}\u{6237}\u{5bc6}\u{7801}" ] pub password : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "\u{91d1}\u{989d}" ] pub amount : f64 , # [ doc = "\u{5185}\u{8f6c}\u{7c7b}\u{578b}" ] pub transfer_type : XTP_FUND_TRANSFER_TYPE , } # [ test ] fn bindgen_test_layout_XTPFundTransferReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPFundTransferReq > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( XTPFundTransferReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPFundTransferReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPFundTransferReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . serial_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( serial_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . fund_account as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( fund_account ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . password as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( password ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . amount as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . transfer_type as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( transfer_type ) ) ) ; } # [ doc = "" ] # [ doc = "\u{7528}\u{6237}\u{8d44}\u{91d1}\u{5212}\u{8f6c}\u{8bf7}\u{6c42}\u{7684}\u{54cd}\u{5e94}-\u{590d}\u{7528}\u{8d44}\u{91d1}\u{901a}\u{77e5}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] pub type XTPFundTransferAck = XTPFundTransferNotice ; # [ repr ( C ) ] pub struct XTP_API_TraderSpi__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTP_API_TraderSpi { pub vtable_ : * const XTP_API_TraderSpi__bindgen_vtable , } # [ test ] fn bindgen_test_layout_XTP_API_TraderSpi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTP_API_TraderSpi > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTP_API_TraderSpi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTP_API_TraderSpi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTP_API_TraderSpi ) ) ) ; } # [ repr ( C ) ] pub struct XTP_API_TraderApi__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct XTP_API_TraderApi { pub vtable_ : * const XTP_API_TraderApi__bindgen_vtable , } # [ test ] fn bindgen_test_layout_XTP_API_TraderApi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTP_API_TraderApi > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTP_API_TraderApi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTP_API_TraderApi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTP_API_TraderApi ) ) ) ; } # [ repr ( C ) ] pub struct XTP_API_QuoteSpi__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTP_API_QuoteSpi { pub vtable_ : * const XTP_API_QuoteSpi__bindgen_vtable , } # [ test ] fn bindgen_test_layout_XTP_API_QuoteSpi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTP_API_QuoteSpi > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTP_API_QuoteSpi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTP_API_QuoteSpi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTP_API_QuoteSpi ) ) ) ; } # [ repr ( C ) ] pub struct XTP_API_QuoteApi__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct XTP_API_QuoteApi { pub vtable_ : * const XTP_API_QuoteApi__bindgen_vtable , } # [ test ] fn bindgen_test_layout_XTP_API_QuoteApi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTP_API_QuoteApi > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTP_API_QuoteApi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTP_API_QuoteApi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTP_API_QuoteApi ) ) ) ; } extern "C" { pub fn CreateQuoteApi ( client_id : u8 , save_file_path : * const :: std :: os :: raw :: c_char , log_level : XTP_LOG_LEVEL ) -> * mut XTP_API_QuoteApi ; } extern "C" { pub fn QuoteApi_Release ( self_ : * mut XTP_API_QuoteApi ) ; } extern "C" { pub fn QuoteApi_GetTradingDay ( self_ : * mut XTP_API_QuoteApi ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn QuoteApi_GetApiVersion ( self_ : * mut XTP_API_QuoteApi ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn QuoteApi_GetApiLastError ( self_ : * mut XTP_API_QuoteApi ) -> * mut XTPRI ; } extern "C" { pub fn QuoteApi_SetUDPBufferSize ( self_ : * mut XTP_API_QuoteApi , buff_size : u32 ) ; } extern "C" { pub fn QuoteApi_RegisterSpi ( self_ : * mut XTP_API_QuoteApi , spi : * mut XTP_API_QuoteSpi ) ; } extern "C" { pub fn QuoteApi_SetHeartBeatInterval ( self_ : * mut XTP_API_QuoteApi , interval : u32 ) ; } extern "C" { pub fn QuoteApi_SubscribeMarketData ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeMarketData ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeOrderBook ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeOrderBook ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeTickByTick ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeTickByTick ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllMarketData ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllMarketData ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllOrderBook ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllOrderBook ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllTickByTick ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllTickByTick ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_Login ( self_ : * mut XTP_API_QuoteApi , ip : * const :: std :: os :: raw :: c_char , port : :: std :: os :: raw :: c_int , user : * const :: std :: os :: raw :: c_char , password : * const :: std :: os :: raw :: c_char , sock_type : XTP_PROTOCOL_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_Logout ( self_ : * mut XTP_API_QuoteApi ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_QueryAllTickers ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_QueryTickersPriceInfo ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_QueryAllTickersPriceInfo ( self_ : * mut XTP_API_QuoteApi ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllOptionMarketData ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllOptionMarketData ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllOptionOrderBook ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllOptionOrderBook ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllOptionTickByTick ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllOptionTickByTick ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CreateTraderApi ( client_id : u8 , save_file_path : * const :: std :: os :: raw :: c_char , log_level : XTP_LOG_LEVEL ) -> * mut XTP_API_TraderApi ; } extern "C" { pub fn TraderApi_Release ( self_ : * mut XTP_API_TraderApi ) ; } extern "C" { pub fn TraderApi_GetTradingDay ( self_ : * mut XTP_API_TraderApi ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn TraderApi_RegisterSpi ( self_ : * mut XTP_API_TraderApi , spi : * mut XTP_API_TraderSpi ) ; } extern "C" { pub fn TraderApi_GetApiLastError ( self_ : * mut XTP_API_TraderApi ) -> * mut XTPRI ; } extern "C" { pub fn TraderApi_GetApiVersion ( self_ : * mut XTP_API_TraderApi ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn TraderApi_GetClientIDByXTPID ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 ) -> u8 ; } extern "C" { pub fn TraderApi_GetAccountByXTPID ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn TraderApi_SubscribePublicTopic ( self_ : * mut XTP_API_TraderApi , resume_type : XTP_TE_RESUME_TYPE ) ; } extern "C" { pub fn TraderApi_SetSoftwareVersion ( self_ : * mut XTP_API_TraderApi , version : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn TraderApi_SetSoftwareKey ( self_ : * mut XTP_API_TraderApi , key : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn TraderApi_SetHeartBeatInterval ( self_ : * mut XTP_API_TraderApi , interval : u32 ) ; } extern "C" { pub fn TraderApi_Login ( self_ : * mut XTP_API_TraderApi , ip : * const :: std :: os :: raw :: c_char , port : :: std :: os :: raw :: c_int , user : * const :: std :: os :: raw :: c_char , password : * const :: std :: os :: raw :: c_char , sock_type : XTP_PROTOCOL_TYPE ) -> u64 ; } extern "C" { pub fn TraderApi_Logout ( self_ : * mut XTP_API_TraderApi , session_id : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_IsServerRestart ( self_ : * mut XTP_API_TraderApi , session_id : u64 ) -> bool ; } extern "C" { pub fn TraderApi_InsertOrder ( self_ : * mut XTP_API_TraderApi , order : * mut XTPOrderInsertInfo , session_id : u64 ) -> u64 ; } extern "C" { pub fn TraderApi_CancelOrder ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 , session_id : u64 ) -> u64 ; } extern "C" { pub fn TraderApi_QueryOrderByXTPID ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryOrders ( self_ : * mut XTP_API_TraderApi , query_param : * const XTPQueryOrderReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryOrdersByPage ( self_ : * mut XTP_API_TraderApi , query_param : * const XTPQueryOrderByPageReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryTradesByXTPID ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryTrades ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryTraderReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryTradesByPage ( self_ : * mut XTP_API_TraderApi , query_param : * const XTPQueryTraderByPageReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryPosition ( self_ : * mut XTP_API_TraderApi , ticker : * const :: std :: os :: raw :: c_char , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryAsset ( self_ : * mut XTP_API_TraderApi , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryStructuredFund ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryStructuredFundInfoReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_FundTransfer ( self_ : * mut XTP_API_TraderApi , fund_transfer : * mut XTPFundTransferReq , session_id : u64 ) -> u64 ; } extern "C" { pub fn TraderApi_QueryFundTransfer ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryFundTransferLogReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryETF ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryETFBaseReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryETFTickerBasket ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryETFComponentReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryIPOInfoList ( self_ : * mut XTP_API_TraderApi , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryIPOQuotaInfo ( self_ : * mut XTP_API_TraderApi , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryOptionAuctionInfo ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryOptionAuctionInfoReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct QuoteSpiStub { pub _base : XTP_API_QuoteSpi , pub rust_object : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_QuoteSpiStub ( ) { assert_eq ! ( :: std :: mem :: size_of :: < QuoteSpiStub > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( QuoteSpiStub ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < QuoteSpiStub > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( QuoteSpiStub ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < QuoteSpiStub > ( ) ) ) . rust_object as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( QuoteSpiStub ) , "::" , stringify ! ( rust_object ) ) ) ; } extern "C" { # [ link_name = "\u{1}_ZN12QuoteSpiStubC1EPv" ] pub fn QuoteSpiStub_QuoteSpiStub ( this : * mut QuoteSpiStub , rust_object : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ link_name = "\u{1}_ZN12QuoteSpiStubD1Ev" ] pub fn QuoteSpiStub_QuoteSpiStub_destructor ( this : * mut QuoteSpiStub ) ; } impl QuoteSpiStub { # [ inline ] pub unsafe fn new ( rust_object : * mut :: std :: os :: raw :: c_void ) -> Self { let mut __bindgen_tmp = :: std :: mem :: MaybeUninit :: uninit ( ) ; QuoteSpiStub_QuoteSpiStub ( __bindgen_tmp . as_mut_ptr ( ) , rust_object ) ; __bindgen_tmp . assume_init ( ) } # [ inline ] pub unsafe fn destruct ( & mut self ) { QuoteSpiStub_QuoteSpiStub_destructor ( self ) } } extern "C" { pub fn QuoteSpiStub_Destructor ( stub : * mut QuoteSpiStub ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct TraderSpiStub { pub _base : XTP_API_TraderSpi , pub rust_object : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_TraderSpiStub ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TraderSpiStub > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( TraderSpiStub ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TraderSpiStub > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( TraderSpiStub ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TraderSpiStub > ( ) ) ) . rust_object as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TraderSpiStub ) , "::" , stringify ! ( rust_object ) ) ) ; } extern "C" { # [ link_name = "\u{1}_ZN13TraderSpiStubC1EPv" ] pub fn TraderSpiStub_TraderSpiStub ( this : * mut TraderSpiStub , rust_object : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ link_name = "\u{1}_ZN13TraderSpiStubD1Ev" ] pub fn TraderSpiStub_TraderSpiStub_destructor ( this : * mut TraderSpiStub ) ; } impl TraderSpiStub { # [ inline ] pub unsafe fn new ( rust_object : * mut :: std :: os :: raw :: c_void ) -> Self { let mut __bindgen_tmp = :: std :: mem :: MaybeUninit :: uninit ( ) ; TraderSpiStub_TraderSpiStub ( __bindgen_tmp . as_mut_ptr ( ) , rust_object ) ; __bindgen_tmp . assume_init ( ) } # [ inline ] pub unsafe fn destruct ( & mut self ) { TraderSpiStub_TraderSpiStub_destructor ( self ) } } extern "C" { pub fn TraderSpiStub_Destructor ( stub : * mut TraderSpiStub ) ; } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: candidates: [INFO] [stdout] crate `test`: /opt/rustwide/rustup-home/toolchains/1.45.2-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-3ad1ab5f7ba3783f.so [INFO] [stdout] /opt/rustwide/rustup-home/toolchains/1.45.2-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-3ad1ab5f7ba3783f.rlib [INFO] [stdout] crate `test`: /opt/rustwide/target/debug/deps/libtest-bdcaa9234742f7a2.so [INFO] [stdout] /opt/rustwide/target/debug/deps/libtest-bdcaa9234742f7a2.rlib [INFO] [stdout] = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0514]: found crate `test` compiled by an incompatible version of rustc [INFO] [stdout] --> /opt/rustwide/target/debug/build/xtp-17da3fac5535d7c1/out/bindings.rs:3:11176 [INFO] [stdout] | [INFO] [stdout] 3 | # [ repr ( C ) ] pub struct __BindgenUnionField < T > ( :: std :: marker :: PhantomData < T > ) ; impl < T > __BindgenUnionField < T > { # [ inline ] pub const fn new ( ) -> Self { __BindgenUnionField ( :: std :: marker :: PhantomData ) } # [ inline ] pub unsafe fn as_ref ( & self ) -> & T { :: std :: mem :: transmute ( self ) } # [ inline ] pub unsafe fn as_mut ( & mut self ) -> & mut T { :: std :: mem :: transmute ( self ) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [ inline ] fn default ( ) -> Self { Self :: new ( ) } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [ inline ] fn clone ( & self ) -> Self { Self :: new ( ) } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . write_str ( "__BindgenUnionField" ) } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > ( & self , _state : & mut H ) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq ( & self , _other : & __BindgenUnionField < T > ) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _STDINT_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _ISOC95_SOURCE : u32 = 1 ; pub const _ISOC99_SOURCE : u32 = 1 ; pub const _ISOC11_SOURCE : u32 = 1 ; pub const _ISOC2X_SOURCE : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const _XOPEN_SOURCE : u32 = 700 ; pub const _XOPEN_SOURCE_EXTENDED : u32 = 1 ; pub const _LARGEFILE64_SOURCE : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_ISOCXX11 : u32 = 1 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const __USE_XOPEN : u32 = 1 ; pub const __USE_XOPEN_EXTENDED : u32 = 1 ; pub const __USE_UNIX98 : u32 = 1 ; pub const _LARGEFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K8XSI : u32 = 1 ; pub const __USE_XOPEN2KXSI : u32 = 1 ; pub const __USE_LARGEFILE : u32 = 1 ; pub const __USE_LARGEFILE64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_GNU : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 31 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __LONG_DOUBLE_USES_FLOAT128 : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 0 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 1 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const __TIMESIZE : u32 = 64 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = -128 ; pub const INT16_MIN : i32 = -32768 ; pub const INT32_MIN : i32 = -2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = -128 ; pub const INT_LEAST16_MIN : i32 = -32768 ; pub const INT_LEAST32_MIN : i32 = -2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = -128 ; pub const INT_FAST16_MIN : i64 = -9223372036854775808 ; pub const INT_FAST32_MIN : i64 = -9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = -1 ; pub const UINT_FAST32_MAX : i32 = -1 ; pub const INTPTR_MIN : i64 = -9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = -1 ; pub const PTRDIFF_MIN : i64 = -9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = -2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = -1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const INT8_WIDTH : u32 = 8 ; pub const UINT8_WIDTH : u32 = 8 ; pub const INT16_WIDTH : u32 = 16 ; pub const UINT16_WIDTH : u32 = 16 ; pub const INT32_WIDTH : u32 = 32 ; pub const UINT32_WIDTH : u32 = 32 ; pub const INT64_WIDTH : u32 = 64 ; pub const UINT64_WIDTH : u32 = 64 ; pub const INT_LEAST8_WIDTH : u32 = 8 ; pub const UINT_LEAST8_WIDTH : u32 = 8 ; pub const INT_LEAST16_WIDTH : u32 = 16 ; pub const UINT_LEAST16_WIDTH : u32 = 16 ; pub const INT_LEAST32_WIDTH : u32 = 32 ; pub const UINT_LEAST32_WIDTH : u32 = 32 ; pub const INT_LEAST64_WIDTH : u32 = 64 ; pub const UINT_LEAST64_WIDTH : u32 = 64 ; pub const INT_FAST8_WIDTH : u32 = 8 ; pub const UINT_FAST8_WIDTH : u32 = 8 ; pub const INT_FAST16_WIDTH : u32 = 64 ; pub const UINT_FAST16_WIDTH : u32 = 64 ; pub const INT_FAST32_WIDTH : u32 = 64 ; pub const UINT_FAST32_WIDTH : u32 = 64 ; pub const INT_FAST64_WIDTH : u32 = 64 ; pub const UINT_FAST64_WIDTH : u32 = 64 ; pub const INTPTR_WIDTH : u32 = 64 ; pub const UINTPTR_WIDTH : u32 = 64 ; pub const INTMAX_WIDTH : u32 = 64 ; pub const UINTMAX_WIDTH : u32 = 64 ; pub const PTRDIFF_WIDTH : u32 = 64 ; pub const SIG_ATOMIC_WIDTH : u32 = 32 ; pub const SIZE_WIDTH : u32 = 64 ; pub const WCHAR_WIDTH : u32 = 32 ; pub const WINT_WIDTH : u32 = 32 ; pub const XTP_VERSION_LEN : u32 = 16 ; pub const XTP_TRADING_DAY_LEN : u32 = 9 ; pub const XTP_TICKER_LEN : u32 = 16 ; pub const XTP_TICKER_NAME_LEN : u32 = 64 ; pub const XTP_LOCAL_ORDER_LEN : u32 = 11 ; pub const XTP_ORDER_EXCH_LEN : u32 = 17 ; pub const XTP_EXEC_ID_LEN : u32 = 18 ; pub const XTP_BRANCH_PBU_LEN : u32 = 7 ; pub const XTP_ACCOUNT_NAME_LEN : u32 = 16 ; pub const XTP_SIDE_BUY : u32 = 1 ; pub const XTP_SIDE_SELL : u32 = 2 ; pub const XTP_SIDE_PURCHASE : u32 = 7 ; pub const XTP_SIDE_REDEMPTION : u32 = 8 ; pub const XTP_SIDE_SPLIT : u32 = 9 ; pub const XTP_SIDE_MERGE : u32 = 10 ; pub const XTP_SIDE_COVER : u32 = 11 ; pub const XTP_SIDE_FREEZE : u32 = 12 ; pub const XTP_SIDE_MARGIN_TRADE : u32 = 21 ; pub const XTP_SIDE_SHORT_SELL : u32 = 22 ; pub const XTP_SIDE_REPAY_MARGIN : u32 = 23 ; pub const XTP_SIDE_REPAY_STOCK : u32 = 24 ; pub const XTP_SIDE_STOCK_REPAY_STOCK : u32 = 26 ; pub const XTP_SIDE_SURSTK_TRANS : u32 = 27 ; pub const XTP_SIDE_GRTSTK_TRANSIN : u32 = 28 ; pub const XTP_SIDE_GRTSTK_TRANSOUT : u32 = 29 ; pub const XTP_SIDE_UNKNOWN : u32 = 30 ; pub const XTP_POSITION_EFFECT_INIT : u32 = 0 ; pub const XTP_POSITION_EFFECT_OPEN : u32 = 1 ; pub const XTP_POSITION_EFFECT_CLOSE : u32 = 2 ; pub const XTP_POSITION_EFFECT_FORCECLOSE : u32 = 3 ; pub const XTP_POSITION_EFFECT_CLOSETODAY : u32 = 4 ; pub const XTP_POSITION_EFFECT_CLOSEYESTERDAY : u32 = 5 ; pub const XTP_POSITION_EFFECT_FORCEOFF : u32 = 6 ; pub const XTP_POSITION_EFFECT_LOCALFORCECLOSE : u32 = 7 ; pub const XTP_POSITION_EFFECT_CREDIT_FORCE_COVER : u32 = 8 ; pub const XTP_POSITION_EFFECT_CREDIT_FORCE_CLEAR : u32 = 9 ; pub const XTP_POSITION_EFFECT_CREDIT_FORCE_DEBT : u32 = 10 ; pub const XTP_POSITION_EFFECT_CREDIT_FORCE_UNCOND : u32 = 11 ; pub const XTP_POSITION_EFFECT_UNKNOWN : u32 = 12 ; pub const XTP_TRDT_COMMON : u8 = 48u8 ; pub const XTP_TRDT_CASH : u8 = 49u8 ; pub const XTP_TRDT_PRIMARY : u8 = 50u8 ; pub const XTP_TRDT_CROSS_MKT_CASH : u8 = 51u8 ; pub const XTP_ORDT_Normal : u8 = 48u8 ; pub const XTP_ORDT_DeriveFromQuote : u8 = 49u8 ; pub const XTP_ORDT_DeriveFromCombination : u8 = 50u8 ; pub const XTP_ORDT_Combination : u8 = 51u8 ; pub const XTP_ORDT_ConditionalOrder : u8 = 52u8 ; pub const XTP_ORDT_Swap : u8 = 53u8 ; pub const XTP_ERR_MSG_LEN : u32 = 124 ; pub const XTP_ACCOUNT_PASSWORD_LEN : u32 = 64 ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __fsid_t { pub __val : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout___fsid_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __fsid_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __fsid_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __fsid_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __fsid_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; # [ doc = " \u{7248}\u{672c}\u{53f7}\u{7c7b}\u{578b}" ] pub type XTPVersionType = [ :: std :: os :: raw :: c_char ; 16usize ] ; # [ repr ( u32 ) ] # [ doc = "" ] # [ doc = "@brief XTP_LOG_LEVEL\u{662f}\u{65e5}\u{5fd7}\u{8f93}\u{51fa}\u{7ea7}\u{522b}\u{7c7b}\u{578b}" ] # [ doc = "" ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum XTP_LOG_LEVEL { # [ doc = "<\u{4e25}\u{91cd}\u{9519}\u{8bef}\u{7ea7}\u{522b}" ] XTP_LOG_LEVEL_FATAL = 0 , # [ doc = "<\u{9519}\u{8bef}\u{7ea7}\u{522b}" ] XTP_LOG_LEVEL_ERROR = 1 , # [ doc = "<\u{8b66}\u{544a}\u{7ea7}\u{522b}" ] XTP_LOG_LEVEL_WARNING = 2 , # [ doc = " ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( XTPRspInfoStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPRspInfoStruct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPRspInfoStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPRspInfoStruct > ( ) ) ) . error_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPRspInfoStruct ) , "::" , stringify ! ( error_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPRspInfoStruct > ( ) ) ) . error_msg as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPRspInfoStruct ) , "::" , stringify ! ( error_msg ) ) ) ; } # [ doc = "\u{54cd}\u{5e94}\u{4fe1}\u{606f}" ] pub type XTPRI = XTPRspInfoStruct ; # [ doc = "\u{6307}\u{5b9a}\u{7684}\u{5408}\u{7ea6}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPSpecificTickerStruct { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{4f8b}\u{5982}\"600000\"\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPSpecificTickerStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPSpecificTickerStruct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPSpecificTickerStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPSpecificTickerStruct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPSpecificTickerStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPSpecificTickerStruct > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPSpecificTickerStruct ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPSpecificTickerStruct > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPSpecificTickerStruct ) , "::" , stringify ! ( ticker ) ) ) ; } # [ doc = "\u{6307}\u{5b9a}\u{7684}\u{5408}\u{7ea6}" ] pub type XTPST = XTPSpecificTickerStruct ; # [ doc = "\u{80a1}\u{7968}\u{3001}\u{57fa}\u{91d1}\u{3001}\u{503a}\u{5238}\u{7b49}\u{989d}\u{5916}\u{6570}\u{636e}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPMarketDataStockExData { # [ doc = "\u{59d4}\u{6258}\u{4e70}\u{5165}\u{603b}\u{91cf}(SH,SZ)" ] pub total_bid_qty : i64 , # [ doc = "\u{59d4}\u{6258}\u{5356}\u{51fa}\u{603b}\u{91cf}(SH,SZ)" ] pub total_ask_qty : i64 , # [ doc = "\u{52a0}\u{6743}\u{5e73}\u{5747}\u{59d4}\u{4e70}\u{4ef7}\u{683c}(SH,SZ)" ] pub ma_bid_price : f64 , # [ doc = "\u{52a0}\u{6743}\u{5e73}\u{5747}\u{59d4}\u{5356}\u{4ef7}\u{683c}(SH,SZ)" ] pub ma_ask_price : f64 , # [ doc = "\u{503a}\u{5238}\u{52a0}\u{6743}\u{5e73}\u{5747}\u{59d4}\u{4e70}\u{4ef7}\u{683c}(SH)" ] pub ma_bond_bid_price : f64 , # [ doc = "\u{503a}\u{5238}\u{52a0}\u{6743}\u{5e73}\u{5747}\u{59d4}\u{5356}\u{4ef7}\u{683c}(SH)" ] pub ma_bond_ask_price : f64 , # [ doc = "\u{503a}\u{5238}\u{5230}\u{671f}\u{6536}\u{76ca}\u{7387}(SH)" ] pub yield_to_maturity : f64 , # [ doc = "\u{57fa}\u{91d1}\u{5b9e}\u{65f6}\u{53c2}\u{8003}\u{51c0}\u{503c}(SH,SZ)" ] pub iopv : f64 , # [ doc = "ETF\u{7533}\u{8d2d}\u{7b14}\u{6570}(SH)" ] pub etf_buy_count : i32 , # [ doc = "ETF\u{8d4e}\u{56de}\u{7b14}\u{6570}(SH)" ] pub etf_sell_count : i32 , # [ doc = "ETF\u{7533}\u{8d2d}\u{6570}\u{91cf}(SH)" ] pub etf_buy_qty : f64 , # [ doc = "ETF\u{7533}\u{8d2d}\u{91d1}\u{989d}(SH)" ] pub etf_buy_money : f64 , # [ doc = "ETF\u{8d4e}\u{56de}\u{6570}\u{91cf}(SH)" ] pub etf_sell_qty : f64 , # [ doc = "ETF\u{8d4e}\u{56de}\u{91d1}\u{989d}(SH)" ] pub etf_sell_money : f64 , # [ doc = "\u{6743}\u{8bc1}\u{6267}\u{884c}\u{7684}\u{603b}\u{6570}\u{91cf}(SH)" ] pub total_warrant_exec_qty : f64 , # [ doc = "\u{6743}\u{8bc1}\u{8dcc}\u{505c}\u{4ef7}\u{683c}\u{ff08}\u{5143}\u{ff09}(SH)" ] pub warrant_lower_price : f64 , # [ doc = "\u{6743}\u{8bc1}\u{6da8}\u{505c}\u{4ef7}\u{683c}\u{ff08}\u{5143}\u{ff09}(SH)" ] pub warrant_upper_price : f64 , # [ doc = "\u{4e70}\u{5165}\u{64a4}\u{5355}\u{7b14}\u{6570}(SH)" ] pub cancel_buy_count : i32 , # [ doc = "\u{5356}\u{51fa}\u{64a4}\u{5355}\u{7b14}\u{6570}(SH)" ] pub cancel_sell_count : i32 , # [ doc = "\u{4e70}\u{5165}\u{64a4}\u{5355}\u{6570}\u{91cf}(SH)" ] pub cancel_buy_qty : f64 , # [ doc = "\u{5356}\u{51fa}\u{64a4}\u{5355}\u{6570}\u{91cf}(SH)" ] pub cancel_sell_qty : f64 , # [ doc = "\u{4e70}\u{5165}\u{64a4}\u{5355}\u{91d1}\u{989d}(SH)" ] pub cancel_buy_money : f64 , # [ doc = "\u{5356}\u{51fa}\u{64a4}\u{5355}\u{91d1}\u{989d}(SH)" ] pub cancel_sell_money : f64 , # [ doc = "\u{4e70}\u{5165}\u{603b}\u{7b14}\u{6570}(SH)" ] pub total_buy_count : i64 , # [ doc = "\u{5356}\u{51fa}\u{603b}\u{7b14}\u{6570}(SH)" ] pub total_sell_count : i64 , # [ doc = "\u{4e70}\u{5165}\u{59d4}\u{6258}\u{6210}\u{4ea4}\u{6700}\u{5927}\u{7b49}\u{5f85}\u{65f6}\u{95f4}(SH)" ] pub duration_after_buy : i32 , # [ doc = "\u{5356}\u{51fa}\u{59d4}\u{6258}\u{6210}\u{4ea4}\u{6700}\u{5927}\u{7b49}\u{5f85}\u{65f6}\u{95f4}(SH)" ] pub duration_after_sell : i32 , # [ doc = "\u{4e70}\u{65b9}\u{59d4}\u{6258}\u{4ef7}\u{4f4d}\u{6570}(SH)" ] pub num_bid_orders : i32 , # [ doc = "\u{5356}\u{65b9}\u{59d4}\u{6258}\u{4ef7}\u{4f4d}\u{6570}(SH)" ] pub num_ask_orders : i32 , # [ doc = "\u{57fa}\u{91d1}T-1\u{65e5}\u{51c0}\u{503c}(SZ)" ] pub pre_iopv : f64 , # [ doc = "\u{9884}\u{7559}" ] pub r1 : i64 , # [ doc = "\u{9884}\u{7559}" ] pub r2 : i64 , } # [ test ] fn bindgen_test_layout_XTPMarketDataStockExData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPMarketDataStockExData > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( XTPMarketDataStockExData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPMarketDataStockExData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPMarketDataStockExData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_bid_qty as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_bid_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_ask_qty as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_ask_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . ma_bid_price as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( ma_bid_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . ma_ask_price as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( ma_ask_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . ma_bond_bid_price as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( ma_bond_bid_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . ma_bond_ask_price as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( ma_bond_ask_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . yield_to_maturity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( yield_to_maturity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . iopv as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( iopv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_buy_count as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_buy_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_sell_count as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_sell_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_buy_qty as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_buy_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_buy_money as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_buy_money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_sell_qty as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_sell_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . etf_sell_money as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( etf_sell_money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_warrant_exec_qty as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_warrant_exec_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . warrant_lower_price as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( warrant_lower_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . warrant_upper_price as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( warrant_upper_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_buy_count as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_buy_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_sell_count as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_sell_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_buy_qty as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_buy_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_sell_qty as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_sell_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_buy_money as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_buy_money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . cancel_sell_money as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( cancel_sell_money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_buy_count as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_buy_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . total_sell_count as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( total_sell_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . duration_after_buy as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( duration_after_buy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . duration_after_sell as * const _ as usize } , 188usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( duration_after_sell ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . num_bid_orders as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( num_bid_orders ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . num_ask_orders as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( num_ask_orders ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . pre_iopv as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( pre_iopv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . r1 as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( r1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStockExData > ( ) ) ) . r2 as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStockExData ) , "::" , stringify ! ( r2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPMarketDataOptionExData { # [ doc = "\u{6ce2}\u{6bb5}\u{6027}\u{4e2d}\u{65ad}\u{53c2}\u{8003}\u{4ef7}(SH)" ] pub auction_price : f64 , # [ doc = "\u{6ce2}\u{6bb5}\u{6027}\u{4e2d}\u{65ad}\u{96c6}\u{5408}\u{7ade}\u{4ef7}\u{865a}\u{62df}\u{5339}\u{914d}\u{91cf}(SH)" ] pub auction_qty : i64 , # [ doc = "\u{6700}\u{8fd1}\u{8be2}\u{4ef7}\u{65f6}\u{95f4}(SH)" ] pub last_enquiry_time : i64 , } # [ test ] fn bindgen_test_layout_XTPMarketDataOptionExData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPMarketDataOptionExData > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( XTPMarketDataOptionExData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPMarketDataOptionExData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPMarketDataOptionExData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataOptionExData > ( ) ) ) . auction_price as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataOptionExData ) , "::" , stringify ! ( auction_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataOptionExData > ( ) ) ) . auction_qty as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataOptionExData ) , "::" , stringify ! ( auction_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataOptionExData > ( ) ) ) . last_enquiry_time as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataOptionExData ) , "::" , stringify ! ( last_enquiry_time ) ) ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum XTP_MARKETDATA_TYPE { XTP_MARKETDATA_ACTUAL = 0 , XTP_MARKETDATA_OPTION = 1 , } # [ doc = "\u{884c}\u{60c5}" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPMarketDataStruct { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6700}\u{65b0}\u{4ef7}" ] pub last_price : f64 , # [ doc = "\u{6628}\u{6536}\u{76d8}" ] pub pre_close_price : f64 , # [ doc = "\u{4eca}\u{5f00}\u{76d8}" ] pub open_price : f64 , # [ doc = "\u{6700}\u{9ad8}\u{4ef7}" ] pub high_price : f64 , # [ doc = "\u{6700}\u{4f4e}\u{4ef7}" ] pub low_price : f64 , # [ doc = "\u{4eca}\u{6536}\u{76d8}" ] pub close_price : f64 , # [ doc = "\u{6628}\u{65e5}\u{6301}\u{4ed3}\u{91cf}(\u{5f20})(\u{76ee}\u{524d}\u{672a}\u{586b}\u{5199})" ] pub pre_total_long_positon : i64 , # [ doc = "\u{6301}\u{4ed3}\u{91cf}(\u{5f20})" ] pub total_long_positon : i64 , # [ doc = "\u{6628}\u{65e5}\u{7ed3}\u{7b97}\u{4ef7}" ] pub pre_settl_price : f64 , # [ doc = "\u{4eca}\u{65e5}\u{7ed3}\u{7b97}\u{4ef7}" ] pub settl_price : f64 , # [ doc = "\u{6da8}\u{505c}\u{4ef7}" ] pub upper_limit_price : f64 , # [ doc = "\u{8dcc}\u{505c}\u{4ef7}" ] pub lower_limit_price : f64 , # [ doc = "\u{9884}\u{7559}" ] pub pre_delta : f64 , # [ doc = "\u{9884}\u{7559}" ] pub curr_delta : f64 , # [ doc = " \u{65f6}\u{95f4}\u{7c7b}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub data_time : i64 , # [ doc = "\u{6570}\u{91cf}\u{ff0c}\u{4e3a}\u{603b}\u{6210}\u{4ea4}\u{91cf}\u{ff08}\u{5355}\u{4f4d}\u{80a1}\u{ff0c}\u{4e0e}\u{4ea4}\u{6613}\u{6240}\u{4e00}\u{81f4}\u{ff09}" ] pub qty : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff0c}\u{4e3a}\u{603b}\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff08}\u{5355}\u{4f4d}\u{5143}\u{ff0c}\u{4e0e}\u{4ea4}\u{6613}\u{6240}\u{4e00}\u{81f4}\u{ff09}" ] pub turnover : f64 , # [ doc = "\u{5f53}\u{65e5}\u{5747}\u{4ef7}=(turnover/qty)" ] pub avg_price : f64 , # [ doc = "\u{5341}\u{6863}\u{7533}\u{4e70}\u{4ef7}" ] pub bid : [ f64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{5356}\u{4ef7}" ] pub ask : [ f64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{4e70}\u{91cf}" ] pub bid_qty : [ i64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{5356}\u{91cf}" ] pub ask_qty : [ i64 ; 10usize ] , # [ doc = "\u{6210}\u{4ea4}\u{7b14}\u{6570}" ] pub trades_count : i64 , # [ doc = "\u{5f53}\u{524d}\u{4ea4}\u{6613}\u{72b6}\u{6001}\u{8bf4}\u{660e}" ] pub ticker_status : [ :: std :: os :: raw :: c_char ; 8usize ] , pub __bindgen_anon_1 : XTPMarketDataStruct__bindgen_ty_1 , # [ doc = "\u{51b3}\u{5b9a}\u{4e86}union\u{662f}\u{54ea}\u{79cd}\u{6570}\u{636e}\u{7c7b}\u{578b}" ] pub data_type : XTP_MARKETDATA_TYPE , # [ doc = "\u{9884}\u{7559}" ] pub r4 : i32 , } # [ doc = "\u{6570}\u{636e}" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union XTPMarketDataStruct__bindgen_ty_1 { pub stk : XTPMarketDataStockExData , pub opt : XTPMarketDataOptionExData , _bindgen_union_align : [ u64 ; 28usize ] , } # [ test ] fn bindgen_test_layout_XTPMarketDataStruct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPMarketDataStruct__bindgen_ty_1 > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( XTPMarketDataStruct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPMarketDataStruct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPMarketDataStruct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct__bindgen_ty_1 > ( ) ) ) . stk as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct__bindgen_ty_1 ) , "::" , stringify ! ( stk ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct__bindgen_ty_1 > ( ) ) ) . opt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct__bindgen_ty_1 ) , "::" , stringify ! ( opt ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPMarketDataStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPMarketDataStruct > ( ) , 736usize , concat ! ( "Size of: " , stringify ! ( XTPMarketDataStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPMarketDataStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPMarketDataStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . last_price as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( last_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . pre_close_price as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( pre_close_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . open_price as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( open_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . high_price as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( high_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . low_price as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( low_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . close_price as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( close_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . pre_total_long_positon as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( pre_total_long_positon ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . total_long_positon as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( total_long_positon ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . pre_settl_price as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( pre_settl_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . settl_price as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( settl_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . upper_limit_price as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( upper_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . lower_limit_price as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( lower_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . pre_delta as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( pre_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . curr_delta as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( curr_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . data_time as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( data_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . qty as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . turnover as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( turnover ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . avg_price as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( avg_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . bid as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( bid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . ask as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( ask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . bid_qty as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( bid_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . ask_qty as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( ask_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . trades_count as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( trades_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . ticker_status as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( ticker_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . data_type as * const _ as usize } , 728usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( data_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPMarketDataStruct > ( ) ) ) . r4 as * const _ as usize } , 732usize , concat ! ( "Offset of field: " , stringify ! ( XTPMarketDataStruct ) , "::" , stringify ! ( r4 ) ) ) ; } # [ doc = "\u{884c}\u{60c5}" ] pub type XTPMD = XTPMarketDataStruct ; # [ doc = "\u{80a1}\u{7968}\u{884c}\u{60c5}\u{9759}\u{6001}\u{4fe1}\u{606f}" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQuoteStaticInfo { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = " \u{5408}\u{7ea6}\u{540d}\u{79f0}" ] pub ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = " \u{5408}\u{7ea6}\u{7c7b}\u{578b}" ] pub ticker_type : XTP_TICKER_TYPE , # [ doc = "\u{6628}\u{6536}\u{76d8}" ] pub pre_close_price : f64 , # [ doc = "\u{6da8}\u{505c}\u{677f}\u{4ef7}" ] pub upper_limit_price : f64 , # [ doc = "\u{8dcc}\u{505c}\u{677f}\u{4ef7}" ] pub lower_limit_price : f64 , # [ doc = "\u{6700}\u{5c0f}\u{53d8}\u{52a8}\u{4ef7}\u{4f4d}" ] pub price_tick : f64 , # [ doc = " \u{5408}\u{7ea6}\u{6700}\u{5c0f}\u{4ea4}\u{6613}\u{91cf}(\u{4e70})" ] pub buy_qty_unit : i32 , # [ doc = " \u{5408}\u{7ea6}\u{6700}\u{5c0f}\u{4ea4}\u{6613}\u{91cf}(\u{5356})" ] pub sell_qty_unit : i32 , } # [ test ] fn bindgen_test_layout_XTPQuoteStaticInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQuoteStaticInfo > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( XTPQuoteStaticInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQuoteStaticInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQuoteStaticInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . ticker_name as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . ticker_type as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( ticker_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . pre_close_price as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( pre_close_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . upper_limit_price as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( upper_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . lower_limit_price as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( lower_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . price_tick as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( price_tick ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . buy_qty_unit as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( buy_qty_unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQuoteStaticInfo > ( ) ) ) . sell_qty_unit as * const _ as usize } , 124usize , concat ! ( "Offset of field: " , stringify ! ( XTPQuoteStaticInfo ) , "::" , stringify ! ( sell_qty_unit ) ) ) ; } # [ doc = "\u{80a1}\u{7968}\u{884c}\u{60c5}\u{9759}\u{6001}\u{4fe1}\u{606f}" ] pub type XTPQSI = XTPQuoteStaticInfo ; # [ doc = "\u{5b9a}\u{5355}\u{8584}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct OrderBookStruct { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6700}\u{65b0}\u{4ef7}" ] pub last_price : f64 , # [ doc = "\u{6570}\u{91cf}\u{ff0c}\u{4e3a}\u{603b}\u{6210}\u{4ea4}\u{91cf}" ] pub qty : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff0c}\u{4e3a}\u{603b}\u{6210}\u{4ea4}\u{91d1}\u{989d}" ] pub turnover : f64 , # [ doc = "\u{6210}\u{4ea4}\u{7b14}\u{6570}" ] pub trades_count : i64 , # [ doc = "\u{5341}\u{6863}\u{7533}\u{4e70}\u{4ef7}" ] pub bid : [ f64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{5356}\u{4ef7}" ] pub ask : [ f64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{4e70}\u{91cf}" ] pub bid_qty : [ i64 ; 10usize ] , # [ doc = "\u{5341}\u{6863}\u{7533}\u{5356}\u{91cf}" ] pub ask_qty : [ i64 ; 10usize ] , # [ doc = " \u{65f6}\u{95f4}\u{7c7b}" ] pub data_time : i64 , } # [ test ] fn bindgen_test_layout_OrderBookStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OrderBookStruct > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( OrderBookStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OrderBookStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OrderBookStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . last_price as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( last_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . qty as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . turnover as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( turnover ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . trades_count as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( trades_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . bid as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( bid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . ask as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( ask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . bid_qty as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( bid_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . ask_qty as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( ask_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < OrderBookStruct > ( ) ) ) . data_time as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( OrderBookStruct ) , "::" , stringify ! ( data_time ) ) ) ; } # [ doc = "\u{5b9a}\u{5355}\u{8584}" ] pub type XTPOB = OrderBookStruct ; # [ doc = "\u{9010}\u{7b14}\u{59d4}\u{6258}(\u{4ec5}\u{9002}\u{7528}\u{6df1}\u{4ea4}\u{6240})" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPTickByTickEntrust { # [ doc = "\u{9891}\u{9053}\u{4ee3}\u{7801}" ] pub channel_no : i32 , # [ doc = "\u{59d4}\u{6258}\u{5e8f}\u{53f7}(\u{5728}\u{540c}\u{4e00}\u{4e2a}channel_no\u{5185}\u{552f}\u{4e00}\u{ff0c}\u{4ece}1\u{5f00}\u{59cb}\u{8fde}\u{7eed})" ] pub seq : i64 , # [ doc = "\u{59d4}\u{6258}\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{59d4}\u{6258}\u{6570}\u{91cf}" ] pub qty : i64 , # [ doc = "'1':\u{4e70}; '2':\u{5356}; 'G':\u{501f}\u{5165}; 'F':\u{51fa}\u{501f}" ] pub side : :: std :: os :: raw :: c_char , # [ doc = "\u{8ba2}\u{5355}\u{7c7b}\u{522b}: '1': \u{5e02}\u{4ef7}; '2': \u{9650}\u{4ef7}; 'U': \u{672c}\u{65b9}\u{6700}\u{4f18}" ] pub ord_type : :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_XTPTickByTickEntrust ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickByTickEntrust > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( XTPTickByTickEntrust ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickByTickEntrust > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickByTickEntrust ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . channel_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( channel_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . seq as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . price as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . qty as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . side as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( side ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickEntrust > ( ) ) ) . ord_type as * const _ as usize } , 33usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickEntrust ) , "::" , stringify ! ( ord_type ) ) ) ; } # [ doc = "\u{9010}\u{7b14}\u{6210}\u{4ea4}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPTickByTickTrade { # [ doc = "\u{9891}\u{9053}\u{4ee3}\u{7801}" ] pub channel_no : i32 , # [ doc = "\u{59d4}\u{6258}\u{5e8f}\u{53f7}(\u{5728}\u{540c}\u{4e00}\u{4e2a}channel_no\u{5185}\u{552f}\u{4e00}\u{ff0c}\u{4ece}1\u{5f00}\u{59cb}\u{8fde}\u{7eed})" ] pub seq : i64 , # [ doc = "\u{6210}\u{4ea4}\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{6210}\u{4ea4}\u{91cf}" ] pub qty : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}(\u{4ec5}\u{9002}\u{7528}\u{4e0a}\u{4ea4}\u{6240})" ] pub money : f64 , # [ doc = "\u{4e70}\u{65b9}\u{8ba2}\u{5355}\u{53f7}" ] pub bid_no : i64 , # [ doc = "\u{5356}\u{65b9}\u{8ba2}\u{5355}\u{53f7}" ] pub ask_no : i64 , # [ doc = " SH: \u{5185}\u{5916}\u{76d8}\u{6807}\u{8bc6}('B':\u{4e3b}\u{52a8}\u{4e70}; 'S':\u{4e3b}\u{52a8}\u{5356}; 'N':\u{672a}\u{77e5})" ] # [ doc = " SZ: \u{6210}\u{4ea4}\u{6807}\u{8bc6}('4':\u{64a4}; 'F':\u{6210}\u{4ea4})" ] pub trade_flag : :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_XTPTickByTickTrade ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickByTickTrade > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( XTPTickByTickTrade ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickByTickTrade > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickByTickTrade ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . channel_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( channel_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . seq as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . price as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . qty as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . money as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( money ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . bid_no as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( bid_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . ask_no as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( ask_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickTrade > ( ) ) ) . trade_flag as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickTrade ) , "::" , stringify ! ( trade_flag ) ) ) ; } # [ doc = "\u{9010}\u{7b14}\u{6570}\u{636e}\u{4fe1}\u{606f}" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPTickByTickStruct { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{9884}\u{7559}" ] pub seq : i64 , # [ doc = "\u{59d4}\u{6258}\u{65f6}\u{95f4} or \u{6210}\u{4ea4}\u{65f6}\u{95f4}" ] pub data_time : i64 , # [ doc = "\u{59d4}\u{6258} or \u{6210}\u{4ea4}" ] pub type_ : XTP_TBT_TYPE , pub __bindgen_anon_1 : XTPTickByTickStruct__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union XTPTickByTickStruct__bindgen_ty_1 { pub entrust : XTPTickByTickEntrust , pub trade : XTPTickByTickTrade , _bindgen_union_align : [ u64 ; 8usize ] , } # [ test ] fn bindgen_test_layout_XTPTickByTickStruct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickByTickStruct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( XTPTickByTickStruct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickByTickStruct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickByTickStruct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct__bindgen_ty_1 > ( ) ) ) . entrust as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct__bindgen_ty_1 ) , "::" , stringify ! ( entrust ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct__bindgen_ty_1 > ( ) ) ) . trade as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct__bindgen_ty_1 ) , "::" , stringify ! ( trade ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPTickByTickStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickByTickStruct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( XTPTickByTickStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickByTickStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickByTickStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . seq as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . data_time as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( data_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickByTickStruct > ( ) ) ) . type_ as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickByTickStruct ) , "::" , stringify ! ( type_ ) ) ) ; } # [ doc = "\u{9010}\u{7b14}\u{6570}\u{636e}\u{4fe1}\u{606f}" ] pub type XTPTBT = XTPTickByTickStruct ; # [ doc = "\u{4f9b}\u{67e5}\u{8be2}\u{7684}\u{6700}\u{65b0}\u{4fe1}\u{606f}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPTickerPriceInfo { # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}\u{ff08}\u{4e0d}\u{5305}\u{542b}\u{4ea4}\u{6613}\u{6240}\u{4fe1}\u{606f}\u{ff09}\u{ff0c}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6700}\u{65b0}\u{4ef7}" ] pub last_price : f64 , } # [ test ] fn bindgen_test_layout_XTPTickerPriceInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTickerPriceInfo > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPTickerPriceInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTickerPriceInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTickerPriceInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickerPriceInfo > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickerPriceInfo ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickerPriceInfo > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickerPriceInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTickerPriceInfo > ( ) ) ) . last_price as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPTickerPriceInfo ) , "::" , stringify ! ( last_price ) ) ) ; } # [ doc = "\u{4f9b}\u{67e5}\u{8be2}\u{7684}\u{6700}\u{65b0}\u{4fe1}\u{606f}" ] pub type XTPTPI = XTPTickerPriceInfo ; # [ repr ( C ) ] # [ repr ( align ( 16 ) ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [ test ] fn bindgen_test_layout_max_align_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < max_align_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < max_align_t > ( ) , 16usize , concat ! ( "Alignment of " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce2 ) ) ) ; } # [ doc = "\u{65b0}\u{8ba2}\u{5355}\u{8bf7}\u{6c42}" ] # [ repr ( C ) ] pub struct XTPOrderInsertInfo { # [ doc = "XTP\u{7cfb}\u{7edf}\u{8ba2}\u{5355}ID\u{ff0c}\u{65e0}\u{9700}\u{7528}\u{6237}\u{586b}\u{5199}\u{ff0c}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{552f}\u{4e00}" ] pub order_xtp_id : u64 , # [ doc = "\u{62a5}\u{5355}\u{5f15}\u{7528}\u{ff0c}\u{7531}\u{5ba2}\u{6237}\u{81ea}\u{5b9a}\u{4e49}" ] pub order_client_id : u32 , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801} \u{5ba2}\u{6237}\u{7aef}\u{8bf7}\u{6c42}\u{4e0d}\u{5e26}\u{7a7a}\u{683c}\u{ff0c}\u{4ee5}'\\0'\u{7ed3}\u{5c3e}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{6b62}\u{635f}\u{4ef7}\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff09}" ] pub stop_price : f64 , # [ doc = "\u{6570}\u{91cf}(\u{80a1}\u{7968}\u{5355}\u{4f4d}\u{4e3a}\u{80a1}\u{ff0c}\u{9006}\u{56de}\u{8d2d}\u{5355}\u{4f4d}\u{4e3a}\u{5f20})" ] pub quantity : i64 , # [ doc = "\u{62a5}\u{5355}\u{4ef7}\u{683c}" ] pub price_type : XTP_PRICE_TYPE , pub __bindgen_anon_1 : XTPOrderInsertInfo__bindgen_ty_1 , # [ doc = "\u{4e1a}\u{52a1}\u{7c7b}\u{578b}" ] pub business_type : XTP_BUSINESS_TYPE , } # [ repr ( C ) ] pub struct XTPOrderInsertInfo__bindgen_ty_1 { pub u32 : __BindgenUnionField < u32 > , pub __bindgen_anon_1 : __BindgenUnionField < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > , pub bindgen_union_field : u32 , } # [ repr ( C ) ] pub struct XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 { # [ doc = "\u{4e70}\u{5356}\u{65b9}\u{5411}" ] pub side : XTP_SIDE_TYPE , # [ doc = "\u{5f00}\u{5e73}\u{6807}\u{5fd7}" ] pub position_effect : XTP_POSITION_EFFECT_TYPE , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}1" ] pub reserved1 : u8 , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}2" ] pub reserved2 : u8 , } # [ test ] fn bindgen_test_layout_XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . side as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( side ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . position_effect as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( position_effect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved1 as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved2 as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved2 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPOrderInsertInfo__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInsertInfo__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInsertInfo__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo__bindgen_ty_1 > ( ) ) ) . u32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo__bindgen_ty_1 ) , "::" , stringify ! ( u32 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPOrderInsertInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInsertInfo > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInsertInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInsertInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInsertInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . order_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . order_client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( order_client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . ticker as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . market as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . price as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . stop_price as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( stop_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . quantity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . price_type as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( price_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInsertInfo > ( ) ) ) . business_type as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInsertInfo ) , "::" , stringify ! ( business_type ) ) ) ; } # [ doc = "\u{64a4}\u{5355}\u{5931}\u{8d25}\u{54cd}\u{5e94}\u{6d88}\u{606f}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPOrderCancelInfo { # [ doc = "\u{64a4}\u{5355}XTPID" ] pub order_cancel_xtp_id : u64 , # [ doc = "\u{539f}\u{59cb}\u{8ba2}\u{5355}XTPID" ] pub order_xtp_id : u64 , } # [ test ] fn bindgen_test_layout_XTPOrderCancelInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderCancelInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( XTPOrderCancelInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderCancelInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderCancelInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderCancelInfo > ( ) ) ) . order_cancel_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderCancelInfo ) , "::" , stringify ! ( order_cancel_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderCancelInfo > ( ) ) ) . order_xtp_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderCancelInfo ) , "::" , stringify ! ( order_xtp_id ) ) ) ; } # [ doc = "\u{62a5}\u{5355}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ repr ( C ) ] pub struct XTPOrderInfo { # [ doc = "XTP\u{7cfb}\u{7edf}\u{8ba2}\u{5355}ID\u{ff0c}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{552f}\u{4e00}" ] pub order_xtp_id : u64 , # [ doc = "\u{62a5}\u{5355}\u{5f15}\u{7528}\u{ff0c}\u{7528}\u{6237}\u{81ea}\u{5b9a}\u{4e49}" ] pub order_client_id : u32 , # [ doc = "\u{62a5}\u{5355}\u{64cd}\u{4f5c}\u{5f15}\u{7528}\u{ff0c}\u{7528}\u{6237}\u{81ea}\u{5b9a}\u{4e49}\u{ff08}\u{6682}\u{672a}\u{4f7f}\u{7528}\u{ff09}" ] pub order_cancel_client_id : u32 , # [ doc = "\u{64a4}\u{5355}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{7684}id\u{ff0c}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{552f}\u{4e00}" ] pub order_cancel_xtp_id : u64 , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{6570}\u{91cf}\u{ff0c}\u{6b64}\u{8ba2}\u{5355}\u{7684}\u{62a5}\u{5355}\u{6570}\u{91cf}" ] pub quantity : i64 , # [ doc = "\u{62a5}\u{5355}\u{4ef7}\u{683c}\u{6761}\u{4ef6}" ] pub price_type : XTP_PRICE_TYPE , pub __bindgen_anon_1 : XTPOrderInfo__bindgen_ty_1 , # [ doc = "\u{4e1a}\u{52a1}\u{7c7b}\u{578b}" ] pub business_type : XTP_BUSINESS_TYPE , # [ doc = "\u{4eca}\u{6210}\u{4ea4}\u{6570}\u{91cf}\u{ff0c}\u{4e3a}\u{6b64}\u{8ba2}\u{5355}\u{7d2f}\u{8ba1}\u{6210}\u{4ea4}\u{6570}\u{91cf}" ] pub qty_traded : i64 , # [ doc = "\u{5269}\u{4f59}\u{6570}\u{91cf}\u{ff0c}\u{5f53}\u{64a4}\u{5355}\u{6210}\u{529f}\u{65f6}\u{ff0c}\u{8868}\u{793a}\u{64a4}\u{5355}\u{6570}\u{91cf}" ] pub qty_left : i64 , # [ doc = "\u{59d4}\u{6258}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub insert_time : i64 , # [ doc = "\u{6700}\u{540e}\u{4fee}\u{6539}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub update_time : i64 , # [ doc = "\u{64a4}\u{9500}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub cancel_time : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff0c}\u{4e3a}\u{6b64}\u{8ba2}\u{5355}\u{7684}\u{6210}\u{4ea4}\u{603b}\u{91d1}\u{989d}" ] pub trade_amount : f64 , # [ doc = "\u{672c}\u{5730}\u{62a5}\u{5355}\u{7f16}\u{53f7} OMS\u{751f}\u{6210}\u{7684}\u{5355}\u{53f7}\u{ff0c}\u{4e0d}\u{7b49}\u{540c}\u{4e8e}order_xtp_id\u{ff0c}\u{4e3a}\u{670d}\u{52a1}\u{5668}\u{4f20}\u{5230}\u{62a5}\u{76d8}\u{7684}\u{5355}\u{53f7}" ] pub order_local_id : [ :: std :: os :: raw :: c_char ; 11usize ] , # [ doc = "\u{62a5}\u{5355}\u{72b6}\u{6001}\u{ff0c}\u{8ba2}\u{5355}\u{54cd}\u{5e94}\u{4e2d}\u{6ca1}\u{6709}\u{90e8}\u{5206}\u{6210}\u{4ea4}\u{72b6}\u{6001}\u{7684}\u{63a8}\u{9001}\u{ff0c}\u{5728}\u{67e5}\u{8be2}\u{8ba2}\u{5355}\u{7ed3}\u{679c}\u{4e2d}\u{ff0c}\u{4f1a}\u{6709}\u{90e8}\u{5206}\u{6210}\u{4ea4}\u{72b6}\u{6001}" ] pub order_status : XTP_ORDER_STATUS_TYPE , # [ doc = "\u{62a5}\u{5355}\u{63d0}\u{4ea4}\u{72b6}\u{6001}\u{ff0c}OMS\u{5185}\u{90e8}\u{4f7f}\u{7528}\u{ff0c}\u{7528}\u{6237}\u{65e0}\u{9700}\u{5173}\u{5fc3}" ] pub order_submit_status : XTP_ORDER_SUBMIT_STATUS_TYPE , # [ doc = "\u{62a5}\u{5355}\u{7c7b}\u{578b}" ] pub order_type : TXTPOrderTypeType , } # [ repr ( C ) ] pub struct XTPOrderInfo__bindgen_ty_1 { pub u32 : __BindgenUnionField < u32 > , pub __bindgen_anon_1 : __BindgenUnionField < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > , pub bindgen_union_field : u32 , } # [ repr ( C ) ] pub struct XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 { # [ doc = "\u{4e70}\u{5356}\u{65b9}\u{5411}" ] pub side : XTP_SIDE_TYPE , # [ doc = "\u{5f00}\u{5e73}\u{6807}\u{5fd7}" ] pub position_effect : XTP_POSITION_EFFECT_TYPE , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}1" ] pub reserved1 : u8 , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}2" ] pub reserved2 : u8 , } # [ test ] fn bindgen_test_layout_XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . side as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( side ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . position_effect as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( position_effect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved1 as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved2 as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved2 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPOrderInfo__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInfo__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInfo__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInfo__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInfo__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo__bindgen_ty_1 > ( ) ) ) . u32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo__bindgen_ty_1 ) , "::" , stringify ! ( u32 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPOrderInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPOrderInfo > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( XTPOrderInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPOrderInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPOrderInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_cancel_client_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_cancel_client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_cancel_xtp_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_cancel_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . ticker as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . market as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . price as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . quantity as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . price_type as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( price_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . business_type as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( business_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . qty_traded as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( qty_traded ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . qty_left as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( qty_left ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . insert_time as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( insert_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . update_time as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( update_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . cancel_time as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( cancel_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . trade_amount as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( trade_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_local_id as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_local_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_status as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_submit_status as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_submit_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPOrderInfo > ( ) ) ) . order_type as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( XTPOrderInfo ) , "::" , stringify ! ( order_type ) ) ) ; } # [ doc = "\u{62a5}\u{5355}\u{6210}\u{4ea4}\u{7ed3}\u{6784}\u{4f53}" ] # [ repr ( C ) ] pub struct XTPTradeReport { # [ doc = "XTP\u{7cfb}\u{7edf}\u{8ba2}\u{5355}ID\u{ff0c}\u{6b64}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{76f8}\u{5173}\u{7684}\u{8ba2}\u{5355}ID\u{ff0c}\u{5728}XTP\u{7cfb}\u{7edf}\u{4e2d}\u{552f}\u{4e00}" ] pub order_xtp_id : u64 , # [ doc = "\u{62a5}\u{5355}\u{5f15}\u{7528}" ] pub order_client_id : u32 , # [ doc = "\u{5408}\u{7ea6}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{8ba2}\u{5355}\u{53f7}\u{ff0c}\u{5f15}\u{5165}XTPID\u{540e}\u{ff0c}\u{8be5}\u{5b57}\u{6bb5}\u{5b9e}\u{9645}\u{548c}order_xtp_id\u{91cd}\u{590d}\u{3002}\u{63a5}\u{53e3}\u{4e2d}\u{6682}\u{65f6}\u{4fdd}\u{7559}\u{3002}" ] pub local_order_id : u64 , # [ doc = "\u{6210}\u{4ea4}\u{7f16}\u{53f7}\u{ff0c}\u{6df1}\u{4ea4}\u{6240}\u{552f}\u{4e00}\u{ff0c}\u{4e0a}\u{4ea4}\u{6240}\u{6bcf}\u{7b14}\u{4ea4}\u{6613}\u{552f}\u{4e00}\u{ff0c}\u{5f53}\u{53d1}\u{73b0}2\u{7b14}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{62e5}\u{6709}\u{76f8}\u{540c}\u{7684}exec_id\u{ff0c}\u{5219}\u{53ef}\u{4ee5}\u{8ba4}\u{4e3a}\u{6b64}\u{7b14}\u{4ea4}\u{6613}\u{81ea}\u{6210}\u{4ea4}" ] pub exec_id : [ :: std :: os :: raw :: c_char ; 18usize ] , # [ doc = "\u{4ef7}\u{683c}\u{ff0c}\u{6b64}\u{6b21}\u{6210}\u{4ea4}\u{7684}\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{6570}\u{91cf}\u{ff0c}\u{6b64}\u{6b21}\u{6210}\u{4ea4}\u{7684}\u{6570}\u{91cf}\u{ff0c}\u{4e0d}\u{662f}\u{7d2f}\u{8ba1}\u{6570}\u{91cf}" ] pub quantity : i64 , # [ doc = "\u{6210}\u{4ea4}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss" ] pub trade_time : i64 , # [ doc = "\u{6210}\u{4ea4}\u{91d1}\u{989d}\u{ff0c}\u{6b64}\u{6b21}\u{6210}\u{4ea4}\u{7684}\u{603b}\u{91d1}\u{989d} = price*quantity" ] pub trade_amount : f64 , # [ doc = "\u{6210}\u{4ea4}\u{5e8f}\u{53f7} --\u{56de}\u{62a5}\u{8bb0}\u{5f55}\u{53f7}\u{ff0c}\u{6bcf}\u{4e2a}\u{4ea4}\u{6613}\u{6240}\u{552f}\u{4e00},report_index+market\u{5b57}\u{6bb5}\u{53ef}\u{4ee5}\u{7ec4}\u{6210}\u{552f}\u{4e00}\u{6807}\u{8bc6}\u{8868}\u{793a}\u{6210}\u{4ea4}\u{56de}\u{62a5}" ] pub report_index : u64 , # [ doc = "\u{62a5}\u{5355}\u{7f16}\u{53f7} --\u{4ea4}\u{6613}\u{6240}\u{5355}\u{53f7}\u{ff0c}\u{4e0a}\u{4ea4}\u{6240}\u{4e3a}\u{7a7a}\u{ff0c}\u{6df1}\u{4ea4}\u{6240}\u{6709}\u{6b64}\u{5b57}\u{6bb5}" ] pub order_exch_id : [ :: std :: os :: raw :: c_char ; 17usize ] , # [ doc = "\u{6210}\u{4ea4}\u{7c7b}\u{578b} --\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{4e2d}\u{7684}\u{6267}\u{884c}\u{7c7b}\u{578b}" ] pub trade_type : TXTPTradeTypeType , pub __bindgen_anon_1 : XTPTradeReport__bindgen_ty_1 , # [ doc = "\u{4e1a}\u{52a1}\u{7c7b}\u{578b}" ] pub business_type : XTP_BUSINESS_TYPE , # [ doc = "\u{4ea4}\u{6613}\u{6240}\u{4ea4}\u{6613}\u{5458}\u{4ee3}\u{7801}" ] pub branch_pbu : [ :: std :: os :: raw :: c_char ; 7usize ] , } # [ repr ( C ) ] pub struct XTPTradeReport__bindgen_ty_1 { pub u32 : __BindgenUnionField < u32 > , pub __bindgen_anon_1 : __BindgenUnionField < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > , pub bindgen_union_field : u32 , } # [ repr ( C ) ] pub struct XTPTradeReport__bindgen_ty_1__bindgen_ty_1 { # [ doc = "\u{4e70}\u{5356}\u{65b9}\u{5411}" ] pub side : XTP_SIDE_TYPE , # [ doc = "\u{5f00}\u{5e73}\u{6807}\u{5fd7}" ] pub position_effect : XTP_POSITION_EFFECT_TYPE , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}1" ] pub reserved1 : u8 , # [ doc = "\u{9884}\u{7559}\u{5b57}\u{6bb5}2" ] pub reserved2 : u8 , } # [ test ] fn bindgen_test_layout_XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . side as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( side ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . position_effect as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( position_effect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved1 as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . reserved2 as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( reserved2 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPTradeReport__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTradeReport__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( XTPTradeReport__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTradeReport__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPTradeReport__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport__bindgen_ty_1 > ( ) ) ) . u32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport__bindgen_ty_1 ) , "::" , stringify ! ( u32 ) ) ) ; } # [ test ] fn bindgen_test_layout_XTPTradeReport ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPTradeReport > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( XTPTradeReport ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPTradeReport > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPTradeReport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . order_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . order_client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( order_client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . ticker as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . market as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . local_order_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( local_order_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . exec_id as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( exec_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . price as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . quantity as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . trade_time as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( trade_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . trade_amount as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( trade_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . report_index as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( report_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . order_exch_id as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( order_exch_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . trade_type as * const _ as usize } , 121usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( trade_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . business_type as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( business_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPTradeReport > ( ) ) ) . branch_pbu as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( XTPTradeReport ) , "::" , stringify ! ( branch_pbu ) ) ) ; } # [ doc = "" ] # [ doc = "\u{62a5}\u{5355}\u{67e5}\u{8be2}" ] # [ doc = "" ] # [ doc = "\u{62a5}\u{5355}\u{67e5}\u{8be2}\u{8bf7}\u{6c42}-\u{6761}\u{4ef6}\u{67e5}\u{8be2}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryOrderReq { # [ doc = "\u{8bc1}\u{5238}\u{4ee3}\u{7801}\u{ff0c}\u{53ef}\u{4ee5}\u{4e3a}\u{7a7a}\u{ff0c}\u{5982}\u{679c}\u{4e3a}\u{7a7a}\u{ff0c}\u{5219}\u{9ed8}\u{8ba4}\u{67e5}\u{8be2}\u{65f6}\u{95f4}\u{6bb5}\u{5185}\u{7684}\u{6240}\u{6709}\u{6210}\u{4ea4}\u{56de}\u{62a5}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss\u{ff0c}\u{4e3a}0\u{5219}\u{9ed8}\u{8ba4}\u{5f53}\u{524d}\u{4ea4}\u{6613}\u{65e5}0\u{70b9}" ] pub begin_time : i64 , # [ doc = "\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss\u{ff0c}\u{4e3a}0\u{5219}\u{9ed8}\u{8ba4}\u{5f53}\u{524d}\u{65f6}\u{95f4}" ] pub end_time : i64 , } # [ test ] fn bindgen_test_layout_XTPQueryOrderReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryOrderReq > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPQueryOrderReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryOrderReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryOrderReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderReq > ( ) ) ) . ticker as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderReq ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderReq > ( ) ) ) . begin_time as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderReq ) , "::" , stringify ! ( begin_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderReq > ( ) ) ) . end_time as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderReq ) , "::" , stringify ! ( end_time ) ) ) ; } # [ doc = "\u{62a5}\u{5355}\u{67e5}\u{8be2}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] pub type XTPQueryOrderRsp = XTPOrderInfo ; # [ doc = "\u{67e5}\u{8be2}\u{8ba2}\u{5355}\u{8bf7}\u{6c42}-\u{5206}\u{9875}\u{67e5}\u{8be2}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryOrderByPageReq { # [ doc = "\u{9700}\u{8981}\u{67e5}\u{8be2}\u{7684}\u{8ba2}\u{5355}\u{6761}\u{6570}" ] pub req_count : i64 , # [ doc = "\u{4e0a}\u{4e00}\u{6b21}\u{6536}\u{5230}\u{7684}\u{67e5}\u{8be2}\u{8ba2}\u{5355}\u{7ed3}\u{679c}\u{4e2d}\u{5e26}\u{56de}\u{6765}\u{7684}\u{7d22}\u{5f15}\u{ff0c}\u{5982}\u{679c}\u{662f}\u{4ece}\u{5934}\u{67e5}\u{8be2}\u{ff0c}\u{8bf7}\u{7f6e}0" ] pub reference : i64 , # [ doc = "\u{4fdd}\u{7559}\u{5b57}\u{6bb5}" ] pub reserved : i64 , } # [ test ] fn bindgen_test_layout_XTPQueryOrderByPageReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryOrderByPageReq > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( XTPQueryOrderByPageReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryOrderByPageReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryOrderByPageReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderByPageReq > ( ) ) ) . req_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderByPageReq ) , "::" , stringify ! ( req_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderByPageReq > ( ) ) ) . reference as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderByPageReq ) , "::" , stringify ! ( reference ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOrderByPageReq > ( ) ) ) . reserved as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOrderByPageReq ) , "::" , stringify ! ( reserved ) ) ) ; } # [ doc = "" ] # [ doc = "\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{67e5}\u{8be2}" ] # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{6210}\u{4ea4}\u{62a5}\u{544a}\u{8bf7}\u{6c42}-\u{6839}\u{636e}\u{6267}\u{884c}\u{7f16}\u{53f7}\u{67e5}\u{8be2}\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff09}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryReportByExecIdReq { # [ doc = "XTP\u{8ba2}\u{5355}\u{7cfb}\u{7edf}ID" ] pub order_xtp_id : u64 , # [ doc = "\u{6210}\u{4ea4}\u{6267}\u{884c}\u{7f16}\u{53f7}" ] pub exec_id : [ :: std :: os :: raw :: c_char ; 18usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryReportByExecIdReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryReportByExecIdReq > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPQueryReportByExecIdReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryReportByExecIdReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryReportByExecIdReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryReportByExecIdReq > ( ) ) ) . order_xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryReportByExecIdReq ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryReportByExecIdReq > ( ) ) ) . exec_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryReportByExecIdReq ) , "::" , stringify ! ( exec_id ) ) ) ; } # [ doc = "\u{67e5}\u{8be2}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{8bf7}\u{6c42}-\u{67e5}\u{8be2}\u{6761}\u{4ef6}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryTraderReq { # [ doc = "\u{8bc1}\u{5238}\u{4ee3}\u{7801}\u{ff0c}\u{53ef}\u{4ee5}\u{4e3a}\u{7a7a}\u{ff0c}\u{5982}\u{679c}\u{4e3a}\u{7a7a}\u{ff0c}\u{5219}\u{9ed8}\u{8ba4}\u{67e5}\u{8be2}\u{65f6}\u{95f4}\u{6bb5}\u{5185}\u{7684}\u{6240}\u{6709}\u{6210}\u{4ea4}\u{56de}\u{62a5}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{5f00}\u{59cb}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss\u{ff0c}\u{4e3a}0\u{5219}\u{9ed8}\u{8ba4}\u{5f53}\u{524d}\u{4ea4}\u{6613}\u{65e5}0\u{70b9}" ] pub begin_time : i64 , # [ doc = "\u{7ed3}\u{675f}\u{65f6}\u{95f4}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDDHHMMSSsss\u{ff0c}\u{4e3a}0\u{5219}\u{9ed8}\u{8ba4}\u{5f53}\u{524d}\u{65f6}\u{95f4}" ] pub end_time : i64 , } # [ test ] fn bindgen_test_layout_XTPQueryTraderReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryTraderReq > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPQueryTraderReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryTraderReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryTraderReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderReq > ( ) ) ) . ticker as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderReq ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderReq > ( ) ) ) . begin_time as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderReq ) , "::" , stringify ! ( begin_time ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderReq > ( ) ) ) . end_time as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderReq ) , "::" , stringify ! ( end_time ) ) ) ; } # [ doc = "\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{67e5}\u{8be2}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] pub type XTPQueryTradeRsp = XTPTradeReport ; # [ doc = "\u{67e5}\u{8be2}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{8bf7}\u{6c42}-\u{5206}\u{9875}\u{67e5}\u{8be2}" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryTraderByPageReq { # [ doc = "\u{9700}\u{8981}\u{67e5}\u{8be2}\u{7684}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{6761}\u{6570}" ] pub req_count : i64 , # [ doc = "\u{4e0a}\u{4e00}\u{6b21}\u{6536}\u{5230}\u{7684}\u{67e5}\u{8be2}\u{6210}\u{4ea4}\u{56de}\u{62a5}\u{7ed3}\u{679c}\u{4e2d}\u{5e26}\u{56de}\u{6765}\u{7684}\u{7d22}\u{5f15}\u{ff0c}\u{5982}\u{679c}\u{662f}\u{4ece}\u{5934}\u{67e5}\u{8be2}\u{ff0c}\u{8bf7}\u{7f6e}0" ] pub reference : i64 , # [ doc = "\u{4fdd}\u{7559}\u{5b57}\u{6bb5}" ] pub reserved : i64 , } # [ test ] fn bindgen_test_layout_XTPQueryTraderByPageReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryTraderByPageReq > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( XTPQueryTraderByPageReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryTraderByPageReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryTraderByPageReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderByPageReq > ( ) ) ) . req_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderByPageReq ) , "::" , stringify ! ( req_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderByPageReq > ( ) ) ) . reference as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderByPageReq ) , "::" , stringify ! ( reference ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryTraderByPageReq > ( ) ) ) . reserved as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryTraderByPageReq ) , "::" , stringify ! ( reserved ) ) ) ; } # [ doc = "" ] # [ doc = "\u{8d26}\u{6237}\u{8d44}\u{91d1}\u{67e5}\u{8be2}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryAssetRsp { # [ doc = "\u{603b}\u{8d44}\u{4ea7}(=\u{53ef}\u{7528}\u{8d44}\u{91d1} + \u{8bc1}\u{5238}\u{8d44}\u{4ea7}\u{ff08}\u{76ee}\u{524d}\u{4e3a}0\u{ff09}+ \u{9884}\u{6263}\u{7684}\u{8d44}\u{91d1})" ] pub total_asset : f64 , # [ doc = "\u{53ef}\u{7528}\u{8d44}\u{91d1}" ] pub buying_power : f64 , # [ doc = "\u{8bc1}\u{5238}\u{8d44}\u{4ea7}\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff0c}\u{76ee}\u{524d}\u{4e3a}0\u{ff09}" ] pub security_asset : f64 , # [ doc = "\u{7d2f}\u{8ba1}\u{4e70}\u{5165}\u{6210}\u{4ea4}\u{8bc1}\u{5238}\u{5360}\u{7528}\u{8d44}\u{91d1}" ] pub fund_buy_amount : f64 , # [ doc = "\u{7d2f}\u{8ba1}\u{4e70}\u{5165}\u{6210}\u{4ea4}\u{4ea4}\u{6613}\u{8d39}\u{7528}" ] pub fund_buy_fee : f64 , # [ doc = "\u{7d2f}\u{8ba1}\u{5356}\u{51fa}\u{6210}\u{4ea4}\u{8bc1}\u{5238}\u{6240}\u{5f97}\u{8d44}\u{91d1}" ] pub fund_sell_amount : f64 , # [ doc = "\u{7d2f}\u{8ba1}\u{5356}\u{51fa}\u{6210}\u{4ea4}\u{4ea4}\u{6613}\u{8d39}\u{7528}" ] pub fund_sell_fee : f64 , # [ doc = "XTP\u{7cfb}\u{7edf}\u{9884}\u{6263}\u{7684}\u{8d44}\u{91d1}\u{ff08}\u{5305}\u{62ec}\u{8d2d}\u{4e70}\u{5356}\u{80a1}\u{7968}\u{65f6}\u{9884}\u{6263}\u{7684}\u{4ea4}\u{6613}\u{8d44}\u{91d1}+\u{9884}\u{6263}\u{624b}\u{7eed}\u{8d39}\u{ff09}" ] pub withholding_amount : f64 , # [ doc = "\u{8d26}\u{6237}\u{7c7b}\u{578b}" ] pub account_type : XTP_ACCOUNT_TYPE , # [ doc = "\u{51bb}\u{7ed3}\u{7684}\u{4fdd}\u{8bc1}\u{91d1}" ] pub frozen_margin : f64 , # [ doc = "\u{884c}\u{6743}\u{51bb}\u{7ed3}\u{8d44}\u{91d1}" ] pub frozen_exec_cash : f64 , # [ doc = "\u{884c}\u{6743}\u{8d39}\u{7528}" ] pub frozen_exec_fee : f64 , # [ doc = "\u{57ab}\u{4ed8}\u{8d44}\u{91d1}" ] pub pay_later : f64 , # [ doc = "\u{9884}\u{57ab}\u{4ed8}\u{8d44}\u{91d1}" ] pub preadva_pay : f64 , # [ doc = "\u{6628}\u{65e5}\u{4f59}\u{989d}" ] pub orig_banlance : f64 , # [ doc = "\u{5f53}\u{524d}\u{4f59}\u{989d}" ] pub banlance : f64 , # [ doc = "\u{5f53}\u{5929}\u{51fa}\u{5165}\u{91d1}" ] pub deposit_withdraw : f64 , # [ doc = "\u{5f53}\u{65e5}\u{4ea4}\u{6613}\u{8d44}\u{91d1}\u{8f67}\u{5dee}" ] pub trade_netting : f64 , # [ doc = "\u{8d44}\u{91d1}\u{8d44}\u{4ea7}" ] pub captial_asset : f64 , # [ doc = "\u{5f3a}\u{9501}\u{8d44}\u{91d1}" ] pub force_freeze_amount : f64 , # [ doc = "\u{53ef}\u{53d6}\u{8d44}\u{91d1}" ] pub preferred_amount : f64 , pub repay_stock_aval_banlance : f64 , # [ doc = "(\u{4fdd}\u{7559}\u{5b57}\u{6bb5})" ] pub unknown : [ u64 ; 30usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryAssetRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryAssetRsp > ( ) , 416usize , concat ! ( "Size of: " , stringify ! ( XTPQueryAssetRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryAssetRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryAssetRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . total_asset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( total_asset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . buying_power as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( buying_power ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . security_asset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( security_asset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . fund_buy_amount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( fund_buy_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . fund_buy_fee as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( fund_buy_fee ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . fund_sell_amount as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( fund_sell_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . fund_sell_fee as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( fund_sell_fee ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . withholding_amount as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( withholding_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . account_type as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( account_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . frozen_margin as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( frozen_margin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . frozen_exec_cash as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( frozen_exec_cash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . frozen_exec_fee as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( frozen_exec_fee ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . pay_later as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( pay_later ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . preadva_pay as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( preadva_pay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . orig_banlance as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( orig_banlance ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . banlance as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( banlance ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . deposit_withdraw as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( deposit_withdraw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . trade_netting as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( trade_netting ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . captial_asset as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( captial_asset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . force_freeze_amount as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( force_freeze_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . preferred_amount as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( preferred_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . repay_stock_aval_banlance as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( repay_stock_aval_banlance ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryAssetRsp > ( ) ) ) . unknown as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryAssetRsp ) , "::" , stringify ! ( unknown ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}\u{6301}\u{4ed3}\u{60c5}\u{51b5}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQueryStkPositionRsp { # [ doc = "\u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{8bc1}\u{5238}\u{540d}\u{79f0}" ] pub ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{603b}\u{6301}\u{4ed3}" ] pub total_qty : i64 , # [ doc = "\u{53ef}\u{5356}\u{6301}\u{4ed3}" ] pub sellable_qty : i64 , # [ doc = "\u{6301}\u{4ed3}\u{6210}\u{672c}" ] pub avg_price : f64 , # [ doc = "\u{6d6e}\u{52a8}\u{76c8}\u{4e8f}\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff09}" ] pub unrealized_pnl : f64 , # [ doc = "\u{6628}\u{65e5}\u{6301}\u{4ed3}" ] pub yesterday_position : i64 , # [ doc = "\u{4eca}\u{65e5}\u{7533}\u{8d2d}\u{8d4e}\u{56de}\u{6570}\u{91cf}\u{ff08}\u{7533}\u{8d2d}\u{548c}\u{8d4e}\u{56de}\u{6570}\u{91cf}\u{4e0d}\u{53ef}\u{80fd}\u{540c}\u{65f6}\u{5b58}\u{5728}\u{ff0c}\u{56e0}\u{6b64}\u{53ef}\u{4ee5}\u{5171}\u{7528}\u{4e00}\u{4e2a}\u{5b57}\u{6bb5}\u{ff09}" ] pub purchase_redeemable_qty : i64 , # [ doc = " \u{6301}\u{4ed3}\u{65b9}\u{5411}" ] pub position_direction : XTP_POSITION_DIRECTION_TYPE , # [ doc = "\u{4fdd}\u{7559}\u{5b57}\u{6bb5}1" ] pub reserved1 : u32 , # [ doc = " \u{53ef}\u{884c}\u{6743}\u{5408}\u{7ea6}" ] pub executable_option : i64 , # [ doc = " \u{53ef}\u{9501}\u{5b9a}\u{6807}\u{7684}" ] pub lockable_position : i64 , # [ doc = " \u{53ef}\u{884c}\u{6743}\u{6807}\u{7684}" ] pub executable_underlying : i64 , # [ doc = " \u{5df2}\u{9501}\u{5b9a}\u{6807}\u{7684}" ] pub locked_position : i64 , # [ doc = " \u{53ef}\u{7528}\u{5df2}\u{9501}\u{5b9a}\u{6807}\u{7684}" ] pub usable_locked_position : i64 , # [ doc = "(\u{4fdd}\u{7559}\u{5b57}\u{6bb5})" ] pub unknown : [ u64 ; 44usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryStkPositionRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryStkPositionRsp > ( ) , 536usize , concat ! ( "Size of: " , stringify ! ( XTPQueryStkPositionRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryStkPositionRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryStkPositionRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . ticker as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . ticker_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . market as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . total_qty as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( total_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . sellable_qty as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( sellable_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . avg_price as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( avg_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . unrealized_pnl as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( unrealized_pnl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . yesterday_position as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( yesterday_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . purchase_redeemable_qty as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( purchase_redeemable_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . position_direction as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( position_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . reserved1 as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . executable_option as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( executable_option ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . lockable_position as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( lockable_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . executable_underlying as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( executable_underlying ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . locked_position as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( locked_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . usable_locked_position as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( usable_locked_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStkPositionRsp > ( ) ) ) . unknown as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStkPositionRsp ) , "::" , stringify ! ( unknown ) ) ) ; } # [ doc = "" ] # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{6d41}\u{6c34}\u{901a}\u{77e5}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPFundTransferNotice { # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{7f16}\u{53f7}" ] pub serial_id : u64 , # [ doc = "\u{5185}\u{8f6c}\u{7c7b}\u{578b}" ] pub transfer_type : XTP_FUND_TRANSFER_TYPE , # [ doc = "\u{91d1}\u{989d}" ] pub amount : f64 , # [ doc = "\u{64cd}\u{4f5c}\u{7ed3}\u{679c}" ] pub oper_status : XTP_FUND_OPER_STATUS , # [ doc = "\u{64cd}\u{4f5c}\u{65f6}\u{95f4}" ] pub transfer_time : u64 , } # [ test ] fn bindgen_test_layout_XTPFundTransferNotice ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPFundTransferNotice > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( XTPFundTransferNotice ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPFundTransferNotice > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPFundTransferNotice ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . serial_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( serial_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . transfer_type as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( transfer_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . amount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . oper_status as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( oper_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferNotice > ( ) ) ) . transfer_time as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferNotice ) , "::" , stringify ! ( transfer_time ) ) ) ; } # [ doc = "" ] # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{6d41}\u{6c34}\u{67e5}\u{8be2}\u{8bf7}\u{6c42}\u{4e0e}\u{54cd}\u{5e94}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryFundTransferLogReq { # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{7f16}\u{53f7}" ] pub serial_id : u64 , } # [ test ] fn bindgen_test_layout_XTPQueryFundTransferLogReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryFundTransferLogReq > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTPQueryFundTransferLogReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryFundTransferLogReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryFundTransferLogReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryFundTransferLogReq > ( ) ) ) . serial_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryFundTransferLogReq ) , "::" , stringify ! ( serial_id ) ) ) ; } # [ doc = "" ] # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{6d41}\u{6c34}\u{8bb0}\u{5f55}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] pub type XTPFundTransferLog = XTPFundTransferNotice ; # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{4fe1}\u{606f}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryStructuredFundInfoReq { # [ doc = "<\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}\u{ff0c}\u{4e0d}\u{53ef}\u{4e3a}\u{7a7a}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{6bcd}\u{57fa}\u{91d1}\u{4ee3}\u{7801}\u{ff0c}\u{53ef}\u{4ee5}\u{4e3a}\u{7a7a}\u{ff0c}\u{5982}\u{679c}\u{4e3a}\u{7a7a}\u{ff0c}\u{5219}\u{9ed8}\u{8ba4}\u{67e5}\u{8be2}\u{6240}\u{6709}\u{7684}\u{5206}\u{7ea7}\u{57fa}\u{91d1}" ] pub sf_ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryStructuredFundInfoReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryStructuredFundInfoReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPQueryStructuredFundInfoReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryStructuredFundInfoReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryStructuredFundInfoReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStructuredFundInfoReq > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStructuredFundInfoReq ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryStructuredFundInfoReq > ( ) ) ) . sf_ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryStructuredFundInfoReq ) , "::" , stringify ! ( sf_ticker ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{4fe1}\u{606f}\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPStructuredFundInfo { # [ doc = "<\u{4ea4}\u{6613}\u{6240}\u{4ee3}\u{7801}" ] pub exchange_id : XTP_EXCHANGE_TYPE , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{6bcd}\u{57fa}\u{91d1}\u{4ee3}\u{7801}" ] pub sf_ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{6bcd}\u{57fa}\u{91d1}\u{540d}\u{79f0}" ] pub sf_ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{5b50}\u{57fa}\u{91d1}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "<\u{5206}\u{7ea7}\u{57fa}\u{91d1}\u{5b50}\u{57fa}\u{91d1}\u{540d}\u{79f0}" ] pub ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "<\u{57fa}\u{91d1}\u{5141}\u{8bb8}\u{62c6}\u{5206}\u{5408}\u{5e76}\u{72b6}\u{6001}" ] pub split_merge_status : XTP_SPLIT_MERGE_STATUS , # [ doc = "<\u{62c6}\u{5206}\u{5408}\u{5e76}\u{6bd4}\u{4f8b}" ] pub ratio : u32 , # [ doc = "<\u{6700}\u{5c0f}\u{62c6}\u{5206}\u{6570}\u{91cf}" ] pub min_split_qty : u32 , # [ doc = "<\u{6700}\u{5c0f}\u{5408}\u{5e76}\u{6570}\u{91cf}" ] pub min_merge_qty : u32 , # [ doc = "<\u{57fa}\u{91d1}\u{51c0}\u{503c}" ] pub net_price : f64 , } # [ test ] fn bindgen_test_layout_XTPStructuredFundInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPStructuredFundInfo > ( ) , 192usize , concat ! ( "Size of: " , stringify ! ( XTPStructuredFundInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPStructuredFundInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPStructuredFundInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . exchange_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( exchange_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . sf_ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( sf_ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . sf_ticker_name as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( sf_ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . ticker as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . ticker_name as * const _ as usize } , 100usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . split_merge_status as * const _ as usize } , 164usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( split_merge_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . ratio as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . min_split_qty as * const _ as usize } , 172usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( min_split_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . min_merge_qty as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( min_merge_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPStructuredFundInfo > ( ) ) ) . net_price as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( XTPStructuredFundInfo ) , "::" , stringify ! ( net_price ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}ETF\u{5408}\u{7ea6}\u{57fa}\u{672c}\u{60c5}\u{51b5}--\u{8bf7}\u{6c42}\u{7ed3}\u{6784}\u{4f53}," ] # [ doc = "\u{8bf7}\u{6c42}\u{53c2}\u{6570}\u{4e3a}\u{591a}\u{6761}\u{4ef6}\u{53c2}\u{6570}:1,\u{4e0d}\u{586b}\u{5219}\u{8fd4}\u{56de}\u{6240}\u{6709}\u{5e02}\u{573a}\u{7684}ETF\u{5408}\u{7ea6}\u{4fe1}\u{606f}\u{3002}" ] # [ doc = " 2,\u{53ea}\u{586b}\u{5199}market,\u{8fd4}\u{56de}\u{8be5}\u{4ea4}\u{6613}\u{5e02}\u{573a}\u{4e0b}\u{7ed3}\u{679c}" ] # [ doc = " 3,\u{586b}\u{5199}market\u{53ca}ticker\u{53c2}\u{6570},\u{53ea}\u{8fd4}\u{56de}\u{8be5}etf\u{4fe1}\u{606f}\u{3002}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryETFBaseReq { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "ETF\u{4e70}\u{5356}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryETFBaseReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryETFBaseReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPQueryETFBaseReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryETFBaseReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryETFBaseReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}ETF\u{5408}\u{7ea6}\u{57fa}\u{672c}\u{60c5}\u{51b5}--\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryETFBaseRsp { # [ doc = "<\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = " ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( XTPQueryETFBaseRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryETFBaseRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryETFBaseRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . etf as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( etf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . subscribe_redemption_ticker as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( subscribe_redemption_ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . unit as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . subscribe_status as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( subscribe_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . redemption_status as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( redemption_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . max_cash_ratio as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( max_cash_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . estimate_amount as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( estimate_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . cash_component as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( cash_component ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . net_value as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( net_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFBaseRsp > ( ) ) ) . total_amount as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFBaseRsp ) , "::" , stringify ! ( total_amount ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}ETF\u{5408}\u{7ea6}\u{6210}\u{5206}\u{80a1}\u{4fe1}\u{606f}--\u{8bf7}\u{6c42}\u{7ed3}\u{6784}\u{4f53},\u{8bf7}\u{6c42}\u{53c2}\u{6570}\u{4e3a}:\u{4ea4}\u{6613}\u{5e02}\u{573a}+ETF\u{4e70}\u{5356}\u{4ee3}\u{7801}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryETFComponentReq { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "ETF\u{4e70}\u{5356}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryETFComponentReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryETFComponentReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPQueryETFComponentReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryETFComponentReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryETFComponentReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{80a1}\u{7968}ETF\u{5408}\u{7ea6}\u{6210}\u{5206}\u{80a1}\u{4fe1}\u{606f}--\u{54cd}\u{5e94}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQueryETFComponentRsp { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "ETF\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{4ee3}\u{7801}" ] pub component_ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{540d}\u{79f0}" ] pub component_name : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{6570}\u{91cf}" ] pub quantity : i64 , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub component_market : XTP_MARKET_TYPE , # [ doc = "\u{6210}\u{4efd}\u{80a1}\u{66ff}\u{4ee3}\u{6807}\u{8bc6}" ] pub replace_type : ETF_REPLACE_TYPE , # [ doc = "\u{6ea2}\u{4ef7}\u{6bd4}\u{4f8b}" ] pub premium_ratio : f64 , # [ doc = "\u{6210}\u{5206}\u{80a1}\u{66ff}\u{4ee3}\u{6807}\u{8bc6}\u{4e3a}\u{5fc5}\u{987b}\u{73b0}\u{91d1}\u{66ff}\u{4ee3}\u{65f6}\u{5019}\u{7684}\u{603b}\u{91d1}\u{989d}" ] pub amount : f64 , } # [ test ] fn bindgen_test_layout_XTPQueryETFComponentRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryETFComponentRsp > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( XTPQueryETFComponentRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryETFComponentRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryETFComponentRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . component_ticker as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( component_ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . component_name as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( component_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . quantity as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . component_market as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( component_market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . replace_type as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( replace_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . premium_ratio as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( premium_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryETFComponentRsp > ( ) ) ) . amount as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryETFComponentRsp ) , "::" , stringify ! ( amount ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{5f53}\u{65e5}\u{53ef}\u{7533}\u{8d2d}\u{65b0}\u{80a1}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQueryIPOTickerRsp { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{7533}\u{8d2d}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{7533}\u{8d2d}\u{80a1}\u{7968}\u{540d}\u{79f0}" ] pub ticker_name : [ :: std :: os :: raw :: c_char ; 64usize ] , pub ticker_type : XTP_TICKER_TYPE , # [ doc = "\u{7533}\u{8d2d}\u{4ef7}\u{683c}" ] pub price : f64 , # [ doc = "\u{7533}\u{8d2d}\u{5355}\u{5143}" ] pub unit : i32 , # [ doc = "\u{6700}\u{5927}\u{5141}\u{8bb8}\u{7533}\u{8d2d}\u{6570}\u{91cf}" ] pub qty_upper_limit : i32 , } # [ test ] fn bindgen_test_layout_XTPQueryIPOTickerRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryIPOTickerRsp > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( XTPQueryIPOTickerRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryIPOTickerRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryIPOTickerRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . ticker_name as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( ticker_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . ticker_type as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( ticker_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . price as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . unit as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOTickerRsp > ( ) ) ) . qty_upper_limit as * const _ as usize } , 100usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOTickerRsp ) , "::" , stringify ! ( qty_upper_limit ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{7528}\u{6237}\u{7533}\u{8d2d}\u{989d}\u{5ea6}-\u{65e7}\u{7248}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryIPOQuotaRspV1 { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{53ef}\u{7533}\u{8d2d}\u{989d}\u{5ea6}" ] pub quantity : i32 , } # [ test ] fn bindgen_test_layout_XTPQueryIPOQuotaRspV1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryIPOQuotaRspV1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTPQueryIPOQuotaRspV1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryIPOQuotaRspV1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryIPOQuotaRspV1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRspV1 > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRspV1 ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRspV1 > ( ) ) ) . quantity as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRspV1 ) , "::" , stringify ! ( quantity ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{7528}\u{6237}\u{7533}\u{8d2d}\u{989d}\u{5ea6}-\u{5305}\u{542b}\u{521b}\u{4e1a}\u{677f}\u{989d}\u{5ea6}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryIPOQuotaRsp { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "\u{53ef}\u{7533}\u{8d2d}\u{989d}\u{5ea6}" ] pub quantity : i32 , pub tech_quantity : i32 , pub unused : i32 , } # [ test ] fn bindgen_test_layout_XTPQueryIPOQuotaRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryIPOQuotaRsp > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( XTPQueryIPOQuotaRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryIPOQuotaRsp > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryIPOQuotaRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRsp > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRsp ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRsp > ( ) ) ) . quantity as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRsp ) , "::" , stringify ! ( quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRsp > ( ) ) ) . tech_quantity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRsp ) , "::" , stringify ! ( tech_quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryIPOQuotaRsp > ( ) ) ) . unused as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryIPOQuotaRsp ) , "::" , stringify ! ( unused ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{671f}\u{6743}\u{7ade}\u{4ef7}\u{4ea4}\u{6613}\u{4e1a}\u{52a1}\u{53c2}\u{8003}\u{4fe1}\u{606f}--\u{8bf7}\u{6c42}\u{7ed3}\u{6784}\u{4f53},\u{8bf7}\u{6c42}\u{53c2}\u{6570}\u{4e3a}:\u{4ea4}\u{6613}\u{5e02}\u{573a}+8\u{4f4d}\u{671f}\u{6743}\u{4ee3}\u{7801}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPQueryOptionAuctionInfoReq { # [ doc = "\u{4ea4}\u{6613}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "8\u{4f4d}\u{671f}\u{6743}\u{5408}\u{7ea6}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryOptionAuctionInfoReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryOptionAuctionInfoReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPQueryOptionAuctionInfoReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryOptionAuctionInfoReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryOptionAuctionInfoReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ doc = "" ] # [ doc = "\u{67e5}\u{8be2}\u{671f}\u{6743}\u{7ade}\u{4ef7}\u{4ea4}\u{6613}\u{4e1a}\u{52a1}\u{53c2}\u{8003}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPQueryOptionAuctionInfoRsp { # [ doc = "<\u{5408}\u{7ea6}\u{7f16}\u{7801}\u{ff0c}\u{62a5}\u{5355}ticker\u{91c7}\u{7528}\u{672c}\u{5b57}\u{6bb5}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "<\u{8bc1}\u{5238}\u{4ee3}\u{7801}\u{6e90}" ] pub security_id_source : XTP_MARKET_TYPE , # [ doc = "<\u{5408}\u{7ea6}\u{7b80}\u{79f0}" ] pub symbol : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "<\u{5408}\u{7ea6}\u{4ea4}\u{6613}\u{4ee3}\u{7801}" ] pub contract_id : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "<\u{57fa}\u{7840}\u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub underlying_security_id : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "<\u{57fa}\u{7840}\u{8bc1}\u{5238}\u{4ee3}\u{7801}\u{6e90}" ] pub underlying_security_id_source : XTP_MARKET_TYPE , # [ doc = "<\u{4e0a}\u{5e02}\u{65e5}\u{671f}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub list_date : u32 , # [ doc = "<\u{6700}\u{540e}\u{4ea4}\u{6613}\u{65e5}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub last_trade_date : u32 , # [ doc = "<\u{8bc1}\u{5238}\u{7c7b}\u{522b}" ] pub ticker_type : XTP_TICKER_TYPE , # [ doc = "<\u{662f}\u{5426}\u{652f}\u{6301}\u{5f53}\u{65e5}\u{56de}\u{8f6c}\u{4ea4}\u{6613}\u{ff0c}1-\u{5141}\u{8bb8}\u{ff0c}0-\u{4e0d}\u{5141}\u{8bb8}" ] pub day_trading : i32 , # [ doc = "<\u{8ba4}\u{8d2d}\u{6216}\u{8ba4}\u{6cbd}" ] pub call_or_put : XTP_OPT_CALL_OR_PUT_TYPE , # [ doc = "<\u{884c}\u{6743}\u{4ea4}\u{5272}\u{65e5}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub delivery_day : u32 , # [ doc = "<\u{4ea4}\u{5272}\u{6708}\u{4efd}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMM" ] pub delivery_month : u32 , # [ doc = "<\u{884c}\u{6743}\u{65b9}\u{5f0f}" ] pub exercise_type : XTP_OPT_EXERCISE_TYPE_TYPE , # [ doc = "<\u{884c}\u{6743}\u{8d77}\u{59cb}\u{65e5}\u{671f}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub exercise_begin_date : u32 , # [ doc = "<\u{884c}\u{6743}\u{7ed3}\u{675f}\u{65e5}\u{671f}\u{ff0c}\u{683c}\u{5f0f}\u{4e3a}YYYYMMDD" ] pub exercise_end_date : u32 , # [ doc = "<\u{884c}\u{6743}\u{4ef7}\u{683c}" ] pub exercise_price : f64 , # [ doc = "<\u{6570}\u{91cf}\u{5355}\u{4f4d}\u{ff0c}\u{5bf9}\u{4e8e}\u{67d0}\u{4e00}\u{8bc1}\u{5238}\u{7533}\u{62a5}\u{7684}\u{59d4}\u{6258}\u{ff0c}\u{5176}\u{59d4}\u{6258}\u{6570}\u{91cf}\u{5b57}\u{6bb5}\u{5fc5}\u{987b}\u{4e3a}\u{8be5}\u{8bc1}\u{5238}\u{6570}\u{91cf}\u{5355}\u{4f4d}\u{7684}\u{6574}\u{6570}\u{500d}" ] pub qty_unit : i64 , # [ doc = "<\u{5408}\u{7ea6}\u{5355}\u{4f4d}" ] pub contract_unit : i64 , # [ doc = "<\u{5408}\u{7ea6}\u{6301}\u{4ed3}\u{91cf}" ] pub contract_position : i64 , # [ doc = "<\u{5408}\u{7ea6}\u{524d}\u{6536}\u{76d8}\u{4ef7}" ] pub prev_close_price : f64 , # [ doc = "<\u{5408}\u{7ea6}\u{524d}\u{7ed3}\u{7b97}\u{4ef7}" ] pub prev_clearing_price : f64 , # [ doc = "<\u{9650}\u{4ef7}\u{4e70}\u{6700}\u{5927}\u{91cf}" ] pub lmt_buy_max_qty : i64 , # [ doc = "<\u{9650}\u{4ef7}\u{4e70}\u{6700}\u{5c0f}\u{91cf}" ] pub lmt_buy_min_qty : i64 , # [ doc = "<\u{9650}\u{4ef7}\u{5356}\u{6700}\u{5927}\u{91cf}" ] pub lmt_sell_max_qty : i64 , # [ doc = "<\u{9650}\u{4ef7}\u{5356}\u{6700}\u{5c0f}\u{91cf}" ] pub lmt_sell_min_qty : i64 , # [ doc = "<\u{5e02}\u{4ef7}\u{4e70}\u{6700}\u{5927}\u{91cf}" ] pub mkt_buy_max_qty : i64 , # [ doc = "<\u{5e02}\u{4ef7}\u{4e70}\u{6700}\u{5c0f}\u{91cf}" ] pub mkt_buy_min_qty : i64 , # [ doc = "<\u{5e02}\u{4ef7}\u{5356}\u{6700}\u{5927}\u{91cf}" ] pub mkt_sell_max_qty : i64 , # [ doc = "<\u{5e02}\u{4ef7}\u{5356}\u{6700}\u{5c0f}\u{91cf}" ] pub mkt_sell_min_qty : i64 , # [ doc = "<\u{6700}\u{5c0f}\u{62a5}\u{4ef7}\u{5355}\u{4f4d}" ] pub price_tick : f64 , # [ doc = "<\u{6da8}\u{505c}\u{4ef7}" ] pub upper_limit_price : f64 , # [ doc = "<\u{8dcc}\u{505c}\u{4ef7}" ] pub lower_limit_price : f64 , # [ doc = "<\u{4eca}\u{5356}\u{5f00}\u{6bcf}\u{5f20}\u{4fdd}\u{8bc1}\u{91d1}" ] pub sell_margin : f64 , # [ doc = "<\u{4ea4}\u{6613}\u{6240}\u{4fdd}\u{8bc1}\u{91d1}\u{6bd4}\u{4f8b}\u{8ba1}\u{7b97}\u{53c2}\u{6570}\u{4e00}" ] pub margin_ratio_param1 : f64 , # [ doc = "<\u{4ea4}\u{6613}\u{6240}\u{4fdd}\u{8bc1}\u{91d1}\u{6bd4}\u{4f8b}\u{8ba1}\u{7b97}\u{53c2}\u{6570}\u{4e8c}" ] pub margin_ratio_param2 : f64 , # [ doc = "<\u{ff08}\u{4fdd}\u{7559}\u{5b57}\u{6bb5}\u{ff09}" ] pub unknown : [ u64 ; 20usize ] , } # [ test ] fn bindgen_test_layout_XTPQueryOptionAuctionInfoRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPQueryOptionAuctionInfoRsp > ( ) , 528usize , concat ! ( "Size of: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPQueryOptionAuctionInfoRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . ticker as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . security_id_source as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( security_id_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . symbol as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( symbol ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . contract_id as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( contract_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . underlying_security_id as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( underlying_security_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . underlying_security_id_source as * const _ as usize } , 164usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( underlying_security_id_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . list_date as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( list_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . last_trade_date as * const _ as usize } , 172usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( last_trade_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . ticker_type as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( ticker_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . day_trading as * const _ as usize } , 180usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( day_trading ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . call_or_put as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( call_or_put ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . delivery_day as * const _ as usize } , 188usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( delivery_day ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . delivery_month as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( delivery_month ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . exercise_type as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( exercise_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . exercise_begin_date as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( exercise_begin_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . exercise_end_date as * const _ as usize } , 204usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( exercise_end_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . exercise_price as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( exercise_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . qty_unit as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( qty_unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . contract_unit as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( contract_unit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . contract_position as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( contract_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . prev_close_price as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( prev_close_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . prev_clearing_price as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( prev_clearing_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lmt_buy_max_qty as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lmt_buy_max_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lmt_buy_min_qty as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lmt_buy_min_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lmt_sell_max_qty as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lmt_sell_max_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lmt_sell_min_qty as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lmt_sell_min_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . mkt_buy_max_qty as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( mkt_buy_max_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . mkt_buy_min_qty as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( mkt_buy_min_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . mkt_sell_max_qty as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( mkt_sell_max_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . mkt_sell_min_qty as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( mkt_sell_min_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . price_tick as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( price_tick ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . upper_limit_price as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( upper_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . lower_limit_price as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( lower_limit_price ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . sell_margin as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( sell_margin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . margin_ratio_param1 as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( margin_ratio_param1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . margin_ratio_param2 as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( margin_ratio_param2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPQueryOptionAuctionInfoRsp > ( ) ) ) . unknown as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( XTPQueryOptionAuctionInfoRsp ) , "::" , stringify ! ( unknown ) ) ) ; } # [ doc = "" ] # [ doc = "\u{878d}\u{8d44}\u{878d}\u{5238}\u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{54cd}\u{5e94}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPCrdCashRepayRsp { # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{64cd}\u{4f5c}\u{7684}XTPID" ] pub xtp_id : i64 , # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{7684}\u{7533}\u{8bf7}\u{91d1}\u{989d}" ] pub request_amount : f64 , # [ doc = "< \u{5b9e}\u{9645}\u{8fd8}\u{6b3e}\u{4f7f}\u{7528}\u{91d1}\u{989d}" ] pub cash_repay_amount : f64 , } # [ test ] fn bindgen_test_layout_XTPCrdCashRepayRsp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdCashRepayRsp > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( XTPCrdCashRepayRsp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdCashRepayRsp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdCashRepayRsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayRsp > ( ) ) ) . xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayRsp ) , "::" , stringify ! ( xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayRsp > ( ) ) ) . request_amount as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayRsp ) , "::" , stringify ! ( request_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayRsp > ( ) ) ) . cash_repay_amount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayRsp ) , "::" , stringify ! ( cash_repay_amount ) ) ) ; } # [ doc = "" ] # [ doc = "\u{5355}\u{6761}\u{878d}\u{8d44}\u{878d}\u{5238}\u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{8bb0}\u{5f55}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] pub struct XTPCrdCashRepayInfo { # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{64cd}\u{4f5c}\u{7684}XTPID" ] pub xtp_id : i64 , # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{5904}\u{7406}\u{72b6}\u{6001}" ] pub status : XTP_CRD_CR_STATUS , # [ doc = "< \u{76f4}\u{63a5}\u{8fd8}\u{6b3e}\u{7684}\u{7533}\u{8bf7}\u{91d1}\u{989d}" ] pub request_amount : f64 , # [ doc = "< \u{5b9e}\u{9645}\u{8fd8}\u{6b3e}\u{4f7f}\u{7528}\u{91d1}\u{989d}" ] pub cash_repay_amount : f64 , # [ doc = "< \u{5f3a}\u{5e73}\u{6807}\u{5fd7}" ] pub position_effect : XTP_POSITION_EFFECT_TYPE , } # [ test ] fn bindgen_test_layout_XTPCrdCashRepayInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdCashRepayInfo > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( XTPCrdCashRepayInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdCashRepayInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdCashRepayInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . xtp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . status as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . request_amount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( request_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . cash_repay_amount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( cash_repay_amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdCashRepayInfo > ( ) ) ) . position_effect as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdCashRepayInfo ) , "::" , stringify ! ( position_effect ) ) ) ; } # [ doc = "" ] # [ doc = "\u{5355}\u{6761}\u{878d}\u{8d44}\u{878d}\u{5238}\u{8d1f}\u{503a}\u{8bb0}\u{5f55}\u{4fe1}\u{606f}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPCrdDebtInfo { # [ doc = "< \u{8d1f}\u{503a}\u{5408}\u{7ea6}\u{7c7b}\u{578b}" ] pub debt_type : i32 , # [ doc = "< \u{8d1f}\u{503a}\u{5408}\u{7ea6}\u{7f16}\u{53f7}" ] pub debt_id : [ :: std :: os :: raw :: c_char ; 33usize ] , # [ doc = "< \u{8d1f}\u{503a}\u{5bf9}\u{5e94}\u{4e24}\u{878d}\u{5934}\u{5bf8}\u{7f16}\u{53f7}" ] pub position_id : i64 , # [ doc = "< \u{751f}\u{6210}\u{8d1f}\u{503a}\u{7684}\u{8ba2}\u{5355}\u{7f16}\u{53f7}\u{ff0c}\u{975e}\u{5f53}\u{65e5}\u{8d1f}\u{503a}\u{65e0}\u{6b64}\u{9879}" ] pub order_xtp_id : u64 , # [ doc = "< \u{8d1f}\u{503a}\u{5408}\u{7ea6}\u{72b6}\u{6001}" ] pub debt_status : i32 , # [ doc = "< \u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "< \u{59d4}\u{6258}\u{65e5}\u{671f}" ] pub order_date : u64 , # [ doc = "< \u{8d1f}\u{503a}\u{622a}\u{6b62}\u{65e5}\u{671f}" ] pub end_date : u64 , # [ doc = "< \u{8d1f}\u{503a}\u{539f}\u{59cb}\u{622a}\u{6b62}\u{65e5}\u{671f}" ] pub orig_end_date : u64 , # [ doc = "< \u{5f53}\u{65e5}\u{662f}\u{5426}\u{63a5}\u{6536}\u{5230}\u{5c55}\u{671f}\u{8bf7}\u{6c42}" ] pub is_extended : bool , # [ doc = "< \u{672a}\u{507f}\u{8fd8}\u{91d1}\u{989d}" ] pub remain_amt : f64 , # [ doc = "< \u{672a}\u{507f}\u{8fd8}\u{6570}\u{91cf}" ] pub remain_qty : i64 , # [ doc = "< \u{672a}\u{507f}\u{8fd8}\u{672c}\u{91d1}\u{91d1}\u{989d}" ] pub remain_principal : f64 , } # [ test ] fn bindgen_test_layout_XTPCrdDebtInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdDebtInfo > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( XTPCrdDebtInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdDebtInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdDebtInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . debt_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( debt_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . debt_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( debt_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . position_id as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( position_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . order_xtp_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( order_xtp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . debt_status as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( debt_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . market as * const _ as usize } , 60usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . ticker as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . order_date as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( order_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . end_date as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( end_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . orig_end_date as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( orig_end_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . is_extended as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( is_extended ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . remain_amt as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( remain_amt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . remain_qty as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( remain_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtInfo > ( ) ) ) . remain_principal as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtInfo ) , "::" , stringify ! ( remain_principal ) ) ) ; } # [ doc = "" ] # [ doc = "\u{878d}\u{8d44}\u{878d}\u{5238}\u{7279}\u{6709}\u{5e10}\u{6237}\u{6570}\u{636e}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPCrdFundInfo { # [ doc = "< \u{7ef4}\u{6301}\u{62c5}\u{4fdd}\u{54c1}\u{6bd4}\u{4f8b}" ] pub maintenance_ratio : f64 , # [ doc = "< \u{4e24}\u{878d}\u{6388}\u{4fe1}\u{989d}\u{5ea6}" ] pub line_of_credit : f64 , # [ doc = "< \u{4e24}\u{878d}\u{4fdd}\u{8bc1}\u{91d1}\u{53ef}\u{7528}\u{6570}" ] pub guaranty : f64 , # [ doc = "< \u{878d}\u{8d44}\u{5934}\u{5bf8}\u{53ef}\u{7528}\u{91d1}\u{989d}\u{ff0c}\u{5185}\u{90e8}\u{63a5}\u{53e3}\u{ff0c}\u{6b63}\u{5f0f}\u{7248}\u{672c}\u{9700}\u{8981}\u{5220}\u{9664}" ] pub position_amount : f64 , } # [ test ] fn bindgen_test_layout_XTPCrdFundInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdFundInfo > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( XTPCrdFundInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdFundInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdFundInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdFundInfo > ( ) ) ) . maintenance_ratio as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdFundInfo ) , "::" , stringify ! ( maintenance_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdFundInfo > ( ) ) ) . line_of_credit as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdFundInfo ) , "::" , stringify ! ( line_of_credit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdFundInfo > ( ) ) ) . guaranty as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdFundInfo ) , "::" , stringify ! ( guaranty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdFundInfo > ( ) ) ) . position_amount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdFundInfo ) , "::" , stringify ! ( position_amount ) ) ) ; } # [ doc = "" ] # [ doc = "\u{878d}\u{8d44}\u{878d}\u{5238}\u{6307}\u{5b9a}\u{8bc1}\u{5238}\u{4e0a}\u{7684}\u{8d1f}\u{503a}\u{672a}\u{8fd8}\u{6570}\u{91cf}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPClientQueryCrdDebtStockReq { # [ doc = "< \u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPClientQueryCrdDebtStockReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPClientQueryCrdDebtStockReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPClientQueryCrdDebtStockReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPClientQueryCrdDebtStockReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPClientQueryCrdDebtStockReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdDebtStockReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdDebtStockReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdDebtStockReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdDebtStockReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPCrdDebtStockInfo { # [ doc = "< \u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "< \u{8d1f}\u{503a}\u{672a}\u{8fd8}\u{6570}\u{91cf}" ] pub remain_quantity : i64 , # [ doc = "< \u{6302}\u{5355}\u{672a}\u{6210}\u{8fd8}\u{5238}\u{6570}\u{91cf}" ] pub order_withhold_quantity : i64 , } # [ test ] fn bindgen_test_layout_XTPCrdDebtStockInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPCrdDebtStockInfo > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( XTPCrdDebtStockInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPCrdDebtStockInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPCrdDebtStockInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtStockInfo > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtStockInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtStockInfo > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtStockInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtStockInfo > ( ) ) ) . remain_quantity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtStockInfo ) , "::" , stringify ! ( remain_quantity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPCrdDebtStockInfo > ( ) ) ) . order_withhold_quantity as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPCrdDebtStockInfo ) , "::" , stringify ! ( order_withhold_quantity ) ) ) ; } # [ doc = "" ] # [ doc = "\u{878d}\u{5238}\u{5934}\u{5bf8}\u{8bc1}\u{5238}\u{67e5}\u{8be2}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPClientQueryCrdPositionStockReq { # [ doc = "< \u{8bc1}\u{5238}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , } # [ test ] fn bindgen_test_layout_XTPClientQueryCrdPositionStockReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPClientQueryCrdPositionStockReq > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( XTPClientQueryCrdPositionStockReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPClientQueryCrdPositionStockReq > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( XTPClientQueryCrdPositionStockReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStockReq > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStockReq ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStockReq > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStockReq ) , "::" , stringify ! ( ticker ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTPClientQueryCrdPositionStkInfo { # [ doc = "< \u{8bc1}\u{5238}\u{5e02}\u{573a}" ] pub market : XTP_MARKET_TYPE , # [ doc = "< \u{8bc1}\u{5238}\u{4ee3}\u{7801}" ] pub ticker : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "< \u{878d}\u{5238}\u{9650}\u{91cf}" ] pub limit_qty : i64 , # [ doc = "< \u{6628}\u{65e5}\u{65e5}\u{878d}\u{5238}\u{6570}\u{91cf}" ] pub yesterday_qty : i64 , # [ doc = "< \u{5269}\u{4f59}\u{53ef}\u{878d}\u{5238}\u{6570}\u{91cf}" ] pub left_qty : i64 , # [ doc = "< \u{51bb}\u{7ed3}\u{878d}\u{5238}\u{6570}\u{91cf}" ] pub frozen_qty : i64 , } # [ test ] fn bindgen_test_layout_XTPClientQueryCrdPositionStkInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPClientQueryCrdPositionStkInfo > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPClientQueryCrdPositionStkInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . market as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( market ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . ticker as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( ticker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . limit_qty as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( limit_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . yesterday_qty as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( yesterday_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . left_qty as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( left_qty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPClientQueryCrdPositionStkInfo > ( ) ) ) . frozen_qty as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( XTPClientQueryCrdPositionStkInfo ) , "::" , stringify ! ( frozen_qty ) ) ) ; } # [ doc = "" ] # [ doc = "\u{7528}\u{6237}\u{8d44}\u{91d1}\u{8bf7}\u{6c42}" ] # [ doc = "" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct XTPFundTransferReq { # [ doc = "\u{8d44}\u{91d1}\u{5185}\u{8f6c}\u{7f16}\u{53f7}\u{ff0c}\u{65e0}\u{9700}\u{7528}\u{6237}\u{586b}\u{5199}\u{ff0c}\u{7c7b}\u{4f3c}\u{4e8e}xtp_id" ] pub serial_id : u64 , # [ doc = "\u{8d44}\u{91d1}\u{8d26}\u{6237}\u{4ee3}\u{7801}" ] pub fund_account : [ :: std :: os :: raw :: c_char ; 16usize ] , # [ doc = "\u{8d44}\u{91d1}\u{8d26}\u{6237}\u{5bc6}\u{7801}" ] pub password : [ :: std :: os :: raw :: c_char ; 64usize ] , # [ doc = "\u{91d1}\u{989d}" ] pub amount : f64 , # [ doc = "\u{5185}\u{8f6c}\u{7c7b}\u{578b}" ] pub transfer_type : XTP_FUND_TRANSFER_TYPE , } # [ test ] fn bindgen_test_layout_XTPFundTransferReq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTPFundTransferReq > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( XTPFundTransferReq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTPFundTransferReq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTPFundTransferReq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . serial_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( serial_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . fund_account as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( fund_account ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . password as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( password ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . amount as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < XTPFundTransferReq > ( ) ) ) . transfer_type as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( XTPFundTransferReq ) , "::" , stringify ! ( transfer_type ) ) ) ; } # [ doc = "" ] # [ doc = "\u{7528}\u{6237}\u{8d44}\u{91d1}\u{5212}\u{8f6c}\u{8bf7}\u{6c42}\u{7684}\u{54cd}\u{5e94}-\u{590d}\u{7528}\u{8d44}\u{91d1}\u{901a}\u{77e5}\u{7ed3}\u{6784}\u{4f53}" ] # [ doc = "" ] pub type XTPFundTransferAck = XTPFundTransferNotice ; # [ repr ( C ) ] pub struct XTP_API_TraderSpi__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTP_API_TraderSpi { pub vtable_ : * const XTP_API_TraderSpi__bindgen_vtable , } # [ test ] fn bindgen_test_layout_XTP_API_TraderSpi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTP_API_TraderSpi > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTP_API_TraderSpi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTP_API_TraderSpi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTP_API_TraderSpi ) ) ) ; } # [ repr ( C ) ] pub struct XTP_API_TraderApi__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct XTP_API_TraderApi { pub vtable_ : * const XTP_API_TraderApi__bindgen_vtable , } # [ test ] fn bindgen_test_layout_XTP_API_TraderApi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTP_API_TraderApi > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTP_API_TraderApi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTP_API_TraderApi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTP_API_TraderApi ) ) ) ; } # [ repr ( C ) ] pub struct XTP_API_QuoteSpi__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XTP_API_QuoteSpi { pub vtable_ : * const XTP_API_QuoteSpi__bindgen_vtable , } # [ test ] fn bindgen_test_layout_XTP_API_QuoteSpi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTP_API_QuoteSpi > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTP_API_QuoteSpi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTP_API_QuoteSpi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTP_API_QuoteSpi ) ) ) ; } # [ repr ( C ) ] pub struct XTP_API_QuoteApi__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct XTP_API_QuoteApi { pub vtable_ : * const XTP_API_QuoteApi__bindgen_vtable , } # [ test ] fn bindgen_test_layout_XTP_API_QuoteApi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < XTP_API_QuoteApi > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( XTP_API_QuoteApi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < XTP_API_QuoteApi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( XTP_API_QuoteApi ) ) ) ; } extern "C" { pub fn CreateQuoteApi ( client_id : u8 , save_file_path : * const :: std :: os :: raw :: c_char , log_level : XTP_LOG_LEVEL ) -> * mut XTP_API_QuoteApi ; } extern "C" { pub fn QuoteApi_Release ( self_ : * mut XTP_API_QuoteApi ) ; } extern "C" { pub fn QuoteApi_GetTradingDay ( self_ : * mut XTP_API_QuoteApi ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn QuoteApi_GetApiVersion ( self_ : * mut XTP_API_QuoteApi ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn QuoteApi_GetApiLastError ( self_ : * mut XTP_API_QuoteApi ) -> * mut XTPRI ; } extern "C" { pub fn QuoteApi_SetUDPBufferSize ( self_ : * mut XTP_API_QuoteApi , buff_size : u32 ) ; } extern "C" { pub fn QuoteApi_RegisterSpi ( self_ : * mut XTP_API_QuoteApi , spi : * mut XTP_API_QuoteSpi ) ; } extern "C" { pub fn QuoteApi_SetHeartBeatInterval ( self_ : * mut XTP_API_QuoteApi , interval : u32 ) ; } extern "C" { pub fn QuoteApi_SubscribeMarketData ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeMarketData ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeOrderBook ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeOrderBook ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeTickByTick ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeTickByTick ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllMarketData ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllMarketData ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllOrderBook ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllOrderBook ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllTickByTick ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllTickByTick ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_Login ( self_ : * mut XTP_API_QuoteApi , ip : * const :: std :: os :: raw :: c_char , port : :: std :: os :: raw :: c_int , user : * const :: std :: os :: raw :: c_char , password : * const :: std :: os :: raw :: c_char , sock_type : XTP_PROTOCOL_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_Logout ( self_ : * mut XTP_API_QuoteApi ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_QueryAllTickers ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_QueryTickersPriceInfo ( self_ : * mut XTP_API_QuoteApi , ticker : * mut * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_QueryAllTickersPriceInfo ( self_ : * mut XTP_API_QuoteApi ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllOptionMarketData ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllOptionMarketData ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllOptionOrderBook ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllOptionOrderBook ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_SubscribeAllOptionTickByTick ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn QuoteApi_UnSubscribeAllOptionTickByTick ( self_ : * mut XTP_API_QuoteApi , exchange_id : XTP_EXCHANGE_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CreateTraderApi ( client_id : u8 , save_file_path : * const :: std :: os :: raw :: c_char , log_level : XTP_LOG_LEVEL ) -> * mut XTP_API_TraderApi ; } extern "C" { pub fn TraderApi_Release ( self_ : * mut XTP_API_TraderApi ) ; } extern "C" { pub fn TraderApi_GetTradingDay ( self_ : * mut XTP_API_TraderApi ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn TraderApi_RegisterSpi ( self_ : * mut XTP_API_TraderApi , spi : * mut XTP_API_TraderSpi ) ; } extern "C" { pub fn TraderApi_GetApiLastError ( self_ : * mut XTP_API_TraderApi ) -> * mut XTPRI ; } extern "C" { pub fn TraderApi_GetApiVersion ( self_ : * mut XTP_API_TraderApi ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn TraderApi_GetClientIDByXTPID ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 ) -> u8 ; } extern "C" { pub fn TraderApi_GetAccountByXTPID ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn TraderApi_SubscribePublicTopic ( self_ : * mut XTP_API_TraderApi , resume_type : XTP_TE_RESUME_TYPE ) ; } extern "C" { pub fn TraderApi_SetSoftwareVersion ( self_ : * mut XTP_API_TraderApi , version : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn TraderApi_SetSoftwareKey ( self_ : * mut XTP_API_TraderApi , key : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn TraderApi_SetHeartBeatInterval ( self_ : * mut XTP_API_TraderApi , interval : u32 ) ; } extern "C" { pub fn TraderApi_Login ( self_ : * mut XTP_API_TraderApi , ip : * const :: std :: os :: raw :: c_char , port : :: std :: os :: raw :: c_int , user : * const :: std :: os :: raw :: c_char , password : * const :: std :: os :: raw :: c_char , sock_type : XTP_PROTOCOL_TYPE ) -> u64 ; } extern "C" { pub fn TraderApi_Logout ( self_ : * mut XTP_API_TraderApi , session_id : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_IsServerRestart ( self_ : * mut XTP_API_TraderApi , session_id : u64 ) -> bool ; } extern "C" { pub fn TraderApi_InsertOrder ( self_ : * mut XTP_API_TraderApi , order : * mut XTPOrderInsertInfo , session_id : u64 ) -> u64 ; } extern "C" { pub fn TraderApi_CancelOrder ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 , session_id : u64 ) -> u64 ; } extern "C" { pub fn TraderApi_QueryOrderByXTPID ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryOrders ( self_ : * mut XTP_API_TraderApi , query_param : * const XTPQueryOrderReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryOrdersByPage ( self_ : * mut XTP_API_TraderApi , query_param : * const XTPQueryOrderByPageReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryTradesByXTPID ( self_ : * mut XTP_API_TraderApi , order_xtp_id : u64 , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryTrades ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryTraderReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryTradesByPage ( self_ : * mut XTP_API_TraderApi , query_param : * const XTPQueryTraderByPageReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryPosition ( self_ : * mut XTP_API_TraderApi , ticker : * const :: std :: os :: raw :: c_char , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryAsset ( self_ : * mut XTP_API_TraderApi , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryStructuredFund ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryStructuredFundInfoReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_FundTransfer ( self_ : * mut XTP_API_TraderApi , fund_transfer : * mut XTPFundTransferReq , session_id : u64 ) -> u64 ; } extern "C" { pub fn TraderApi_QueryFundTransfer ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryFundTransferLogReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryETF ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryETFBaseReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryETFTickerBasket ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryETFComponentReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryIPOInfoList ( self_ : * mut XTP_API_TraderApi , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryIPOQuotaInfo ( self_ : * mut XTP_API_TraderApi , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn TraderApi_QueryOptionAuctionInfo ( self_ : * mut XTP_API_TraderApi , query_param : * mut XTPQueryOptionAuctionInfoReq , session_id : u64 , request_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct QuoteSpiStub { pub _base : XTP_API_QuoteSpi , pub rust_object : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_QuoteSpiStub ( ) { assert_eq ! ( :: std :: mem :: size_of :: < QuoteSpiStub > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( QuoteSpiStub ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < QuoteSpiStub > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( QuoteSpiStub ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < QuoteSpiStub > ( ) ) ) . rust_object as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( QuoteSpiStub ) , "::" , stringify ! ( rust_object ) ) ) ; } extern "C" { # [ link_name = "\u{1}_ZN12QuoteSpiStubC1EPv" ] pub fn QuoteSpiStub_QuoteSpiStub ( this : * mut QuoteSpiStub , rust_object : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ link_name = "\u{1}_ZN12QuoteSpiStubD1Ev" ] pub fn QuoteSpiStub_QuoteSpiStub_destructor ( this : * mut QuoteSpiStub ) ; } impl QuoteSpiStub { # [ inline ] pub unsafe fn new ( rust_object : * mut :: std :: os :: raw :: c_void ) -> Self { let mut __bindgen_tmp = :: std :: mem :: MaybeUninit :: uninit ( ) ; QuoteSpiStub_QuoteSpiStub ( __bindgen_tmp . as_mut_ptr ( ) , rust_object ) ; __bindgen_tmp . assume_init ( ) } # [ inline ] pub unsafe fn destruct ( & mut self ) { QuoteSpiStub_QuoteSpiStub_destructor ( self ) } } extern "C" { pub fn QuoteSpiStub_Destructor ( stub : * mut QuoteSpiStub ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct TraderSpiStub { pub _base : XTP_API_TraderSpi , pub rust_object : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_TraderSpiStub ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TraderSpiStub > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( TraderSpiStub ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TraderSpiStub > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( TraderSpiStub ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TraderSpiStub > ( ) ) ) . rust_object as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TraderSpiStub ) , "::" , stringify ! ( rust_object ) ) ) ; } extern "C" { # [ link_name = "\u{1}_ZN13TraderSpiStubC1EPv" ] pub fn TraderSpiStub_TraderSpiStub ( this : * mut TraderSpiStub , rust_object : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ link_name = "\u{1}_ZN13TraderSpiStubD1Ev" ] pub fn TraderSpiStub_TraderSpiStub_destructor ( this : * mut TraderSpiStub ) ; } impl TraderSpiStub { # [ inline ] pub unsafe fn new ( rust_object : * mut :: std :: os :: raw :: c_void ) -> Self { let mut __bindgen_tmp = :: std :: mem :: MaybeUninit :: uninit ( ) ; TraderSpiStub_TraderSpiStub ( __bindgen_tmp . as_mut_ptr ( ) , rust_object ) ; __bindgen_tmp . assume_init ( ) } # [ inline ] pub unsafe fn destruct ( & mut self ) { TraderSpiStub_TraderSpiStub_destructor ( self ) } } extern "C" { pub fn TraderSpiStub_Destructor ( stub : * mut TraderSpiStub ) ; } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: please recompile that crate using this compiler (rustc 1.45.2 (d3fb005a3 2020-07-31)) [INFO] [stdout] = note: the following crate versions were found: [INFO] [stdout] crate `test` compiled by rustc 1.46.0-beta.2 (6f959902b 2020-07-23): /opt/rustwide/target/debug/deps/libtest_zia-c7b9755105120172.rmeta [INFO] [stdout] crate `test` compiled by rustc 1.46.0-beta.2 (6f959902b 2020-07-23): /opt/rustwide/target/debug/deps/libtest_zia-c7b9755105120172.rlib [INFO] [stdout] crate `test` compiled by rustc 1.46.0-beta.2 (6f959902b 2020-07-23): /opt/rustwide/target/debug/libtest.so [INFO] [stdout] crate `test` compiled by rustc 1.46.0-beta.2 (6f959902b 2020-07-23): /opt/rustwide/target/debug/deps/libtest-2f8fdeba9fc0ec5b.rlib [INFO] [stdout] crate `test` compiled by rustc 1.46.0-beta.2 (6f959902b 2020-07-23): /opt/rustwide/target/debug/deps/libtest-2f8fdeba9fc0ec5b.so [INFO] [stdout] = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `xtp`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `Command { std: "docker" "inspect" "6faa675254c85222bc89b825c5674f42bfc18ee437fe3465918bafb79b1463ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6faa675254c85222bc89b825c5674f42bfc18ee437fe3465918bafb79b1463ae", kill_on_drop: false }` [INFO] [stdout] 6faa675254c85222bc89b825c5674f42bfc18ee437fe3465918bafb79b1463ae