[INFO] fetching crate libaeron_driver-sys 1.0.0+1.28.0... [INFO] checking libaeron_driver-sys-1.0.0+1.28.0 against try#1a399c10897767c36d147199696c96f193034e49 for pr-72644 [INFO] extracting crate libaeron_driver-sys 1.0.0+1.28.0 into /workspace/builds/worker-0/source [INFO] validating manifest of crates.io crate libaeron_driver-sys 1.0.0+1.28.0 on toolchain 1a399c10897767c36d147199696c96f193034e49 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1a399c10897767c36d147199696c96f193034e49" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate libaeron_driver-sys 1.0.0+1.28.0 [INFO] finished tweaking crates.io crate libaeron_driver-sys 1.0.0+1.28.0 [INFO] tweaked toml for crates.io crate libaeron_driver-sys 1.0.0+1.28.0 written to /workspace/builds/worker-0/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+1a399c10897767c36d147199696c96f193034e49" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1a399c10897767c36d147199696c96f193034e49" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=forbid" "-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" "/opt/rustwide/cargo-home/bin/cargo" "+1a399c10897767c36d147199696c96f193034e49" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 21189a3289bf3621e83fca92a35ce81f1ab6528b001e5e540d009dd1ec45b258 [INFO] running `"docker" "start" "-a" "21189a3289bf3621e83fca92a35ce81f1ab6528b001e5e540d009dd1ec45b258"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling glob v0.3.0 [INFO] [stderr] Compiling proc-macro2 v1.0.17 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling regex-syntax v0.6.18 [INFO] [stderr] Compiling unicode-width v0.1.7 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling bindgen v0.54.0 [INFO] [stderr] Compiling termcolor v1.1.0 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling shlex v0.1.1 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling lazycell v1.2.1 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling nom v5.1.1 [INFO] [stderr] Compiling cmake v0.1.44 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling clang-sys v0.29.3 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling quote v1.0.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling clap v2.33.1 [INFO] [stderr] Compiling regex v1.3.9 [INFO] [stderr] Compiling cexpr v0.4.0 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Compiling libaeron_driver-sys v1.0.0+1.28.0 (/opt/rustwide/workdir) [INFO] [stderr] error: reference to packed field is unaligned [INFO] [stderr] --> /opt/rustwide/target/debug/build/libaeron_driver-sys-a8b4d3a9f05df5ef/out/bindings.rs:3:94057 [INFO] [stderr] | [INFO] [stderr] 3 | pub const AERON_NULL_VALUE : i32 = -1 ; pub const AERON_DIR_ENV_VAR : & 'static [ u8 ; 10usize ] = b"AERON_DIR\0" ; pub const AERON_DRIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_DRIVER_TIMEOUT\0" ; pub const AERON_CLIENT_RESOURCE_LINGER_DURATION_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_CLIENT_RESOURCE_LINGER_DURATION\0" ; pub const AERON_AGENT_ON_START_FUNCTION_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_AGENT_ON_START_FUNCTION\0" ; pub const AERON_PUBLICATION_NOT_CONNECTED : i32 = -1 ; pub const AERON_PUBLICATION_BACK_PRESSURED : i32 = -2 ; pub const AERON_PUBLICATION_ADMIN_ACTION : i32 = -3 ; pub const AERON_PUBLICATION_CLOSED : i32 = -4 ; pub const AERON_PUBLICATION_MAX_POSITION_EXCEEDED : i32 = -5 ; pub const AERON_PUBLICATION_ERROR : i32 = -6 ; pub const AERON_COMPILER_GCC : u32 = 1 ; pub const AERON_COMPILER_LLVM : u32 = 1 ; pub const AERON_CPU_X64 : u32 = 1 ; pub const AERON_CACHE_LINE_LENGTH : u32 = 64 ; pub const AERON_INIT_ONCE_VALUE : u32 = 0 ; pub const AERON_MAX_PATH : u32 = 384 ; pub const AERON_CHANNEL_STATUS_INDICATOR_NOT_ALLOCATED : i32 = -1 ; pub const AERON_URI_INVALID_TAG : i32 = -1 ; pub const AERON_DIR_WARN_IF_EXISTS_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_DIR_WARN_IF_EXISTS\0" ; pub const AERON_THREADING_MODE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_THREADING_MODE\0" ; pub const AERON_DIR_DELETE_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_DIR_DELETE_ON_START\0" ; pub const AERON_DIR_DELETE_ON_SHUTDOWN_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_DIR_DELETE_ON_SHUTDOWN\0" ; pub const AERON_TO_CONDUCTOR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_BUFFER_LENGTH\0" ; pub const AERON_TO_CLIENTS_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 28usize ] = b"AERON_CLIENTS_BUFFER_LENGTH\0" ; pub const AERON_COUNTERS_VALUES_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_COUNTERS_BUFFER_LENGTH\0" ; pub const AERON_ERROR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_ERROR_BUFFER_LENGTH\0" ; pub const AERON_CLIENT_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CLIENT_LIVENESS_TIMEOUT\0" ; pub const AERON_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_TERM_BUFFER_LENGTH\0" ; pub const AERON_IPC_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IPC_TERM_BUFFER_LENGTH\0" ; pub const AERON_TERM_BUFFER_SPARSE_FILE_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_TERM_BUFFER_SPARSE_FILE\0" ; pub const AERON_PERFORM_STORAGE_CHECKS_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_PERFORM_STORAGE_CHECKS\0" ; pub const AERON_SPIES_SIMULATE_CONNECTION_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SPIES_SIMULATE_CONNECTION\0" ; pub const AERON_FILE_PAGE_SIZE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_FILE_PAGE_SIZE\0" ; pub const AERON_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 17usize ] = b"AERON_MTU_LENGTH\0" ; pub const AERON_IPC_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_IPC_MTU_LENGTH\0" ; pub const AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_LINGER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_PUBLICATION_LINGER_TIMEOUT\0" ; pub const AERON_SOCKET_SO_RCVBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_RCVBUF\0" ; pub const AERON_SOCKET_SO_SNDBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_SNDBUF\0" ; pub const AERON_SOCKET_MULTICAST_TTL_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SOCKET_MULTICAST_TTL\0" ; pub const AERON_SEND_TO_STATUS_POLL_RATIO_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SEND_TO_STATUS_POLL_RATIO\0" ; pub const AERON_RCV_STATUS_MESSAGE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_RCV_STATUS_MESSAGE_TIMEOUT\0" ; pub const AERON_MULTICAST_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_min\0" ; pub const AERON_MULTICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_max\0" ; pub const AERON_MULTICAST_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 17usize ] = b"multicast_tagged\0" ; pub const AERON_UNICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 12usize ] = b"unicast_max\0" ; pub const AERON_MULTICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_MULTICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_UNICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_UNICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_IMAGE_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IMAGE_LIVENESS_TIMEOUT\0" ; pub const AERON_RCV_INITIAL_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RCV_INITIAL_WINDOW_LENGTH\0" ; pub const AERON_CONGESTIONCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_CONGESTIONCONTROL_SUPPLIER\0" ; pub const AERON_LOSS_REPORT_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_LOSS_REPORT_BUFFER_LENGTH\0" ; pub const AERON_PUBLICATION_UNBLOCK_TIMEOUT_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_PUBLICATION_UNBLOCK_TIMEOUT\0" ; pub const AERON_PUBLICATION_CONNECTION_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_CONNECTION_TIMEOUT\0" ; pub const AERON_TIMER_INTERVAL_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_TIMER_INTERVAL\0" ; pub const AERON_SENDER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SENDER_IDLE_STRATEGY\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_RECEIVER_IDLE_STRATEGY\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SHARED_IDLE_STRATEGY\0" ; pub const AERON_SENDER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SENDER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 39usize ] = b"AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 44usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_INIT_ARGS_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SHARED_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT\0" ; pub const AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 50usize ] = b"AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT\0" ; pub const AERON_FLOW_CONTROL_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_FLOW_CONTROL_GROUP_TAG\0" ; pub const AERON_FLOW_CONTROL_GROUP_MIN_SIZE_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_FLOW_CONTROL_GROUP_MIN_SIZE\0" ; pub const AERON_RECEIVER_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_RECEIVER_GROUP_TAG\0" ; pub const AERON_DRIVER_TERMINATION_VALIDATOR_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_DRIVER_TERMINATION_VALIDATOR\0" ; pub const AERON_PRINT_CONFIGURATION_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_PRINT_CONFIGURATION\0" ; pub const AERON_RELIABLE_STREAM_ENV_VAR : & 'static [ u8 ; 22usize ] = b"AERON_RELIABLE_STREAM\0" ; pub const AERON_TETHER_SUBSCRIPTIONS_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_TETHER_SUBSCRIPTIONS\0" ; pub const AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT\0" ; pub const AERON_UNTETHERED_RESTING_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_UNTETHERED_RESTING_TIMEOUT\0" ; pub const AERON_NAK_MULTICAST_GROUP_SIZE_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_NAK_MULTICAST_GROUP_SIZE\0" ; pub const AERON_NAK_MULTICAST_MAX_BACKOFF_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_NAK_MULTICAST_MAX_BACKOFF\0" ; pub const AERON_NAK_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 24usize ] = b"AERON_NAK_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_RETRANSMIT_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_LINGER_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RETRANSMIT_UNICAST_LINGER\0" ; pub const AERON_RECEIVER_GROUP_CONSIDERATION_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_RECEIVER_GROUP_CONSIDERATION\0" ; pub const AERON_REJOIN_STREAM_ENV_VAR : & 'static [ u8 ; 20usize ] = b"AERON_REJOIN_STREAM\0" ; pub const AERON_IPC_CHANNEL : & 'static [ u8 ; 10usize ] = b"aeron:ipc\0" ; pub const AERON_SPY_PREFIX : & 'static [ u8 ; 11usize ] = b"aeron-spy:\0" ; pub const AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA\0" ; pub const AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS\0" ; pub const AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_LOW_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_LOW\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH\0" ; pub const AERON_DRIVER_RESOLVER_NAME_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_DRIVER_RESOLVER_NAME\0" ; pub const AERON_DRIVER_RESOLVER_INTERFACE_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_DRIVER_RESOLVER_INTERFACE\0" ; pub const AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_NAME_RESOLVER_SUPPLIER\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_DEFAULT : & 'static [ u8 ; 8usize ] = b"default\0" ; pub const AERON_NAME_RESOLVER_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_NAME_RESOLVER_INIT_ARGS\0" ; pub const AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL\0" ; pub const AERON_UDP_CHANNEL_RELIABLE_KEY : & 'static [ u8 ; 9usize ] = b"reliable\0" ; pub const AERON_UDP_CHANNEL_TTL_KEY : & 'static [ u8 ; 4usize ] = b"ttl\0" ; pub const AERON_UDP_CHANNEL_ENDPOINT_KEY : & 'static [ u8 ; 9usize ] = b"endpoint\0" ; pub const AERON_UDP_CHANNEL_INTERFACE_KEY : & 'static [ u8 ; 10usize ] = b"interface\0" ; pub const AERON_UDP_CHANNEL_CONTROL_KEY : & 'static [ u8 ; 8usize ] = b"control\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_KEY : & 'static [ u8 ; 13usize ] = b"control-mode\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_MANUAL_VALUE : & 'static [ u8 ; 7usize ] = b"manual\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_DYNAMIC_VALUE : & 'static [ u8 ; 8usize ] = b"dynamic\0" ; pub const AERON_URI_INITIAL_TERM_ID_KEY : & 'static [ u8 ; 13usize ] = b"init-term-id\0" ; pub const AERON_URI_TERM_ID_KEY : & 'static [ u8 ; 8usize ] = b"term-id\0" ; pub const AERON_URI_TERM_OFFSET_KEY : & 'static [ u8 ; 12usize ] = b"term-offset\0" ; pub const AERON_URI_TERM_LENGTH_KEY : & 'static [ u8 ; 12usize ] = b"term-length\0" ; pub const AERON_URI_LINGER_TIMEOUT_KEY : & 'static [ u8 ; 7usize ] = b"linger\0" ; pub const AERON_URI_MTU_LENGTH_KEY : & 'static [ u8 ; 4usize ] = b"mtu\0" ; pub const AERON_URI_SPARSE_TERM_KEY : & 'static [ u8 ; 7usize ] = b"sparse\0" ; pub const AERON_URI_EOS_KEY : & 'static [ u8 ; 4usize ] = b"eos\0" ; pub const AERON_URI_TETHER_KEY : & 'static [ u8 ; 7usize ] = b"tether\0" ; pub const AERON_URI_TAGS_KEY : & 'static [ u8 ; 5usize ] = b"tags\0" ; pub const AERON_URI_SESSION_ID_KEY : & 'static [ u8 ; 11usize ] = b"session-id\0" ; pub const AERON_URI_GROUP_KEY : & 'static [ u8 ; 6usize ] = b"group\0" ; pub const AERON_URI_REJOIN_KEY : & 'static [ u8 ; 7usize ] = b"rejoin\0" ; pub const AERON_URI_FC_KEY : & 'static [ u8 ; 3usize ] = b"fc\0" ; pub const AERON_URI_GTAG_KEY : & 'static [ u8 ; 5usize ] = b"gtag\0" ; pub const AERON_URI_CC_KEY : & 'static [ u8 ; 3usize ] = b"cc\0" ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP4 : u32 = 4 ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP6 : u32 = 16 ; pub const AERON_FRAME_HEADER_VERSION : u32 = 0 ; pub const AERON_HDR_TYPE_PAD : u32 = 0 ; pub const AERON_HDR_TYPE_DATA : u32 = 1 ; pub const AERON_HDR_TYPE_NAK : u32 = 2 ; pub const AERON_HDR_TYPE_SM : u32 = 3 ; pub const AERON_HDR_TYPE_ERR : u32 = 4 ; pub const AERON_HDR_TYPE_SETUP : u32 = 5 ; pub const AERON_HDR_TYPE_RTTM : u32 = 6 ; pub const AERON_HDR_TYPE_RES : u32 = 7 ; pub const AERON_HDR_TYPE_EXT : u32 = 65535 ; pub const AERON_DATA_HEADER_DEFAULT_RESERVED_VALUE : u32 = 0 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD : u32 = 1 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD : u32 = 2 ; pub const AERON_FRAME_MAX_MESSAGE_LENGTH : u32 = 16777216 ; pub const AERON_LOGBUFFER_PARTITION_COUNT : u32 = 3 ; pub const AERON_LOGBUFFER_TERM_MIN_LENGTH : u32 = 65536 ; pub const AERON_LOGBUFFER_TERM_MAX_LENGTH : u32 = 1073741824 ; pub const AERON_PAGE_MIN_SIZE : u32 = 4096 ; pub const AERON_PAGE_MAX_SIZE : u32 = 1073741824 ; pub const AERON_LOGBUFFER_DEFAULT_FRAME_HEADER_MAX_LENGTH : u32 = 128 ; pub const AERON_MAX_UDP_PAYLOAD_LENGTH : u32 = 65504 ; pub const AERON_LOGBUFFER_FRAME_ALIGNMENT : u32 = 32 ; pub const AERON_LOG_META_DATA_SECTION_INDEX : u32 = 3 ; pub const AERON_PUBLICATIONS_DIR : & 'static [ u8 ; 13usize ] = b"publications\0" ; pub const AERON_IMAGES_DIR : & 'static [ u8 ; 7usize ] = b"images\0" ; pub const AERON_RB_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"max\0" ; pub const AERON_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"min\0" ; pub const AERON_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 7usize ] = b"tagged\0" ; pub const AERON_AGENT_STATE_UNUSED : u32 = 0 ; pub const AERON_AGENT_STATE_INITED : u32 = 1 ; pub const AERON_AGENT_STATE_STARTED : u32 = 2 ; pub const AERON_AGENT_STATE_MANUAL : u32 = 3 ; pub const AERON_AGENT_STATE_STOPPING : u32 = 4 ; pub const AERON_AGENT_STATE_STOPPED : u32 = 5 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_SPINS : u32 = 10 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_YIELDS : u32 = 20 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MIN_PARK_PERIOD_NS : u32 = 1000 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_PARK_PERIOD_NS : u32 = 1000000 ; pub const AERON_COUNTER_RECORD_UNUSED : u32 = 0 ; pub const AERON_COUNTER_RECORD_ALLOCATED : u32 = 1 ; pub const AERON_COUNTER_RECORD_RECLAIMED : i32 = -1 ; pub const AERON_NULL_COUNTER_ID : i32 = -1 ; pub const AERON_COUNTER_PUBLISHER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"pub-lmt\0" ; pub const AERON_COUNTER_PUBLISHER_LIMIT_TYPE_ID : u32 = 1 ; pub const AERON_COUNTER_SENDER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"snd-pos\0" ; pub const AERON_COUNTER_SENDER_POSITION_TYPE_ID : u32 = 2 ; pub const AERON_COUNTER_SENDER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"snd-lmt\0" ; pub const AERON_COUNTER_SENDER_LIMIT_TYPE_ID : u32 = 9 ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"sub-pos\0" ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_TYPE_ID : u32 = 4 ; pub const AERON_COUNTER_RECEIVER_HWM_NAME : & 'static [ u8 ; 8usize ] = b"rcv-hwm\0" ; pub const AERON_COUNTER_RECEIVER_HWM_TYPE_ID : u32 = 3 ; pub const AERON_COUNTER_RECEIVER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"rcv-pos\0" ; pub const AERON_COUNTER_RECEIVER_POSITION_TYPE_ID : u32 = 5 ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"snd-channel\0" ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_TYPE_ID : u32 = 6 ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"rcv-channel\0" ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_TYPE_ID : u32 = 7 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_INITIALIZING : u32 = 0 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_ERRORED : i32 = -1 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_NO_ID_ALLOCATED : i32 = -1 ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_NAME : & 'static [ u8 ; 17usize ] = b"client-heartbeat\0" ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_TYPE_ID : u32 = 11 ; pub const AERON_COUNTER_PUBLISHER_POSITION_NAME : & 'static [ u8 ; 18usize ] = b"pub-pos (sampled)\0" ; pub const AERON_COUNTER_PUBLISHER_POSITION_TYPE_ID : u32 = 12 ; pub const AERON_COUNTER_SENDER_BPE_NAME : & 'static [ u8 ; 8usize ] = b"snd-bpe\0" ; pub const AERON_COUNTER_SENDER_BPE_TYPE_ID : u32 = 13 ; pub const AERON_COUNTER_RCV_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"rcv-local-sockaddr\0" ; pub const AERON_COUNTER_SND_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"snd-local-sockaddr\0" ; pub const AERON_COUNTER_LOCAL_SOCKADDR_TYPE_ID : u32 = 14 ; pub const AERON_SYSTEM_COUNTER_TYPE_ID : u32 = 0 ; pub const AERON_NAME_RESOLVER_CSV_TABLE : & 'static [ u8 ; 10usize ] = b"csv_table\0" ; pub const AERON_NAME_RESOLVER_DRIVER : & 'static [ u8 ; 7usize ] = b"driver\0" ; pub const AERON_NAME_RESOLVER_CSV_TABLE_ARGS_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_NAME_RESOLVER_CSV_LOOKUP_TABLE_ARGS\0" ; pub const AERON_CNC_FILE : & 'static [ u8 ; 8usize ] = b"cnc.dat\0" ; pub const AERON_LOSS_REPORT_FILE : & 'static [ u8 ; 16usize ] = b"loss-report.dat\0" ; pub const AERON_COMMAND_QUEUE_CAPACITY : u32 = 256 ; pub const AERON_BROADCAST_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_COMMAND_ADD_PUBLICATION : u32 = 1 ; pub const AERON_COMMAND_REMOVE_PUBLICATION : u32 = 2 ; pub const AERON_COMMAND_ADD_EXCLUSIVE_PUBLICATION : u32 = 3 ; pub const AERON_COMMAND_ADD_SUBSCRIPTION : u32 = 4 ; pub const AERON_COMMAND_REMOVE_SUBSCRIPTION : u32 = 5 ; pub const AERON_COMMAND_CLIENT_KEEPALIVE : u32 = 6 ; pub const AERON_COMMAND_ADD_DESTINATION : u32 = 7 ; pub const AERON_COMMAND_REMOVE_DESTINATION : u32 = 8 ; pub const AERON_COMMAND_ADD_COUNTER : u32 = 9 ; pub const AERON_COMMAND_REMOVE_COUNTER : u32 = 10 ; pub const AERON_COMMAND_CLIENT_CLOSE : u32 = 11 ; pub const AERON_COMMAND_ADD_RCV_DESTINATION : u32 = 12 ; pub const AERON_COMMAND_REMOVE_RCV_DESTINATION : u32 = 13 ; pub const AERON_COMMAND_TERMINATE_DRIVER : u32 = 14 ; pub const AERON_RESPONSE_ON_ERROR : u32 = 3841 ; pub const AERON_RESPONSE_ON_AVAILABLE_IMAGE : u32 = 3842 ; pub const AERON_RESPONSE_ON_PUBLICATION_READY : u32 = 3843 ; pub const AERON_RESPONSE_ON_OPERATION_SUCCESS : u32 = 3844 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_IMAGE : u32 = 3845 ; pub const AERON_RESPONSE_ON_EXCLUSIVE_PUBLICATION_READY : u32 = 3846 ; pub const AERON_RESPONSE_ON_SUBSCRIPTION_READY : u32 = 3847 ; pub const AERON_RESPONSE_ON_COUNTER_READY : u32 = 3848 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_COUNTER : u32 = 3849 ; pub const AERON_RESPONSE_ON_CLIENT_TIMEOUT : u32 = 3850 ; pub const AERON_ERROR_CODE_UNKNOWN_CODE_VALUE : i32 = -1 ; pub const AERON_ERROR_CODE_GENERIC_ERROR : u32 = 0 ; pub const AERON_ERROR_CODE_INVALID_CHANNEL : u32 = 1 ; pub const AERON_ERROR_CODE_UNKNOWN_SUBSCRIPTION : u32 = 2 ; pub const AERON_ERROR_CODE_UNKNOWN_PUBLICATION : u32 = 3 ; pub const AERON_ERROR_CODE_CHANNEL_ENDPOINT_ERROR : u32 = 4 ; pub const AERON_ERROR_CODE_UNKNOWN_COUNTER : u32 = 5 ; pub const AERON_ERROR_CODE_UNKNOWN_COMMAND_TYPE_ID : u32 = 6 ; pub const AERON_ERROR_CODE_MALFORMED_COMMAND : u32 = 7 ; pub const AERON_ERROR_CODE_NOT_SUPPORTED : u32 = 8 ; pub const AERON_ERROR_CODE_UNKNOWN_HOST : u32 = 9 ; pub const AERON_ERROR_CODE_RESOURCE_TEMPORARILY_UNAVAILABLE : u32 = 10 ; pub const AERON_MAP_DEFAULT_LOAD_FACTOR : f64 = 0.55 ; pub const AERON_NETUTIL_FORMATTED_MAX_LENGTH : u32 = 54 ; pub const AERON_RETRANSMIT_HANDLER_MAX_RETRANSMITS : u32 = 16 ; pub const AERON_NETWORK_PUBLICATION_HEARTBEAT_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_SETUP_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_MAX_MESSAGES_PER_SEND : u32 = 2 ; pub const AERON_UDP_DESTINATION_TRACKER_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_SEND_CHANNEL_ENDPOINT_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_RECEIVE_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_LOSS_DETECTOR_TIMER_INACTIVE : i32 = -1 ; pub const AERON_LOSS_DETECTOR_NAK_UNICAST_DELAY_NS : u32 = 60000000 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_GROUP_SIZE : f64 = 10.0 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_MAX_BACKOFF_NS : f64 = 60000000.0 ; pub const AERON_LOSS_REPORTER_ENTRY_ALIGNMENT : u32 = 64 ; pub const AERON_DRIVER_CONDUCTOR_LINGER_RESOURCE_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_DRIVER_CONDUCTOR_CLOCK_UPDATE_DURATION_NS : u32 = 1000000 ; pub const AERON_UDP_TRANSPORT_POLLER_ITERATION_THRESHOLD : u32 = 5 ; pub const AERON_DRIVER_SENDER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_MAX_UDP_PACKET_LENGTH : u32 = 65536 ; pub const AERON_DRIVER_RECEIVER_PENDING_SETUP_TIMEOUT_NS : u32 = 1000000000 ; pub const AERON_AGENT_RUNNER_CONDUCTOR : u32 = 0 ; pub const AERON_AGENT_RUNNER_SENDER : u32 = 1 ; pub const AERON_AGENT_RUNNER_RECEIVER : u32 = 2 ; pub const AERON_AGENT_RUNNER_SHARED_NETWORK : u32 = 1 ; pub const AERON_AGENT_RUNNER_SHARED : u32 = 0 ; pub const AERON_AGENT_RUNNER_MAX : u32 = 3 ; pub type size_t = :: 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 __socklen_t = :: std :: os :: raw :: c_uint ; extern "C" { pub fn aeron_alloc_no_err ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc_aligned ( ptr : * mut * mut :: std :: os :: raw :: c_void , offset : * mut size_t , size : size_t , alignment : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_reallocf ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_free ( ptr : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_context_stct { _unused : [ u8 ; 0 ] , } pub type aeron_context_t = aeron_context_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stct { _unused : [ u8 ; 0 ] , } pub type aeron_t = aeron_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] pub type aeron_buffer_claim_t = aeron_buffer_claim_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_publication_t = aeron_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_exclusive_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_exclusive_publication_t = aeron_exclusive_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_header_stct { _unused : [ u8 ; 0 ] , } pub type aeron_header_t = aeron_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_stct { _unused : [ u8 ; 0 ] , } pub type aeron_subscription_t = aeron_subscription_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_t = aeron_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_stct { _unused : [ u8 ; 0 ] , } pub type aeron_counter_t = aeron_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_log_buffer_stct { _unused : [ u8 ; 0 ] , } pub type aeron_log_buffer_t = aeron_log_buffer_stct ; pub type aeron_counters_reader_t = aeron_counters_reader_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_registering_resource_stct { _unused : [ u8 ; 0 ] , } pub type aeron_async_add_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_exclusive_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_subscription_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_counter_t = aeron_client_registering_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_fragment_assembler_t = aeron_image_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_controlled_fragment_assembler_t = aeron_image_controlled_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_fragment_assembler_t = aeron_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_controlled_fragment_assembler_t = aeron_controlled_fragment_assembler_stct ; extern "C" { pub fn aeron_context_set_dir ( context : * mut aeron_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_dir ( context : * mut aeron_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_context_set_driver_timeout_ms ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_driver_timeout_ms ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_keepalive_interval_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_keepalive_interval_ns ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_resource_linger_duration_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_resource_linger_duration_ns ( context : * mut aeron_context_t ) -> u64 ; } # [ doc = " The error handler to be called when an error occurs." ] pub type aeron_error_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , errcode : :: std :: os :: raw :: c_int , message : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_error_handler ( context : * mut aeron_context_t , handler : aeron_error_handler_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_error_handler ( context : * mut aeron_context_t ) -> aeron_error_handler_t ; } extern "C" { pub fn aeron_context_get_error_handler_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_publication_t" ] # [ doc = " or aeron_exclusive_publication_t successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original add publication call" ] # [ doc = " @param channel of the publication" ] # [ doc = " @param stream_id within the channel of the publication" ] # [ doc = " @param session_id of the publication" ] # [ doc = " @param correlation_id used by the publication" ] pub type aeron_on_new_publication_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_publication_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_context_set_on_new_exclusive_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_subscription_t" ] # [ doc = " successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original aeron_add_async_subscription call" ] # [ doc = " @param channel of the subscirption" ] # [ doc = " @param stream_id within the channel of the subscription" ] # [ doc = " @param session_id of the subscription" ] # [ doc = " @param correlation_id used by the subscription" ] pub type aeron_on_new_subscription_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_subscription_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_subscription ( context : * mut aeron_context_t , handler : aeron_on_new_subscription_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_subscription ( context : * mut aeron_context_t ) -> aeron_on_new_subscription_t ; } extern "C" { pub fn aeron_context_get_on_new_subscription_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notifications that an aeron_image_t was added." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become available." ] pub type aeron_on_available_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; # [ doc = " Function called by aeron_client_t to deliver notifications than an aeron_image_t has been removed from use and" ] # [ doc = " should not be used any longer." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become unavailble." ] pub type aeron_on_unavailable_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; pub type aeron_on_available_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_unavailable_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_close_client_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Whether to use an invoker to control the conductor agent or spawn a thread." ] pub fn aeron_context_set_use_conductor_agent_invoker ( context : * mut aeron_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_use_conductor_agent_invoker ( context : * mut aeron_context_t ) -> bool ; } pub type aeron_agent_on_start_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , role_name : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_agent_on_start_function ( context : * mut aeron_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_agent_on_start_function ( context : * mut aeron_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_context_get_agent_on_start_state ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = " Create a aeron_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_init ( context : * mut * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_close ( context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_t client struct and initialize from the aeron_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_context_t struct will be used exclusively by the client. Do not reuse between clients." ] # [ doc = "" ] # [ doc = " @param aeron client to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_init ( client : * mut * mut aeron_t , context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_t. This may spawn a thread for the Client Conductor." ] # [ doc = "" ] # [ doc = " @param client to start." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_start ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Client must have been created with use conductor invoker set to true." ] # [ doc = "" ] # [ doc = " @param client to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_main_do_work ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor Idle Strategy." ] # [ doc = "" ] # [ doc = " @param client to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_main_idle_strategy ( client : * mut aeron_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_t struct." ] # [ doc = "" ] # [ doc = " @param client to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_close ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call stream_out to print the counter labels and values." ] # [ doc = "" ] # [ doc = " @param client to get the counters from" ] # [ doc = " @param stream_out to call for each label and value" ] pub fn aeron_print_counters ( client : * mut aeron_t , stream_out : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ) ; } extern "C" { # [ doc = " Return the aeron_context_t that is in use by the given client." ] # [ doc = "" ] # [ doc = " @param client to return the aeron_context_t for." ] # [ doc = " @return the aeron_context_t for the given client or NULL for an error." ] pub fn aeron_context ( client : * mut aeron_t ) -> * mut aeron_context_t ; } extern "C" { # [ doc = " Return the client id in use by the client." ] # [ doc = "" ] # [ doc = " @param client to return the client id for." ] # [ doc = " @return id value or -1 for an error." ] pub fn aeron_client_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Return a unique correlation id from the driver." ] # [ doc = "" ] # [ doc = " @param client to use to get the id." ] # [ doc = " @return unique correlation id or -1 for an error." ] pub fn aeron_next_correlation_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Asynchronously add a publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_publication ( async_ : * mut * mut aeron_async_add_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_publication_poll ( publication : * mut * mut aeron_publication_t , async_ : * mut aeron_async_add_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add an exclusive publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_exclusive_publication ( async_ : * mut * mut aeron_async_add_exclusive_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_exclusive_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_exclusive_publication_poll ( publication : * mut * mut aeron_exclusive_publication_t , async_ : * mut aeron_async_add_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add a subscription using the given client and return an object to use to determine when the" ] # [ doc = " subscription is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the subscription to." ] # [ doc = " @param uri for the channel of the subscription." ] # [ doc = " @param stream_id for the subscription." ] # [ doc = " @param on_available_image_handler to be called when images become available on the subscription." ] # [ doc = " @param on_available_image_clientd to be passed when images become available on the subscription." ] # [ doc = " @param on_unavailable_image_handler to be called when images go unavailable on the subscription." ] # [ doc = " @param on_available_image_clientd to be pacced when images go unavailable on the subscription." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_subscription ( async_ : * mut * mut aeron_async_add_subscription_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 , on_available_image_handler : aeron_on_available_image_t , on_available_image_clientd : * mut :: std :: os :: raw :: c_void , on_unavailable_image_handler : aeron_on_unavailable_image_t , on_unavailable_image_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_subscription call." ] # [ doc = "" ] # [ doc = " @param subscription to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_subscription_poll ( subscription : * mut * mut aeron_subscription_t , async_ : * mut aeron_async_add_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return a reference to the counters reader of the given client." ] # [ doc = "" ] # [ doc = " The aeron_counters_reader_t is maintained by the client. And should not be freed." ] # [ doc = "" ] # [ doc = " @param client that contains the counters reader." ] # [ doc = " @return aeron_counters_reader_t or NULL for error." ] pub fn aeron_counters_reader ( client : * mut aeron_t ) -> * mut aeron_counters_reader_t ; } extern "C" { # [ doc = " Asynchronously add a counter using the given client and return an object to use to determine when the" ] # [ doc = " counter is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the counter to." ] # [ doc = " @param type_id for the counter." ] # [ doc = " @param key_buffer for the counter." ] # [ doc = " @param key_buffer_length for the counter." ] # [ doc = " @param label_buffer for the counter." ] # [ doc = " @param label_buffer_length for the counter." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_counter ( async_ : * mut * mut aeron_async_add_counter_t , client : * mut aeron_t , type_id : i32 , key_buffer : * const u8 , key_buffer_length : size_t , label_buffer : * const :: std :: os :: raw :: c_char , label_buffer_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_counter call." ] # [ doc = "" ] # [ doc = " @param counter to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_counter_poll ( counter : * mut * mut aeron_counter_t , async_ : * mut aeron_async_add_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Function called by aeron_counters_reader_foreach_counter for each counter in the aeron_counters_reader_t." ] # [ doc = "" ] # [ doc = " @param value of the counter." ] # [ doc = " @param id of the counter." ] # [ doc = " @param label for the counter." ] # [ doc = " @param label_length for the counter." ] # [ doc = " @param clientd to be returned in the call" ] pub type aeron_counters_reader_foreach_counter_func_t = :: std :: option :: Option < unsafe extern "C" fn ( value : i64 , id : i32 , label : * const :: std :: os :: raw :: c_char , label_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Iterate over the coounters in the counters_reader and call the given function for each counter." ] # [ doc = "" ] # [ doc = " @param counters_reader to iterate over." ] # [ doc = " @param func to call for each counter." ] # [ doc = " @param clientd to pass for each call to func." ] pub fn aeron_counters_reader_foreach_counter ( counters_reader : * mut aeron_counters_reader_t , func : aeron_counters_reader_foreach_counter_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } # [ doc = " Function called when filling in the reserved value field of a message." ] # [ doc = "" ] # [ doc = " @param clientd passed to the offer function." ] # [ doc = " @param buffer of the entire frame, including Aeron data header." ] # [ doc = " @param frame_length of the enture frame." ] pub type aeron_reserved_value_supplier_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , frame_length : size_t ) -> i64 > ; # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_iovec_stct { pub iov_base : * mut u8 , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_aeron_iovec_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_iovec_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_iovec_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_len ) ) ) ; } # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] pub type aeron_iovec_t = aeron_iovec_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_buffer_claim_stct { pub frame_header : * mut u8 , pub data : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_buffer_claim_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_buffer_claim_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_buffer_claim_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( length ) ) ) ; } extern "C" { # [ doc = " Commit the given buffer_claim as a complete message available for consumption." ] # [ doc = "" ] # [ doc = " @param buffer_claim to commit." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_commit ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Abort the given buffer_claim and assign its position as padding." ] # [ doc = "" ] # [ doc = " @param buffer_claim to abort." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_abort ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offer ( publication : * mut aeron_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offerv ( publication : * mut aeron_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_publication_try_claim ( publication : * mut aeron_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { pub fn aeron_publication_channel_status ( publication : * mut aeron_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_add_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_remove_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_close ( publication : * mut aeron_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offerv ( publication : * mut aeron_exclusive_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_try_claim ( publication : * mut aeron_exclusive_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { # [ doc = " Append a padding record log of a given length to make up the log to a position." ] # [ doc = "" ] # [ doc = " @param length of the range to claim, in bytes." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_append_padding ( publication : * mut aeron_exclusive_publication_t , length : size_t ) -> i64 ; } extern "C" { # [ doc = " Offer a block of pre-formatted message fragments directly into the current term." ] # [ doc = "" ] # [ doc = " @param buffer containing the pre-formatted block of message fragments." ] # [ doc = " @param offset offset in the buffer at which the first fragment begins." ] # [ doc = " @param length in bytes of the encoded block." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer_block ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_channel_status ( publication : * mut aeron_exclusive_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_add_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_remove_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_close ( publication : * mut aeron_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " The frame will either contain a whole message or a fragment of a message to be reassembled. Messages are fragmented" ] # [ doc = " if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub type aeron_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) > ; # [ doc = " Abort the current polling operation and do not advance the position for this fragment." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_ABORT : aeron_controlled_fragment_handler_action_en = 0 ; # [ doc = " Break from the current polling operation and commit the position as of the end of the current fragment" ] # [ doc = " being handled." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_BREAK : aeron_controlled_fragment_handler_action_en = 1 ; # [ doc = " Continue processing but commit the position as of the end of the current fragment so that" ] # [ doc = " flow control is applied to this point." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_COMMIT : aeron_controlled_fragment_handler_action_en = 2 ; # [ doc = " Continue processing until fragment limit or no fragments with position commit at end of poll as in" ] # [ doc = " aeron_fragment_handler_t." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_CONTINUE : aeron_controlled_fragment_handler_action_en = 3 ; pub type aeron_controlled_fragment_handler_action_en = u32 ; pub use self :: aeron_controlled_fragment_handler_action_en as aeron_controlled_fragment_handler_action_t ; # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " Handler for reading data that is coming from a log buffer. The frame will either contain a whole message" ] # [ doc = " or a fragment of a message to be reassembled. Messages are fragmented if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the controlled poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub type aeron_controlled_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t > ; # [ doc = " Callback for handling a block of messages being read from a log." ] # [ doc = "" ] # [ doc = " @param clientd passed to the block poll function." ] # [ doc = " @param buffer containing the block of message fragments." ] # [ doc = " @param offset at which the block begins, including any frame headers." ] # [ doc = " @param length of the block in bytes, including any frame headers that is aligned." ] # [ doc = " @param session_id of the stream containing this block of message fragments." ] # [ doc = " @param term_id of the stream containing this block of message fragments." ] pub type aeron_block_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , session_id : i32 , term_id : i32 ) > ; extern "C" { # [ doc = " Poll the images under the subscription for available message fragments." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_fragment_asssembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_poll ( subscription : * mut aeron_subscription_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll in a controlled manner the images under the subscription for available message fragments." ] # [ doc = " Control is applied to fragments in the stream. If more fragments can be read on another stream" ] # [ doc = " they will even if BREAK or ABORT is returned from the fragment handler." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_controlled_fragment_assembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_controlled_poll ( subscription : * mut aeron_subscription_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the images under the subscription for available message fragments in blocks." ] # [ doc = "

" ] # [ doc = " This method is useful for operations like bulk archiving and messaging indexing." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler to receive a block of fragments from each image." ] # [ doc = " @param block_length_limit for each image polled." ] # [ doc = " @return the number of bytes consumed or -1 for error." ] pub fn aeron_subscription_block_poll ( subscription : * mut aeron_subscription_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ doc = " Is this subscription connected by having at least one open publication image." ] # [ doc = "" ] # [ doc = " @param subscription to check." ] # [ doc = " @return true if this subscription connected by having at least one open publication image." ] pub fn aeron_subscription_is_connected ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { # [ doc = " Count of images associated to this subscription." ] # [ doc = "" ] # [ doc = " @param subscription to count images for." ] # [ doc = " @return count of count associated to this subscription or -1 for error." ] pub fn aeron_subscription_image_count ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the image associated with the given session_id under the given subscription." ] # [ doc = "" ] # [ doc = " Note: the returned image is considered retained by the application and thus must be released via" ] # [ doc = " aeron_image_release when finished or if the image becomes unavailable." ] # [ doc = "" ] # [ doc = " @param subscription to search." ] # [ doc = " @param session_id associated with the image." ] # [ doc = " @return image associated with the given session_id or NULL if no image exists." ] pub fn aeron_subscription_image_by_session_id ( subscription : * mut aeron_subscription_t , session_id : i32 ) -> * mut aeron_image_t ; } extern "C" { # [ doc = " Iterate over the images for this subscription calling the given function." ] # [ doc = "" ] # [ doc = " @param subscription to iterate over." ] # [ doc = " @param handler to be called for each image." ] pub fn aeron_subscription_for_each_image ( subscription : * mut aeron_subscription_t , handler : :: std :: option :: Option < unsafe extern "C" fn ( image : * mut aeron_image_t ) > ) ; } extern "C" { pub fn aeron_subscription_is_closed ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { pub fn aeron_subscription_channel_status ( subscription : * mut aeron_subscription_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_add_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination from a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_remove_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the subscription." ] # [ doc = "" ] # [ doc = " @param subscription to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_subscription_close ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Retain the given image for access in the application." ] # [ doc = "" ] # [ doc = " Note: A retain call must have a corresponding release call." ] # [ doc = "" ] # [ doc = " @param image to retain" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_retain ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Release the given image and relinquish desire to use the image directly." ] # [ doc = "" ] # [ doc = " Note: Images are not threadsafe and should not be shared between subscribers." ] # [ doc = "" ] # [ doc = " @param image to release" ] # [ doc = " @return 0 for succes and -1 for error." ] pub fn aeron_image_release ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The position this image has been consumed to by the subscriber." ] # [ doc = "" ] # [ doc = " @param image to query position of." ] # [ doc = " @return the position this image has been consumed to by the subscriber." ] pub fn aeron_image_position ( image : * mut aeron_image_t ) -> i64 ; } extern "C" { # [ doc = " Set the subscriber position for this image to indicate where it has been consumed to." ] # [ doc = "" ] # [ doc = " @param image to set the position of." ] # [ doc = " @param new_position for the consumption point." ] pub fn aeron_image_set_position ( image : * mut aeron_image_t , position : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Peek for new messages in a stream by scanning forward from an initial position. If new messages are found then" ] # [ doc = " they will be delivered to the handler up to a limited position." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments. Scans must also" ] # [ doc = " start at the beginning of a message so that the assembler is reset." ] # [ doc = "" ] # [ doc = " @param image to peek." ] # [ doc = " @param initial_position from which to peek forward." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position up to which can be scanned." ] # [ doc = " @return the resulting position after the scan terminates which is a complete message or -1 for error." ] pub fn aeron_image_controlled_peek ( image : * mut aeron_image_t , initial_position : i64 , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 ) -> i64 ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of bytes." ] # [ doc = "

" ] # [ doc = " A scan will terminate if a padding frame is encountered. If first frame in a scan is padding then a block" ] # [ doc = " for the padding is notified. If the padding comes after the first frame in a scan then the scan terminates" ] # [ doc = " at the offset the padding frame begins. Padding frames are delivered singularly in a block." ] # [ doc = "

" ] # [ doc = " Padding frames may be for a greater range than the limit offset but only the header needs to be valid so" ] # [ doc = " relevant length of the frame is data header length." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which block is delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param block_length_limit up to which a block may be in length." ] # [ doc = " @return the number of bytes that have been consumed or -1 for error." ] pub fn aeron_image_block_poll ( image : * mut aeron_image_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_image_is_closed ( image : * mut aeron_image_t ) -> bool ; } extern "C" { # [ doc = " Create an image fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_fragment_assembler_create ( assembler : * mut * mut aeron_image_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_fragment_assembler_delete ( assembler : * mut aeron_image_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create an image controlled fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_image_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_delete ( assembler : * mut aeron_image_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Create a fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_fragment_assembler_create ( assembler : * mut * mut aeron_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_fragment_assembler_delete ( assembler : * mut aeron_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create a controlled fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_controlled_fragment_assembler_delete ( assembler : * mut aeron_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Return a pointer to the counter value." ] # [ doc = "" ] # [ doc = " @param counter to pointer to." ] # [ doc = " @return pointer to the counter value." ] pub fn aeron_counter_addr ( counter : * mut aeron_counter_t ) -> * mut i64 ; } extern "C" { # [ doc = " Asynchronously close the counter." ] # [ doc = "" ] # [ doc = " @param counter to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_counter_close ( counter : * mut aeron_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return full version and build string." ] # [ doc = "" ] # [ doc = " @return full version and build string." ] pub fn aeron_version_full ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = " Return major version number." ] # [ doc = "" ] # [ doc = " @return major version number." ] pub fn aeron_version_major ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return minor version number." ] # [ doc = "" ] # [ doc = " @return minor version number." ] pub fn aeron_version_minor ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return patch version number." ] # [ doc = "" ] # [ doc = " @return patch version number." ] pub fn aeron_version_patch ( ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Clock function used by aeron." ] pub type aeron_clock_func_t = :: std :: option :: Option < unsafe extern "C" fn ( ) -> i64 > ; extern "C" { # [ doc = " Return time in nanoseconds for machine. Is not wall clock time." ] # [ doc = "" ] # [ doc = " @return nanoseconds since epoch for machine." ] pub fn aeron_nano_clock ( ) -> i64 ; } extern "C" { # [ doc = " Return time in milliseconds since epoch. Is wall clock time." ] # [ doc = "" ] # [ doc = " @return milliseconds since epoch." ] pub fn aeron_epoch_clock ( ) -> i64 ; } # [ doc = " Function to return logging information." ] pub type aeron_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ; extern "C" { # [ doc = " Determine if an aeron driver is using a given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname for aeron directory" ] # [ doc = " @param timeout_ms to use to determine activity for aeron directory" ] # [ doc = " @param log_func to call during activity check to log diagnostic information." ] # [ doc = " @return true for active driver or false for no active driver." ] pub fn aeron_is_driver_active ( dirname : * const :: std :: os :: raw :: c_char , timeout_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } extern "C" { # [ doc = " Load properties from a string containing name=value pairs and set appropriate environment variables for the" ] # [ doc = " process so that subsequent calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param buffer containing properties and values." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_buffer_load ( buffer : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties file and set appropriate environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param filename to load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_file_load ( filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties from HTTP URL and set environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param url to attempt to retrieve and load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_http_load ( url : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties based on URL or filename. If string contains file or http URL, it will attempt" ] # [ doc = " to load properties from a file or http as indicated. If not a URL, then it will try to load the string" ] # [ doc = " as a filename." ] # [ doc = "" ] # [ doc = " @param url_or_filename to load properties from." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_load ( url_or_filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return current aeron error code (errno) for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error code for calling thread." ] pub fn aeron_errcode ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the current aeron error message for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error message for calling thread." ] pub fn aeron_errmsg ( ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_clock_cache_stct { _unused : [ u8 ; 0 ] , } # [ doc = " Opaque reference to a cached clock instance." ] pub type aeron_clock_cache_t = aeron_clock_cache_stct ; extern "C" { # [ doc = " Update the cached clock with the current epoch and nano time values." ] # [ doc = "" ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @param epoch_time current ms since epoch." ] # [ doc = " @param nano_time current ns time." ] pub fn aeron_clock_update_cached_time ( cached_time : * mut aeron_clock_cache_t , epoch_time : i64 , nano_time : i64 ) ; } extern "C" { # [ doc = " Retrieves the cached epoch time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the epoch time." ] pub fn aeron_clock_cached_epoch_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Retrieves the cached nano time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the nano time." ] pub fn aeron_clock_cached_nano_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Allocate a cached clock" ] # [ doc = " @param cached_time Pointer to the pointer to be initialised with the new cached clock" ] # [ doc = " @return -1 if allocation fails, e.g. out of memory." ] pub fn aeron_clock_cache_alloc ( cached_time : * mut * mut aeron_clock_cache_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Free a cached clock." ] # [ doc = " @param cached_time" ] pub fn aeron_clock_cache_free ( cached_time : * mut aeron_clock_cache_t ) ; } extern "C" { pub fn aeron_randomised_int32 ( ) -> i32 ; } extern "C" { pub fn aeron_thread_set_name ( role_name : * const :: std :: os :: raw :: c_char ) ; } pub type aeron_mutex_t = pthread_mutex_t ; pub type aeron_thread_t = pthread_t ; extern "C" { pub fn aeron_nano_sleep ( nanoseconds : u64 ) ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_log_entry_stct { pub length : i32 , pub observation_count : i32 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , } # [ test ] fn bindgen_test_layout_aeron_error_log_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_log_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_log_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; } pub type aeron_error_log_entry_t = aeron_error_log_entry_stct ; pub type aeron_resource_linger_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , resource : * mut u8 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_observation_stct { pub description : * const :: std :: os :: raw :: c_char , pub error_code : :: std :: os :: raw :: c_int , pub offset : size_t , pub description_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_observation_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_observation_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_observation_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description_length ) ) ) ; } pub type aeron_distinct_observation_t = aeron_distinct_observation_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_observation_list_stct { pub num_observations : u64 , pub observations : * mut aeron_distinct_observation_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_observation_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . num_observations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( num_observations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . observations as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( observations ) ) ) ; } pub type aeron_distinct_error_log_observation_list_t = aeron_distinct_error_log_observation_list_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_stct { pub buffer : * mut u8 , pub observation_list : * mut aeron_distinct_error_log_observation_list_t , pub buffer_capacity : size_t , pub next_offset : size_t , pub clock : aeron_clock_func_t , pub linger_resource : aeron_resource_linger_func_t , pub linger_resource_clientd : * mut :: std :: os :: raw :: c_void , pub mutex : aeron_mutex_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_stct > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . observation_list as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( observation_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer_capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer_capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . next_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( next_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource_clientd as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . mutex as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( mutex ) ) ) ; } pub type aeron_distinct_error_log_t = aeron_distinct_error_log_stct ; extern "C" { pub fn aeron_distinct_error_log_init ( log : * mut aeron_distinct_error_log_t , buffer : * mut u8 , buffer_size : size_t , clock : aeron_clock_func_t , linger : aeron_resource_linger_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_distinct_error_log_close ( log : * mut aeron_distinct_error_log_t ) ; } extern "C" { pub fn aeron_distinct_error_log_record ( log : * mut aeron_distinct_error_log_t , error_code : :: std :: os :: raw :: c_int , description : * const :: std :: os :: raw :: c_char , message : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub type aeron_error_log_reader_func_t = :: std :: option :: Option < unsafe extern "C" fn ( observation_count : i32 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , error : * const :: std :: os :: raw :: c_char , error_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_error_log_exists ( buffer : * const u8 , buffer_size : size_t ) -> bool ; } extern "C" { pub fn aeron_error_log_read ( buffer : * const u8 , buffer_size : size_t , reader : aeron_error_log_reader_func_t , clientd : * mut :: std :: os :: raw :: c_void , since_timestamp : i64 ) -> size_t ; } extern "C" { pub fn aeron_distinct_error_log_num_observations ( log : * mut aeron_distinct_error_log_t ) -> size_t ; } pub type aeron_idle_strategy_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) > ; pub type aeron_idle_strategy_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , init_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_managed_resource_stct { pub registration_id : i64 , pub time_of_last_state_change : i64 , pub clientd : * mut :: std :: os :: raw :: c_void , pub decref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub incref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_managed_resource_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_managed_resource_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_managed_resource_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . time_of_last_state_change as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( time_of_last_state_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . decref as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( decref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . incref as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( incref ) ) ) ; } pub type aeron_driver_managed_resource_t = aeron_driver_managed_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_position_stct { pub counter_id : i32 , pub value_addr : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_position_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; } pub type aeron_position_t = aeron_position_stct ; pub type aeron_atomic_counter_t = aeron_position_stct ; pub mod aeron_subscription_tether_state_enum { pub type Type = u32 ; pub const AERON_SUBSCRIPTION_TETHER_ACTIVE : Type = 0 ; pub const AERON_SUBSCRIPTION_TETHER_LINGER : Type = 1 ; pub const AERON_SUBSCRIPTION_TETHER_RESTING : Type = 2 ; } pub use self :: aeron_subscription_tether_state_enum :: Type as aeron_subscription_tether_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_tetherable_position_stct { pub is_tether : bool , pub state : aeron_subscription_tether_state_t , pub counter_id : i32 , pub value_addr : * mut i64 , pub subscription_registration_id : i64 , pub time_of_last_update_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_tetherable_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_tetherable_position_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_tetherable_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . is_tether as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . time_of_last_update_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( time_of_last_update_ns ) ) ) ; } pub type aeron_tetherable_position_t = aeron_tetherable_position_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_tetherable_position_t , pub add_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub remove_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_subscribable_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . add_position_hook_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( add_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . remove_position_hook_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( remove_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . clientd as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( clientd ) ) ) ; } pub type aeron_subscribable_t = aeron_subscribable_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_base_stct { pub func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) > , pub item : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_base_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_base_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_base_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . item as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( item ) ) ) ; } pub type aeron_command_base_t = aeron_command_base_stct ; pub type aeron_feedback_delay_generator_state_t = aeron_feedback_delay_generator_state_stct ; pub type aeron_feedback_delay_generator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct { pub static_delay : aeron_feedback_delay_generator_state_stct_static_delay_stct , pub optimal_delay : aeron_feedback_delay_generator_state_stct_optimal_delay_stct , pub should_immediate_feedback : bool , pub delay_generator : aeron_feedback_delay_generator_func_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_static_delay_stct { pub delay_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_static_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) ) ) . delay_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) , "::" , stringify ! ( delay_ns ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_optimal_delay_stct { pub rand_max : f64 , pub base_x : f64 , pub constant_t : f64 , pub factor_t : f64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_optimal_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . rand_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( rand_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . base_x as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( base_x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . constant_t as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( constant_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . factor_t as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( factor_t ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . static_delay as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( static_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . optimal_delay as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( optimal_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . should_immediate_feedback as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( should_immediate_feedback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . delay_generator as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( delay_generator ) ) ) ; } extern "C" { pub fn aeron_driver_subscribable_remove_position ( subscribable : * mut aeron_subscribable_t , counter_id : i32 ) ; } extern "C" { pub fn aeron_command_on_delete_cmd ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } pub type aeron_driver_context_t = aeron_driver_context_stct ; pub type aeron_driver_t = aeron_driver_stct ; extern "C" { pub fn aeron_driver_context_set_dir ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_dir_warn_if_exists ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_warn_if_exists ( context : * mut aeron_driver_context_t ) -> bool ; } pub mod aeron_threading_mode_enum { pub type Type = u32 ; pub const AERON_THREADING_MODE_DEDICATED : Type = 0 ; pub const AERON_THREADING_MODE_SHARED_NETWORK : Type = 1 ; pub const AERON_THREADING_MODE_SHARED : Type = 2 ; pub const AERON_THREADING_MODE_INVOKER : Type = 3 ; } pub use self :: aeron_threading_mode_enum :: Type as aeron_threading_mode_t ; extern "C" { pub fn aeron_driver_context_set_threading_mode ( context : * mut aeron_driver_context_t , mode : aeron_threading_mode_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_threading_mode ( context : * mut aeron_driver_context_t ) -> aeron_threading_mode_t ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_start ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_start ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_to_conductor_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_conductor_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_to_clients_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_clients_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_counters_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_error_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_error_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_sparse_file ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_sparse_file ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_perform_storage_checks ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_perform_storage_checks ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_spies_simulate_connection ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_spies_simulate_connection ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_file_page_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_file_page_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_socket_so_rcvbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_rcvbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_so_sndbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_sndbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_multicast_ttl ( context : * mut aeron_driver_context_t , value : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_multicast_ttl ( context : * mut aeron_driver_context_t ) -> u8 ; } extern "C" { pub fn aeron_driver_context_set_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub type aeron_flow_control_strategy_t = aeron_flow_control_strategy_stct ; pub type aeron_udp_channel_t = aeron_udp_channel_stct ; pub type aeron_flow_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { # [ doc = " Return a flow control strategy supplier function pointer associated with the given name. This only will find" ] # [ doc = " strategies built into the driver and will not try to dynamically load nor find any in the current executable." ] # [ doc = "" ] # [ doc = " @param name of the strategy" ] # [ doc = " @return function pointer to supplier associated with the name" ] pub fn aeron_flow_control_strategy_supplier_by_name ( name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_rcv_initial_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_initial_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } pub type aeron_congestion_control_strategy_t = aeron_congestion_control_strategy_stct ; pub type aeron_counters_manager_t = aeron_counters_manager_stct ; pub type aeron_congestion_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_congestioncontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_congestion_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_congestioncontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_loss_report_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_loss_report_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_timer_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_timer_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_agent_on_start_function ( context : * mut aeron_driver_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_function ( context : * mut aeron_driver_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_tag ( context : * mut aeron_driver_context_t , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_tag ( context : * mut aeron_driver_context_t ) -> i64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_min_size ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_min_size ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_receiver_group_tag ( context : * mut aeron_driver_context_t , is_present : bool , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_is_present ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_value ( context : * mut aeron_driver_context_t ) -> i64 ; } pub type aeron_driver_termination_validator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : i32 ) -> bool > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_validator ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_validator_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_validator_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } pub type aeron_driver_termination_hook_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_hook ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_hook_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_hook_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_print_configuration ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_print_configuration ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_reliable_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_reliable_stream ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_tether_subscriptions ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_tether_subscriptions ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_driver_timeout_ms ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_timeout_ms ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_group_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_group_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub mod aeron_inferable_boolean_enum { pub type Type = u32 ; pub const AERON_FORCE_FALSE : Type = 0 ; pub const AERON_FORCE_TRUE : Type = 1 ; pub const AERON_INFER : Type = 2 ; } pub use self :: aeron_inferable_boolean_enum :: Type as aeron_inferable_boolean_t ; extern "C" { pub fn aeron_driver_context_set_receiver_group_consideration ( context : * mut aeron_driver_context_t , value : aeron_inferable_boolean_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_consideration ( context : * mut aeron_driver_context_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_set_rejoin_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rejoin_stream ( context : * mut aeron_driver_context_t ) -> bool ; } pub type aeron_udp_channel_transport_bindings_t = aeron_udp_channel_transport_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_transport_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_t = aeron_udp_channel_interceptor_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t ) -> i32 ; } pub type aeron_name_resolver_t = aeron_name_resolver_stct ; pub type aeron_name_resolver_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_resolver_name ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_name ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_interface ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_interface ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_supplier ( context : * mut aeron_driver_context_t , value : aeron_name_resolver_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_supplier ( context : * mut aeron_driver_context_t ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { # [ doc = " Create a aeron_driver_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_init ( context : * mut * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_close ( context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_driver_t struct and initialize from the aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_driver_context_t struct will be used exclusively by the driver. Do not reuse between drivers." ] # [ doc = "" ] # [ doc = " @param driver to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_init ( driver : * mut * mut aeron_driver_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_driver_t given the threading mode. This may spawn threads for the Sender, Receiver, and Conductor" ] # [ doc = " depending on threading mode used." ] # [ doc = "" ] # [ doc = " @param driver to start." ] # [ doc = " @param manual_main_loop to be called by the caller for the Conductor do_work cycle." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_start ( driver : * mut aeron_driver_t , manual_main_loop : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Driver must have been created with manual_main_loop set to true." ] # [ doc = "" ] # [ doc = " @param driver to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_main_do_work ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) Idle Strategy." ] # [ doc = "" ] # [ doc = " @param driver to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_driver_main_idle_strategy ( driver : * mut aeron_driver_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_driver_t struct." ] # [ doc = "" ] # [ doc = " @param driver to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_close ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete the given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname to delete." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_delete_directory ( dirname : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_param_stct { pub key : * const :: std :: os :: raw :: c_char , pub value : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_aeron_uri_param_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_param_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_param_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . key as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( value ) ) ) ; } pub type aeron_uri_param_t = aeron_uri_param_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_params_stct { pub length : size_t , pub array : * mut aeron_uri_param_t , } # [ test ] fn bindgen_test_layout_aeron_uri_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . array as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( array ) ) ) ; } pub type aeron_uri_params_t = aeron_uri_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_publication_params_stct { pub has_position : bool , pub is_sparse : bool , pub signal_eos : bool , pub mtu_length : size_t , pub term_length : size_t , pub term_offset : size_t , pub initial_term_id : i32 , pub term_id : i32 , pub linger_timeout_ns : u64 , pub has_session_id : bool , pub session_id : i32 , pub entity_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_uri_publication_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_publication_params_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_publication_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_position as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . signal_eos as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . mtu_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . session_id as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; } pub type aeron_uri_publication_params_t = aeron_uri_publication_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_subscription_params_stct { pub is_reliable : bool , pub is_sparse : bool , pub is_tether : bool , pub is_rejoin : bool , pub group : aeron_inferable_boolean_t , pub has_session_id : bool , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_uri_subscription_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_subscription_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_subscription_params_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_tether as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . group as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_uri_subscription_params_t = aeron_uri_subscription_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_params_stct { pub endpoint : * const :: std :: os :: raw :: c_char , pub bind_interface : * const :: std :: os :: raw :: c_char , pub control : * const :: std :: os :: raw :: c_char , pub control_mode : * const :: std :: os :: raw :: c_char , pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub ttl : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_params_stct > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . bind_interface as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( bind_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . ttl as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_udp_channel_params_t = aeron_udp_channel_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_channel_params_stct { pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_channel_params_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_ipc_channel_params_t = aeron_ipc_channel_params_stct ; pub mod aeron_uri_type_enum { pub type Type = u32 ; pub const AERON_URI_UDP : Type = 0 ; pub const AERON_URI_IPC : Type = 1 ; pub const AERON_URI_UNKNOWN : Type = 2 ; } pub use self :: aeron_uri_type_enum :: Type as aeron_uri_type_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_stct { pub mutable_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub type_ : aeron_uri_type_t , pub params : aeron_uri_stct__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union aeron_uri_stct__bindgen_ty_1 { pub udp : aeron_udp_channel_params_t , pub ipc : aeron_ipc_channel_params_t , _bindgen_union_align : [ u64 ; 9usize ] , } # [ test ] fn bindgen_test_layout_aeron_uri_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . ipc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( ipc ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_uri_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . mutable_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( mutable_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . type_ as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . params as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( params ) ) ) ; } pub type aeron_uri_t = aeron_uri_stct ; pub type aeron_uri_parse_callback_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_uri_parse_params ( uri : * mut :: std :: os :: raw :: c_char , param_func : aeron_uri_parse_callback_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_udp_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_ipc_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , params : * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_close ( params : * mut aeron_uri_t ) ; } extern "C" { pub fn aeron_uri_multicast_ttl ( uri : * mut aeron_uri_t ) -> u8 ; } extern "C" { pub fn aeron_uri_find_param_value ( uri_params : * const aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_uri_get_int64 ( uri_params : * mut aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char , retval : * mut i64 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_driver_conductor_t = aeron_driver_conductor_stct ; extern "C" { pub fn aeron_uri_publication_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_publication_params_t , context : * mut aeron_driver_conductor_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_subscription_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_subscription_params_t , conductor : * mut aeron_driver_conductor_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse_tag ( tag_str : * const :: std :: os :: raw :: c_char ) -> i64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type socklen_t = __socklen_t ; pub type sa_family_t = :: std :: os :: raw :: c_ushort ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr { pub sa_family : sa_family_t , pub sa_data : [ :: std :: os :: raw :: c_char ; 14usize ] , } # [ test ] fn bindgen_test_layout_sockaddr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_data as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr_storage { pub ss_family : sa_family_t , pub __ss_padding : [ :: std :: os :: raw :: c_char ; 118usize ] , pub __ss_align : :: std :: os :: raw :: c_ulong , } # [ test ] fn bindgen_test_layout_sockaddr_storage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr_storage > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr_storage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . ss_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( ss_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_padding as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_align as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct msghdr { pub msg_name : * mut :: std :: os :: raw :: c_void , pub msg_namelen : socklen_t , pub msg_iov : * mut iovec , pub msg_iovlen : size_t , pub msg_control : * mut :: std :: os :: raw :: c_void , pub msg_controllen : size_t , pub msg_flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_msghdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < msghdr > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < msghdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_namelen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_namelen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iovlen as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iovlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_control as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_controllen as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_controllen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_flags ) ) ) ; } pub type in_addr_t = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in_addr { pub s_addr : in_addr_t , } # [ test ] fn bindgen_test_layout_in_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in_addr > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in_addr > ( ) ) ) . s_addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in_addr ) , "::" , stringify ! ( s_addr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in6_addr { pub __in6_u : in6_addr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union in6_addr__bindgen_ty_1 { pub __u6_addr8 : [ u8 ; 16usize ] , pub __u6_addr16 : [ u16 ; 8usize ] , pub __u6_addr32 : [ u32 ; 4usize ] , _bindgen_union_align : [ u32 ; 4usize ] , } # [ test ] fn bindgen_test_layout_in6_addr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr8 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr16 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr32 ) ) ) ; } # [ test ] fn bindgen_test_layout_in6_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr > ( ) ) ) . __in6_u as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr ) , "::" , stringify ! ( __in6_u ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct addrinfo { pub ai_flags : :: std :: os :: raw :: c_int , pub ai_family : :: std :: os :: raw :: c_int , pub ai_socktype : :: std :: os :: raw :: c_int , pub ai_protocol : :: std :: os :: raw :: c_int , pub ai_addrlen : socklen_t , pub ai_addr : * mut sockaddr , pub ai_canonname : * mut :: std :: os :: raw :: c_char , pub ai_next : * mut addrinfo , } # [ test ] fn bindgen_test_layout_addrinfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < addrinfo > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < addrinfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_family as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_socktype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_socktype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_protocol as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_protocol ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addrlen as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addrlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_canonname as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_canonname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_next as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_next ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ifaddrs { pub ifa_next : * mut ifaddrs , pub ifa_name : * mut :: std :: os :: raw :: c_char , pub ifa_flags : :: std :: os :: raw :: c_uint , pub ifa_addr : * mut sockaddr , pub ifa_netmask : * mut sockaddr , pub ifa_ifu : ifaddrs__bindgen_ty_1 , pub ifa_data : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ifaddrs__bindgen_ty_1 { pub ifu_broadaddr : * mut sockaddr , pub ifu_dstaddr : * mut sockaddr , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ifaddrs__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_broadaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_broadaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_dstaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_dstaddr ) ) ) ; } # [ test ] fn bindgen_test_layout_ifaddrs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_netmask as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_netmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_ifu as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_ifu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_data ) ) ) ; } pub type aeron_socket_t = :: std :: os :: raw :: c_int ; extern "C" { pub fn aeron_socket ( domain : :: std :: os :: raw :: c_int , type_ : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> aeron_socket_t ; } extern "C" { pub fn aeron_close_socket ( socket : aeron_socket_t ) ; } extern "C" { pub fn aeron_net_init ( ) ; } extern "C" { pub fn aeron_getsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * mut :: std :: os :: raw :: c_void , optlen : * mut socklen_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_setsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * const :: std :: os :: raw :: c_void , optlen : socklen_t ) -> :: std :: os :: raw :: c_int ; } pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_SENDER : aeron_udp_channel_transport_affinity_en = 0 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_RECEIVER : aeron_udp_channel_transport_affinity_en = 1 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_CONDUCTOR : aeron_udp_channel_transport_affinity_en = 2 ; pub type aeron_udp_channel_transport_affinity_en = u32 ; pub use self :: aeron_udp_channel_transport_affinity_en as aeron_udp_channel_transport_affinity_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct mmsghdr { _unused : [ u8 ; 0 ] , } pub type aeron_udp_channel_transport_t = aeron_udp_channel_transport_stct ; pub type aeron_udp_transport_poller_t = aeron_udp_transport_poller_stct ; pub type aeron_udp_channel_data_paths_t = aeron_udp_channel_data_paths_stct ; pub type aeron_udp_channel_transport_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_recv_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_transport_recvmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_get_so_rcvbuf_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_bind_addr_and_port_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_add_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_remove_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_poll_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct { pub init_func : aeron_udp_channel_transport_init_func_t , pub close_func : aeron_udp_channel_transport_close_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub get_so_rcvbuf_func : aeron_udp_channel_transport_get_so_rcvbuf_func_t , pub bind_addr_and_port_func : aeron_udp_channel_transport_bind_addr_and_port_func_t , pub poller_init_func : aeron_udp_transport_poller_init_func_t , pub poller_close_func : aeron_udp_transport_poller_close_func_t , pub poller_add_func : aeron_udp_transport_poller_add_func_t , pub poller_remove_func : aeron_udp_transport_poller_remove_func_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub meta_info : aeron_udp_channel_transport_bindings_stct_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_binding : * const aeron_udp_channel_transport_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . next_binding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( next_binding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . close_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . get_so_rcvbuf_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( get_so_rcvbuf_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . bind_addr_and_port_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( bind_addr_and_port_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_init_func as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_close_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_add_func as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_add_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_remove_func as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_remove_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_bindings_load_media ( bindings_name : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_load_func_t = :: std :: option :: Option < unsafe extern "C" fn ( delegate_bindings : * mut aeron_udp_channel_interceptor_bindings_t ) -> * mut aeron_udp_channel_interceptor_bindings_t > ; extern "C" { pub fn aeron_udp_channel_interceptor_bindings_load ( existing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , interceptors : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } pub type aeron_udp_channel_outgoing_interceptor_t = aeron_udp_channel_outgoing_interceptor_stct ; pub type aeron_udp_channel_incoming_interceptor_t = aeron_udp_channel_incoming_interceptor_stct ; pub type aeron_udp_channel_interceptor_outgoing_mmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_outgoing_msg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_incoming_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_incoming_interceptor_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_interceptor_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut * mut :: std :: os :: raw :: c_void , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct { pub outgoing_init_func : aeron_udp_channel_interceptor_init_func_t , pub incoming_init_func : aeron_udp_channel_interceptor_init_func_t , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub outgoing_close_func : aeron_udp_channel_interceptor_close_func_t , pub incoming_close_func : aeron_udp_channel_interceptor_close_func_t , pub meta_info : aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_interceptor_bindings : * const aeron_udp_channel_interceptor_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . next_interceptor_bindings as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( next_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_init_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_close_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_close_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_outgoing_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_outgoing_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_outgoing_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_incoming_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_incoming_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_incoming_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . incoming_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_data_paths_stct { pub outgoing_interceptors : * mut aeron_udp_channel_outgoing_interceptor_t , pub incoming_interceptors : * mut aeron_udp_channel_incoming_interceptor_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub recv_func : aeron_udp_transport_recv_func_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_data_paths_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_data_paths_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_data_paths_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . outgoing_interceptors as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( outgoing_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . incoming_interceptors as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( incoming_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . recv_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( recv_func ) ) ) ; } extern "C" { pub fn aeron_udp_channel_data_paths_init ( data_paths : * mut aeron_udp_channel_data_paths_t , outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , media_bindings : * mut aeron_udp_channel_transport_bindings_t , recv_func : aeron_udp_transport_recv_func_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_data_paths_delete ( data_paths : * mut aeron_udp_channel_data_paths_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_frame_header_stct { pub frame_length : i32 , pub version : i8 , pub flags : u8 , pub type_ : i16 , } # [ test ] fn bindgen_test_layout_aeron_frame_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_frame_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_frame_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . frame_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( frame_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . version as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . flags as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . type_ as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( type_ ) ) ) ; } pub type aeron_frame_header_t = aeron_frame_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_setup_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_length : i32 , pub mtu : i32 , pub ttl : i32 , } # [ test ] fn bindgen_test_layout_aeron_setup_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_setup_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_setup_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . active_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . mtu as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( mtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . ttl as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( ttl ) ) ) ; } pub type aeron_setup_header_t = aeron_setup_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub reserved_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_data_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_header_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . reserved_value as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( reserved_value ) ) ) ; } pub type aeron_data_header_t = aeron_data_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_nak_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub term_offset : i32 , pub length : i32 , } # [ test ] fn bindgen_test_layout_aeron_nak_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_nak_header_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_nak_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_nak_header_t = aeron_nak_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub consumption_term_id : i32 , pub consumption_term_offset : i32 , pub receiver_window : i32 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_header_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_window as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_status_message_header_t = aeron_status_message_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_optional_header_stct { pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_optional_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_optional_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_optional_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_optional_header_stct > ( ) ) ) . group_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_optional_header_stct ) , "::" , stringify ! ( group_tag ) ) ) ; } pub type aeron_status_message_optional_header_t = aeron_status_message_optional_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rttm_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub echo_timestamp : i64 , pub reception_delta : i64 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_rttm_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rttm_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rttm_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . echo_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( echo_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . reception_delta as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( reception_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_rttm_header_t = aeron_rttm_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_stct { pub res_type : i8 , pub res_flags : u8 , pub udp_port : u16 , pub age_in_ms : i32 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . udp_port as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( udp_port ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . age_in_ms as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( age_in_ms ) ) ) ; } pub type aeron_resolution_header_t = aeron_resolution_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv4_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 4usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv4_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv4_stct > ( ) , 14usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv4_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . name_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv4_t = aeron_resolution_header_ipv4_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv6_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 16usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv6_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv6_stct > ( ) , 26usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv6_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . name_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv6_t = aeron_resolution_header_ipv6_stct ; extern "C" { pub fn aeron_udp_protocol_group_tag ( sm : * mut aeron_status_message_header_t , group_tag : * mut i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_res_header_entry_length_ipv4 ( header : * mut aeron_resolution_header_ipv4_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length_ipv6 ( header : * mut aeron_resolution_header_ipv6_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length ( res : * mut :: std :: os :: raw :: c_void , remaining : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_logbuffer_metadata_stct { pub term_tail_counters : [ i64 ; 3usize ] , pub active_term_count : i32 , pub pad1 : [ u8 ; 100usize ] , pub end_of_stream_position : i64 , pub is_connected : i32 , pub active_transport_count : i32 , pub pad2 : [ u8 ; 112usize ] , pub correlation_id : i64 , pub initial_term_id : i32 , pub default_frame_header_length : i32 , pub mtu_length : i32 , pub term_length : i32 , pub page_size : i32 , pub pad3 : [ u8 ; 36usize ] , } # [ test ] fn bindgen_test_layout_aeron_logbuffer_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_logbuffer_metadata_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_logbuffer_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_tail_counters as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_tail_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_term_count as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_term_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . end_of_stream_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( end_of_stream_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . is_connected as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_transport_count as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_transport_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad2 as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . correlation_id as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . default_frame_header_length as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( default_frame_header_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . mtu_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_length as * const _ as usize } , 276usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad3 as * const _ as usize } , 284usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad3 ) ) ) ; } pub type aeron_logbuffer_metadata_t = aeron_logbuffer_metadata_stct ; extern "C" { pub fn aeron_logbuffer_check_term_length ( term_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_logbuffer_check_page_size ( page_size : u64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_file_stct { pub addr : * mut :: std :: os :: raw :: c_void , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_file_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_file_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_file_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_file_t = aeron_mapped_file_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_buffer_stct { pub addr : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_buffer_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_buffer_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_buffer_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_buffer_t = aeron_mapped_buffer_stct ; extern "C" { pub fn aeron_is_directory ( path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_new_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char , fill_with_zeroes : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unmap ( mapped_file : * mut aeron_mapped_file_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_usable_fs_space_func_t = :: std :: option :: Option < unsafe extern "C" fn ( path : * const :: std :: os :: raw :: c_char ) -> u64 > ; extern "C" { pub fn aeron_file_length ( path : * const :: std :: os :: raw :: c_char ) -> i64 ; } extern "C" { pub fn aeron_usable_fs_space ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } extern "C" { pub fn aeron_usable_fs_space_disabled ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_raw_log_stct { pub term_buffers : [ aeron_mapped_buffer_t ; 3usize ] , pub log_meta_data : aeron_mapped_buffer_t , pub mapped_file : aeron_mapped_file_t , pub term_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_raw_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_raw_log_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_raw_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . mapped_file as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( mapped_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_length as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_length ) ) ) ; } pub type aeron_mapped_raw_log_t = aeron_mapped_raw_log_stct ; extern "C" { pub fn aeron_ipc_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_temp_filename ( filename : * mut :: std :: os :: raw :: c_char , length : size_t ) -> size_t ; } pub type aeron_map_raw_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , arg2 : * const :: std :: os :: raw :: c_char , arg3 : bool , arg4 : u64 , arg5 : u64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_map_raw_log_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_map_raw_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , use_sparse_files : bool , term_length : u64 , page_size : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , pre_touch : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_raw_log_close ( mapped_raw_log : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub const aeron_queue_offer_result_stct_AERON_OFFER_SUCCESS : aeron_queue_offer_result_stct = 0 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_ERROR : aeron_queue_offer_result_stct = -2 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_FULL : aeron_queue_offer_result_stct = -1 ; pub type aeron_queue_offer_result_stct = i32 ; pub use self :: aeron_queue_offer_result_stct as aeron_queue_offer_result_t ; pub type aeron_queue_drain_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub padding : [ i8 ; 48usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_spsc_concurrent_array_queue_t = aeron_spsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_spsc_concurrent_array_queue_init ( queue : * mut aeron_spsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_spsc_concurrent_array_queue_close ( queue : * mut aeron_spsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub shared_head_cache : u64 , pub padding : [ i8 ; 40usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . shared_head_cache as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( shared_head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_mpsc_concurrent_array_queue_t = aeron_mpsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_mpsc_concurrent_array_queue_init ( queue : * mut aeron_mpsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_concurrent_array_queue_close ( queue : * mut aeron_mpsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_descriptor_stct { pub begin_pad : [ u8 ; 128usize ] , pub tail_position : i64 , pub tail_pad : [ u8 ; 120usize ] , pub head_cache_position : i64 , pub head_cache_pad : [ u8 ; 120usize ] , pub head_position : i64 , pub head_pad : [ u8 ; 120usize ] , pub correlation_counter : i64 , pub correlation_counter_pad : [ u8 ; 120usize ] , pub consumer_heartbeat : i64 , pub consumer_heartbeat_pad : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_rb_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_descriptor_stct > ( ) , 768usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . begin_pad as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( begin_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_pad as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_position as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_pad as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_position as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_pad as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter_pad as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat_pad as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat_pad ) ) ) ; } pub type aeron_rb_descriptor_t = aeron_rb_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_rb_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_rb_record_descriptor_t = aeron_rb_record_descriptor_stct ; pub const aeron_rb_write_result_stct_AERON_RB_SUCCESS : aeron_rb_write_result_stct = 0 ; pub const aeron_rb_write_result_stct_AERON_RB_ERROR : aeron_rb_write_result_stct = -2 ; pub const aeron_rb_write_result_stct_AERON_RB_FULL : aeron_rb_write_result_stct = -1 ; pub type aeron_rb_write_result_stct = i32 ; pub use self :: aeron_rb_write_result_stct as aeron_rb_write_result_t ; pub type aeron_rb_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : * const :: std :: os :: raw :: c_void , arg3 : size_t , arg4 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_rb_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_rb_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mpsc_rb_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_rb_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_rb_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_mpsc_rb_t = aeron_mpsc_rb_stct ; extern "C" { pub fn aeron_mpsc_rb_init ( ring_buffer : * mut aeron_mpsc_rb_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_rb_write ( ring_buffer : * mut aeron_mpsc_rb_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> aeron_rb_write_result_t ; } extern "C" { pub fn aeron_mpsc_rb_read ( ring_buffer : * mut aeron_mpsc_rb_t , handler : aeron_rb_handler_t , clientd : * mut :: std :: os :: raw :: c_void , message_count_limit : size_t ) -> size_t ; } extern "C" { pub fn aeron_mpsc_rb_next_correlation_id ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time ( ring_buffer : * mut aeron_mpsc_rb_t , now_ms : i64 ) ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time_value ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_unblock ( ring_buffer : * mut aeron_mpsc_rb_t ) -> bool ; } pub type aeron_flow_control_strategy_on_idle_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , snd_lmt : i64 , snd_pos : i64 , is_end_of_stream : bool ) -> i64 > ; pub type aeron_flow_control_strategy_on_sm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , sm : * const u8 , length : size_t , recv_addr : * mut sockaddr_storage , snd_lmt : i64 , initial_term_id : i32 , position_bits_to_shift : size_t , now_ns : i64 ) -> i64 > ; pub type aeron_flow_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_flow_control_strategy_has_required_receivers = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_stct { pub on_status_message : aeron_flow_control_strategy_on_sm_func_t , pub on_idle : aeron_flow_control_strategy_on_idle_func_t , pub fini : aeron_flow_control_strategy_fini_func_t , pub has_required_receivers : aeron_flow_control_strategy_has_required_receivers , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_status_message as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_status_message ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_idle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . has_required_receivers as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( has_required_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_flow_control_strategy_has_required_receivers_default ( strategy : * mut aeron_flow_control_strategy_t ) -> bool ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct { pub strategy_name_length : size_t , pub strategy_name : * const :: std :: os :: raw :: c_char , pub group_tag : aeron_flow_control_tagged_options_stct__bindgen_ty_1 , pub timeout_ns : aeron_flow_control_tagged_options_stct__bindgen_ty_2 , pub group_min_size : aeron_flow_control_tagged_options_stct__bindgen_ty_3 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_2 { pub is_present : bool , pub value : u64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_3 { pub is_present : bool , pub value : i32 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . value as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_min_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_min_size ) ) ) ; } pub type aeron_flow_control_tagged_options_t = aeron_flow_control_tagged_options_stct ; extern "C" { pub fn aeron_flow_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_max_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_min_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_to_string ( strategy : * mut aeron_flow_control_strategy_t , buffer : * mut :: std :: os :: raw :: c_char , buffer_len : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_supplier_func_table_entry_stct { pub name : * const :: std :: os :: raw :: c_char , pub supplier_func : aeron_flow_control_strategy_supplier_func_t , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_supplier_func_table_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . supplier_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( supplier_func ) ) ) ; } pub type aeron_flow_control_strategy_supplier_func_table_entry_t = aeron_flow_control_strategy_supplier_func_table_entry_stct ; extern "C" { pub fn aeron_flow_control_parse_tagged_options ( options_length : size_t , options : * const :: std :: os :: raw :: c_char , flow_control_options : * mut aeron_flow_control_tagged_options_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_congestion_control_strategy_should_measure_rtt_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 ) -> bool > ; pub type aeron_congestion_control_strategy_on_rttm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , rtt_ns : i64 , source_address : * mut sockaddr_storage ) > ; pub type aeron_congestion_control_strategy_on_track_rebuild_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , should_force_sm : * mut bool , now_ns : i64 , new_consumption_position : i64 , last_sm_position : i64 , hwm_position : i64 , starting_rebuild_position : i64 , ending_rebuild_position : i64 , loss_occurred : bool ) -> i32 > ; pub type aeron_congestion_control_strategy_initial_window_length_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void ) -> i32 > ; pub type aeron_congestion_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_congestion_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_congestion_control_strategy_stct { pub should_measure_rtt : aeron_congestion_control_strategy_should_measure_rtt_func_t , pub on_rttm : aeron_congestion_control_strategy_on_rttm_func_t , pub on_track_rebuild : aeron_congestion_control_strategy_on_track_rebuild_func_t , pub initial_window_length : aeron_congestion_control_strategy_initial_window_length_func_t , pub fini : aeron_congestion_control_strategy_fini_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_congestion_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_congestion_control_strategy_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_congestion_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . should_measure_rtt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( should_measure_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_rttm as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_rttm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_track_rebuild as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_track_rebuild ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_congestion_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_static_window_congestion_control_strategy_supplier ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_semantic_version_compose ( major : u8 , minor : u8 , patch : u8 ) -> i32 ; } extern "C" { pub fn aeron_semantic_version_major ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_minor ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_patch ( version : i32 ) -> u8 ; } pub type aeron_agent_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_agent_on_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_idle_strategy_stct { pub idle : aeron_idle_strategy_func_t , pub init : aeron_idle_strategy_init_func_t , } # [ test ] fn bindgen_test_layout_aeron_idle_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_idle_strategy_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_idle_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . init as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( init ) ) ) ; } pub type aeron_idle_strategy_t = aeron_idle_strategy_stct ; extern "C" { pub fn aeron_idle_strategy_sleeping_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_yielding_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_busy_spinning_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_noop_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_state_init ( state : * mut * mut :: std :: os :: raw :: c_void , max_spins : u64 , max_yields : u64 , min_park_period_ns : u64 , max_park_period_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_idle_strategy_init_null ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_agent_runner_stct { pub role_name : * const :: std :: os :: raw :: c_char , pub agent_state : * mut :: std :: os :: raw :: c_void , pub idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub on_start_state : * mut :: std :: os :: raw :: c_void , pub on_start : aeron_agent_on_start_func_t , pub do_work : aeron_agent_do_work_func_t , pub on_close : aeron_agent_on_close_func_t , pub idle_strategy : aeron_idle_strategy_func_t , pub thread : aeron_thread_t , pub running : bool , pub state : u8 , } # [ test ] fn bindgen_test_layout_aeron_agent_runner_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_agent_runner_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_agent_runner_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . role_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( role_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . agent_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( agent_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy_state as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start_state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . do_work as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( do_work ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_close as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_close ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . thread as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( thread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . running as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( running ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . state as * const _ as usize } , 73usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_agent_runner_t = aeron_agent_runner_stct ; extern "C" { pub fn aeron_idle_strategy_load ( idle_strategy_name : * const :: std :: os :: raw :: c_char , idle_strategy_state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> aeron_idle_strategy_func_t ; } extern "C" { pub fn aeron_agent_on_start_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_agent_init ( runner : * mut aeron_agent_runner_t , role_name : * const :: std :: os :: raw :: c_char , state : * mut :: std :: os :: raw :: c_void , on_start : aeron_agent_on_start_func_t , on_start_state : * mut :: std :: os :: raw :: c_void , do_work : aeron_agent_do_work_func_t , on_close : aeron_agent_on_close_func_t , idle_strategy_func : aeron_idle_strategy_func_t , idle_strategy_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_start ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_stop ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_close ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_value_descriptor_stct { pub counter_value : i64 , pub pad1 : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_value_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_value_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_value_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . counter_value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( counter_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . pad1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( pad1 ) ) ) ; } pub type aeron_counter_value_descriptor_t = aeron_counter_value_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_metadata_descriptor_stct { pub state : i32 , pub type_id : i32 , pub free_to_reuse_deadline : i64 , pub key : [ u8 ; 112usize ] , pub label_length : i32 , pub label : [ u8 ; 380usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_metadata_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( type_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . free_to_reuse_deadline as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( free_to_reuse_deadline ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . key as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label_length as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label ) ) ) ; } pub type aeron_counter_metadata_descriptor_t = aeron_counter_metadata_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stream_position_counter_key_layout_stct { pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 92usize ] , } # [ test ] fn bindgen_test_layout_aeron_stream_position_counter_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_stream_position_counter_key_layout_t = aeron_stream_position_counter_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_channel_endpoint_status_key_layout_stct { pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 108usize ] , } # [ test ] fn bindgen_test_layout_aeron_channel_endpoint_status_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_channel_endpoint_status_key_layout_t = aeron_channel_endpoint_status_key_layout_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_heartbeat_timestamp_key_layout_stct { pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_heartbeat_timestamp_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_heartbeat_timestamp_key_layout_t = aeron_heartbeat_timestamp_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_local_sockaddr_key_layout_stct { pub channel_status_id : i32 , pub local_sockaddr_len : i32 , pub local_sockaddr : [ :: std :: os :: raw :: c_char ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_local_sockaddr_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . channel_status_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( channel_status_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr ) ) ) ; } pub type aeron_local_sockaddr_key_layout_t = aeron_local_sockaddr_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_manager_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub id_high_water_mark : i32 , pub free_list : * mut i32 , pub free_list_index : i32 , pub free_list_length : size_t , pub clock_func : aeron_clock_func_t , pub free_to_reuse_timeout_ms : i64 , } # [ test ] fn bindgen_test_layout_aeron_counters_manager_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_manager_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_manager_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . id_high_water_mark as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( id_high_water_mark ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_index as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_length as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . clock_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( clock_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_to_reuse_timeout_ms as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_to_reuse_timeout_ms ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_reader_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub max_counter_id : size_t , } # [ test ] fn bindgen_test_layout_aeron_counters_reader_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_reader_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_reader_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . max_counter_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( max_counter_id ) ) ) ; } extern "C" { pub fn aeron_counters_manager_init ( manager : * mut aeron_counters_manager_t , metadata_buffer : * mut u8 , metadata_length : size_t , values_buffer : * mut u8 , values_length : size_t , clock_func : aeron_clock_func_t , free_to_reuse_timeout_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_counters_manager_close ( manager : * mut aeron_counters_manager_t ) ; } extern "C" { pub fn aeron_counters_manager_allocate ( manager : * mut aeron_counters_manager_t , type_id : i32 , key : * const u8 , key_length : size_t , label : * const :: std :: os :: raw :: c_char , label_length : size_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_update_label ( manager : * mut aeron_counters_manager_t , counter_id : i32 , label_length : size_t , label : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn aeron_counters_manager_next_counter_id ( manager : * mut aeron_counters_manager_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_free ( manager : * mut aeron_counters_manager_t , counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_counters_reader_foreach_metadata_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : i32 , arg3 : * const u8 , arg4 : size_t , arg5 : * const u8 , arg6 : size_t , arg7 : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_counters_reader_foreach_metadata ( metadata_buffer : * mut u8 , metadata_length : size_t , func : aeron_counters_reader_foreach_metadata_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_SENT : aeron_system_counter_enum_stct = 0 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_RECEIVED : aeron_system_counter_enum_stct = 1 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RECEIVER_PROXY_FAILS : aeron_system_counter_enum_stct = 2 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_PROXY_FAILS : aeron_system_counter_enum_stct = 3 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONDUCTOR_PROXY_FAILS : aeron_system_counter_enum_stct = 4 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_SENT : aeron_system_counter_enum_stct = 5 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 6 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_SENT : aeron_system_counter_enum_stct = 7 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 8 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_SENT : aeron_system_counter_enum_stct = 9 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_RECEIVED : aeron_system_counter_enum_stct = 10 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RETRANSMITS_SENT : aeron_system_counter_enum_stct = 11 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_UNDER_RUNS : aeron_system_counter_enum_stct = 12 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_OVER_RUNS : aeron_system_counter_enum_stct = 13 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_INVALID_PACKETS : aeron_system_counter_enum_stct = 14 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_ERRORS : aeron_system_counter_enum_stct = 15 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SHORT_SENDS : aeron_system_counter_enum_stct = 16 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FREE_FAILS : aeron_system_counter_enum_stct = 17 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_FLOW_CONTROL_LIMITS : aeron_system_counter_enum_stct = 18 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_PUBLICATIONS : aeron_system_counter_enum_stct = 19 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_COMMANDS : aeron_system_counter_enum_stct = 20 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_POSSIBLE_TTL_ASYMMETRY : aeron_system_counter_enum_stct = 21 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONTROLLABLE_IDLE_STRATEGY : aeron_system_counter_enum_stct = 22 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_LOSS_GAP_FILLS : aeron_system_counter_enum_stct = 23 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CLIENT_TIMEOUTS : aeron_system_counter_enum_stct = 24 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RESOLUTION_CHANGES : aeron_system_counter_enum_stct = 25 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_DUMMY_LAST : aeron_system_counter_enum_stct = 26 ; pub type aeron_system_counter_enum_stct = u32 ; pub use self :: aeron_system_counter_enum_stct as aeron_system_counter_enum_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counter_stct { pub label : * const :: std :: os :: raw :: c_char , pub id : i32 , } # [ test ] fn bindgen_test_layout_aeron_system_counter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counter_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . label as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( label ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( id ) ) ) ; } pub type aeron_system_counter_t = aeron_system_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counters_stct { pub counter_ids : * mut i32 , pub manager : * mut aeron_counters_manager_t , } # [ test ] fn bindgen_test_layout_aeron_system_counters_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counters_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counters_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . counter_ids as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( counter_ids ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . manager as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( manager ) ) ) ; } pub type aeron_system_counters_t = aeron_system_counters_stct ; extern "C" { pub fn aeron_system_counters_init ( counters : * mut aeron_system_counters_t , manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_system_counters_close ( counters : * mut aeron_system_counters_t ) ; } pub type aeron_name_resolver_resolve_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int > ; # [ doc = " Resolves a name to a host:port string." ] # [ doc = "" ] # [ doc = " @return 0 if not found, 1 if found, -1 on error." ] pub type aeron_name_resolver_lookup_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_name_resolver_stct { pub lookup_func : aeron_name_resolver_lookup_func_t , pub resolve_func : aeron_name_resolver_resolve_func_t , pub do_work_func : aeron_name_resolver_do_work_func_t , pub close_func : aeron_name_resolver_close_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_name_resolver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_name_resolver_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_name_resolver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . lookup_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( lookup_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . resolve_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( resolve_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . do_work_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( do_work_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_name_resolver_supplier_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_name_resolver_init ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_supplier ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_resolve ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_lookup ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_do_work ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_close ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_name_resolver_resolve_host_and_port ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_cnc_metadata_stct { pub cnc_version : i32 , pub to_driver_buffer_length : i32 , pub to_clients_buffer_length : i32 , pub counter_metadata_buffer_length : i32 , pub counter_values_buffer_length : i32 , pub error_log_buffer_length : i32 , pub client_liveness_timeout : i64 , pub start_timestamp : i64 , pub pid : i64 , } # [ test ] fn bindgen_test_layout_aeron_cnc_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_cnc_metadata_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_cnc_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . cnc_version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( cnc_version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_metadata_buffer_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_metadata_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_values_buffer_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . error_log_buffer_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( error_log_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . client_liveness_timeout as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( client_liveness_timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . start_timestamp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( start_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . pid as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( pid ) ) ) ; } pub type aeron_cnc_metadata_t = aeron_cnc_metadata_stct ; extern "C" { pub fn aeron_cnc_version_volatile ( metadata : * mut aeron_cnc_metadata_t ) -> i32 ; } pub type aeron_driver_conductor_proxy_t = aeron_driver_conductor_proxy_stct ; pub type aeron_driver_sender_proxy_t = aeron_driver_sender_proxy_stct ; pub type aeron_driver_receiver_proxy_t = aeron_driver_receiver_proxy_stct ; pub type aeron_driver_conductor_to_driver_interceptor_func_t = aeron_rb_handler_t ; pub type aeron_driver_conductor_to_client_interceptor_func_t = :: std :: option :: Option < unsafe extern "C" fn ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct { pub aeron_dir : * mut :: std :: os :: raw :: c_char , pub threading_mode : aeron_threading_mode_t , pub receiver_group_consideration : aeron_inferable_boolean_t , pub dirs_delete_on_start : bool , pub dirs_delete_on_shutdown : bool , pub warn_if_dirs_exist : bool , pub term_buffer_sparse_file : bool , pub perform_storage_checks : bool , pub spies_simulate_connection : bool , pub print_configuration_on_start : bool , pub reliable_stream : bool , pub tether_subscriptions : bool , pub rejoin_stream : bool , pub driver_timeout_ms : u64 , pub client_liveness_timeout_ns : u64 , pub publication_linger_timeout_ns : u64 , pub status_message_timeout_ns : u64 , pub image_liveness_timeout_ns : u64 , pub publication_unblock_timeout_ns : u64 , pub publication_connection_timeout_ns : u64 , pub timer_interval_ns : u64 , pub counter_free_to_reuse_ns : u64 , pub untethered_window_limit_timeout_ns : u64 , pub untethered_resting_timeout_ns : u64 , pub retransmit_unicast_delay_ns : u64 , pub retransmit_unicast_linger_ns : u64 , pub nak_unicast_delay_ns : u64 , pub nak_multicast_max_backoff_ns : u64 , pub re_resolution_check_interval_ns : u64 , pub to_driver_buffer_length : size_t , pub to_clients_buffer_length : size_t , pub counters_values_buffer_length : size_t , pub error_buffer_length : size_t , pub term_buffer_length : size_t , pub ipc_term_buffer_length : size_t , pub mtu_length : size_t , pub ipc_mtu_length : size_t , pub ipc_publication_window_length : size_t , pub publication_window_length : size_t , pub socket_rcvbuf : size_t , pub socket_sndbuf : size_t , pub send_to_sm_poll_ratio : size_t , pub initial_window_length : size_t , pub loss_report_length : size_t , pub file_page_size : size_t , pub nak_multicast_group_size : size_t , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub multicast_ttl : u8 , pub receiver_group_tag : aeron_driver_context_stct__bindgen_ty_1 , pub flow_control : aeron_driver_context_stct__bindgen_ty_2 , pub cnc_map : aeron_mapped_file_t , pub loss_report : aeron_mapped_file_t , pub to_driver_buffer : * mut u8 , pub to_clients_buffer : * mut u8 , pub counters_values_buffer : * mut u8 , pub counters_metadata_buffer : * mut u8 , pub error_buffer : * mut u8 , pub nano_clock : aeron_clock_func_t , pub epoch_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub sender_command_queue : aeron_spsc_concurrent_array_queue_t , pub receiver_command_queue : aeron_spsc_concurrent_array_queue_t , pub conductor_command_queue : aeron_mpsc_concurrent_array_queue_t , pub agent_on_start_func : aeron_agent_on_start_func_t , pub agent_on_start_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_func : aeron_idle_strategy_func_t , pub conductor_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub conductor_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_network_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_network_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub sender_idle_strategy_func : aeron_idle_strategy_func_t , pub sender_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub sender_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub sender_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub receiver_idle_strategy_func : aeron_idle_strategy_func_t , pub receiver_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub receiver_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub receiver_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub usable_fs_space_func : aeron_usable_fs_space_func_t , pub map_raw_log_func : aeron_map_raw_log_func_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub multicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub congestion_control_supplier_func : aeron_congestion_control_strategy_supplier_func_t , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub counters_manager : * mut aeron_counters_manager_t , pub system_counters : * mut aeron_system_counters_t , pub error_log : * mut aeron_distinct_error_log_t , pub to_driver_interceptor_func : aeron_driver_conductor_to_driver_interceptor_func_t , pub to_client_interceptor_func : aeron_driver_conductor_to_client_interceptor_func_t , pub termination_validator_func : aeron_driver_termination_validator_func_t , pub termination_validator_state : * mut :: std :: os :: raw :: c_void , pub termination_hook_func : aeron_driver_termination_hook_func_t , pub termination_hook_state : * mut :: std :: os :: raw :: c_void , pub udp_channel_transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub udp_channel_outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub udp_channel_incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub next_receiver_id : i64 , pub unicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub multicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub resolver_name : * const :: std :: os :: raw :: c_char , pub resolver_interface : * const :: std :: os :: raw :: c_char , pub resolver_bootstrap_neighbor : * const :: std :: os :: raw :: c_char , pub name_resolver_supplier_func : aeron_name_resolver_supplier_func_t , pub name_resolver_init_args : * const :: std :: os :: raw :: c_char , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_2 { pub group_min_size : i32 , pub receiver_timeout_ns : u64 , pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_min_size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_min_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . receiver_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( receiver_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_tag ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct > ( ) , 1600usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . aeron_dir as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( aeron_dir ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_consideration as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_consideration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_start as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_shutdown as * const _ as usize } , 17usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . warn_if_dirs_exist as * const _ as usize } , 18usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( warn_if_dirs_exist ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_sparse_file as * const _ as usize } , 19usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_sparse_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . perform_storage_checks as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( perform_storage_checks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 21usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . print_configuration_on_start as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( print_configuration_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . reliable_stream as * const _ as usize } , 23usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( reliable_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . tether_subscriptions as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( tether_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . rejoin_stream as * const _ as usize } , 25usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( rejoin_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . driver_timeout_ms as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( driver_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . client_liveness_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( client_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_linger_timeout_ns as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . status_message_timeout_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( status_message_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . image_liveness_timeout_ns as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( image_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_unblock_timeout_ns as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_connection_timeout_ns as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . timer_interval_ns as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( timer_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counter_free_to_reuse_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counter_free_to_reuse_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_window_limit_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_window_limit_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_resting_timeout_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_resting_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_delay_ns as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_linger_ns as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_linger_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_unicast_delay_ns as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_max_backoff_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_max_backoff_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . re_resolution_check_interval_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( re_resolution_check_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer_length as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer_length as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_term_buffer_length as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . mtu_length as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_mtu_length as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_publication_window_length as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_window_length as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_rcvbuf as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_sndbuf as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_sndbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . send_to_sm_poll_ratio as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( send_to_sm_poll_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . file_page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( file_page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_group_size as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_group_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 300usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_tag as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . flow_control as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cnc_map as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cnc_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_metadata_buffer as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_metadata_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nano_clock as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . epoch_clock as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( epoch_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cached_clock as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_command_queue as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_command_queue as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_command_queue as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_func as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_state as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_func as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_state as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_init_args as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_name as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_func as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_state as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_init_args as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_name as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_func as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_state as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_init_args as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_name as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_func as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_state as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_init_args as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_name as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_func as * const _ as usize } , 1240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_state as * const _ as usize } , 1248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_init_args as * const _ as usize } , 1256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_name as * const _ as usize } , 1264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . usable_fs_space_func as * const _ as usize } , 1272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( usable_fs_space_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_func as * const _ as usize } , 1280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_flow_control_supplier_func as * const _ as usize } , 1296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_flow_control_supplier_func as * const _ as usize } , 1304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . congestion_control_supplier_func as * const _ as usize } , 1312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( congestion_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 1320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 1328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 1336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_manager as * const _ as usize } , 1344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . system_counters as * const _ as usize } , 1352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_log as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_interceptor_func as * const _ as usize } , 1368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_client_interceptor_func as * const _ as usize } , 1376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_client_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_func as * const _ as usize } , 1384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_state as * const _ as usize } , 1392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_func as * const _ as usize } , 1400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_state as * const _ as usize } , 1408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_transport_bindings as * const _ as usize } , 1416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_outgoing_interceptor_bindings as * const _ as usize } , 1424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_outgoing_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_incoming_interceptor_bindings as * const _ as usize } , 1432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_incoming_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . next_receiver_id as * const _ as usize } , 1440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( next_receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_delay_feedback_generator as * const _ as usize } , 1448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_delay_feedback_generator as * const _ as usize } , 1504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_name as * const _ as usize } , 1560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_interface as * const _ as usize } , 1568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_bootstrap_neighbor as * const _ as usize } , 1576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_bootstrap_neighbor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_supplier_func as * const _ as usize } , 1584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_init_args as * const _ as usize } , 1592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_init_args ) ) ) ; } extern "C" { pub fn aeron_config_parse_inferable_boolean ( inferable_boolean : * const :: std :: os :: raw :: c_char , def : aeron_inferable_boolean_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_print_configuration ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_fill_cnc_metadata ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_context_validate_mtu_length ( mtu_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_cnc_length ( context : * mut aeron_driver_context_t ) -> size_t ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_descriptor_stct { pub tail_intent_counter : i64 , pub tail_counter : i64 , pub latest_counter : i64 , pub pad : [ u8 ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_broadcast_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_intent_counter as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_intent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_counter as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . latest_counter as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( latest_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . pad as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( pad ) ) ) ; } pub type aeron_broadcast_descriptor_t = aeron_broadcast_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_broadcast_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_broadcast_record_descriptor_t = aeron_broadcast_record_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_transmitter_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_broadcast_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_broadcast_transmitter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_transmitter_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_transmitter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_broadcast_transmitter_t = aeron_broadcast_transmitter_stct ; extern "C" { pub fn aeron_broadcast_transmitter_init ( transmitter : * mut aeron_broadcast_transmitter_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_broadcast_transmitter_transmit ( transmitter : * mut aeron_broadcast_transmitter_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_correlated_command_stct { pub client_id : i64 , pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_correlated_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_correlated_command_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_correlated_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . correlation_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_correlated_command_t = aeron_correlated_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_command_stct { pub correlated : aeron_correlated_command_t , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_publication_command_t = aeron_publication_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_buffers_ready_stct { pub correlation_id : i64 , pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub position_limit_counter_id : i32 , pub channel_status_indicator_id : i32 , pub log_file_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_buffers_ready_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . position_limit_counter_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( position_limit_counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . log_file_length as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( log_file_length ) ) ) ; } pub type aeron_publication_buffers_ready_t = aeron_publication_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_command_stct { pub correlated : aeron_correlated_command_t , pub registration_correlation_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_command_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . registration_correlation_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( registration_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_subscription_command_t = aeron_subscription_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_ready_stct { pub correlation_id : i64 , pub channel_status_indicator_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_ready_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; } pub type aeron_subscription_ready_t = aeron_subscription_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_buffers_ready_stct { pub correlation_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub subscriber_registration_id : i64 , pub subscriber_position_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_buffers_ready_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_position_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_position_id ) ) ) ; } pub type aeron_image_buffers_ready_t = aeron_image_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_operation_succeeded_stct { pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_operation_succeeded_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_operation_succeeded_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_operation_succeeded_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_operation_succeeded_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_operation_succeeded_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_operation_succeeded_t = aeron_operation_succeeded_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_response_stct { pub offending_command_correlation_id : i64 , pub error_code : i32 , pub error_message_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_error_response_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_response_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_response_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . offending_command_correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( offending_command_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_message_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_message_length ) ) ) ; } pub type aeron_error_response_t = aeron_error_response_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_remove_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_remove_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_remove_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_remove_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_remove_command_t = aeron_remove_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_message_stct { pub correlation_id : i64 , pub subscription_registration_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_message_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_message_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_message_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_image_message_t = aeron_image_message_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_destination_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_destination_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_destination_command_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_destination_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_destination_command_t = aeron_destination_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_command_stct { pub correlated : aeron_correlated_command_t , pub type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . type_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( type_id ) ) ) ; } pub type aeron_counter_command_t = aeron_counter_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_update_stct { pub correlation_id : i64 , pub counter_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_update_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_update_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_update_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( counter_id ) ) ) ; } pub type aeron_counter_update_t = aeron_counter_update_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_timeout_stct { pub client_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_client_timeout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_timeout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_timeout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_timeout_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_timeout_stct ) , "::" , stringify ! ( client_id ) ) ) ; } pub type aeron_client_timeout_t = aeron_client_timeout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_terminate_driver_command_stct { pub correlated : aeron_correlated_command_t , pub token_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_terminate_driver_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_terminate_driver_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_terminate_driver_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . token_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( token_length ) ) ) ; } pub type aeron_terminate_driver_command_t = aeron_terminate_driver_command_stct ; pub mod aeron_ipc_publication_state_enum { pub type Type = u32 ; pub const AERON_IPC_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_IPC_PUBLICATION_STATE_INACTIVE : Type = 1 ; pub const AERON_IPC_PUBLICATION_STATE_LINGER : Type = 2 ; } pub use self :: aeron_ipc_publication_state_enum :: Type as aeron_ipc_publication_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct { pub mapped_raw_log : aeron_mapped_raw_log_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub pub_lmt_position : aeron_position_t , pub pub_pos_position : aeron_position_t , pub conductor_fields : aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_window_length : i64 , pub trip_gain : i64 , pub unblock_timeout_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub is_exclusive : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_ipc_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub trip_limit : i64 , pub clean_position : i64 , pub consumer_position : i64 , pub last_consumer_position : i64 , pub time_of_last_consumer_position_change : i64 , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . trip_limit as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( trip_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . consumer_position as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . last_consumer_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( last_consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . time_of_last_consumer_position_change as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_consumer_position_change ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . tag as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 316usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_ipc_publication_t = aeron_ipc_publication_stct ; extern "C" { pub fn aeron_ipc_publication_create ( publication : * mut * mut aeron_ipc_publication_t , context : * mut aeron_driver_context_t , session_id : i32 , stream_id : i32 , registration_id : i64 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , initial_term_id : i32 , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_ipc_publication_t ) ; } extern "C" { pub fn aeron_ipc_publication_update_pub_lmt ( publication : * mut aeron_ipc_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_clean_buffer ( publication : * mut aeron_ipc_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_ipc_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_check_for_blocked_publisher ( publication : * mut aeron_ipc_publication_t , producer_position : i64 , now_ns : i64 ) ; } extern "C" { pub fn aeron_format_date ( str : * mut :: std :: os :: raw :: c_char , count : size_t , timestamp : i64 ) ; } extern "C" { pub fn aeron_format_to_hex ( str : * mut :: std :: os :: raw :: c_char , str_length : size_t , data : * mut u8 , data_len : size_t ) ; } extern "C" { pub fn aeron_tokenise ( input : * mut :: std :: os :: raw :: c_char , delimiter : :: std :: os :: raw :: c_char , max_tokens : :: std :: os :: raw :: c_int , tokens : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_per_thread_error_stct { pub errcode : :: std :: os :: raw :: c_int , pub errmsg : [ :: std :: os :: raw :: c_char ; 384usize ] , } # [ test ] fn bindgen_test_layout_aeron_per_thread_error_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_per_thread_error_stct > ( ) , 388usize , concat ! ( "Size of: " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_per_thread_error_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errmsg as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errmsg ) ) ) ; } pub type aeron_per_thread_error_t = aeron_per_thread_error_stct ; extern "C" { pub fn aeron_set_err ( errcode : :: std :: os :: raw :: c_int , format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_set_err_from_last_err_code ( format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_error_code_str ( errcode : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_key_stct { pub str : * const :: std :: os :: raw :: c_char , pub hash_code : u64 , pub str_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_key_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . hash_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( hash_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str_length ) ) ) ; } pub type aeron_str_to_ptr_hash_map_key_t = aeron_str_to_ptr_hash_map_key_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_stct { pub keys : * mut aeron_str_to_ptr_hash_map_key_t , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_str_to_ptr_hash_map_t = aeron_str_to_ptr_hash_map_stct ; pub type aeron_str_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , key_len : size_t , value : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_ptr_hash_map_stct { pub keys : * mut i64 , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_ptr_hash_map_t = aeron_int64_to_ptr_hash_map_stct ; pub type aeron_int64_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; pub type aeron_uri_hostname_resolver_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , host : * const :: std :: os :: raw :: c_char , hints : * mut addrinfo , info : * mut * mut addrinfo ) -> :: std :: os :: raw :: c_int > ; pub type aeron_getifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut * mut ifaddrs ) -> :: std :: os :: raw :: c_int > ; pub type aeron_freeifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ifaddrs ) > ; pub type aeron_ifaddr_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr , netmask : * mut sockaddr , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_ip_addr_resolver ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , family_hint : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_port_resolver ( port_str : * const :: std :: os :: raw :: c_char , optional : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv4 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv4_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv6 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv6_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces_from_ifaddrs ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void , ifaddrs : * mut ifaddrs ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_getifaddrs ( get_func : aeron_getifaddrs_func_t , free_func : aeron_freeifaddrs_func_t ) ; } extern "C" { pub fn aeron_interface_parse_and_resolve ( interface_str : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , prefixlen : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_ipv4_wildcard_host_and_port ( sockaddr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_ipv4_does_prefix_match ( in_addr1 : * mut in_addr , in_addr2 : * mut in_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv6_does_prefix_match ( in6_addr1 : * mut in6_addr , in6_addr2 : * mut in6_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv4_netmask_to_prefixlen ( netmask : * mut in_addr ) -> size_t ; } extern "C" { pub fn aeron_ipv6_netmask_to_prefixlen ( netmask : * mut in6_addr ) -> size_t ; } extern "C" { pub fn aeron_find_interface ( interface_str : * const :: std :: os :: raw :: c_char , if_addr : * mut sockaddr_storage , if_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_find_unicast_interface ( family : :: std :: os :: raw :: c_int , interface_str : * const :: std :: os :: raw :: c_char , interface_addr : * mut sockaddr_storage , interface_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_is_addr_multicast ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_addr ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_port ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_format_source_identity ( buffer : * mut :: std :: os :: raw :: c_char , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_retransmit_action_state_enum { pub type Type = u32 ; pub const AERON_RETRANSMIT_ACTION_STATE_DELAYED : Type = 0 ; pub const AERON_RETRANSMIT_ACTION_STATE_LINGERING : Type = 1 ; pub const AERON_RETRANSMIT_ACTION_STATE_INACTIVE : Type = 2 ; } pub use self :: aeron_retransmit_action_state_enum :: Type as aeron_retransmit_action_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_action_stct { pub expiry_ns : i64 , pub term_id : i32 , pub term_offset : i32 , pub length : size_t , pub state : aeron_retransmit_action_state_t , } # [ test ] fn bindgen_test_layout_aeron_retransmit_action_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_action_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_action_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_retransmit_action_t = aeron_retransmit_action_stct ; pub type aeron_retransmit_handler_resend_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_handler_stct { pub retransmit_action_pool : [ aeron_retransmit_action_t ; 16usize ] , pub active_retransmits_map : aeron_int64_to_ptr_hash_map_t , pub delay_timeout_ns : u64 , pub linger_timeout_ns : u64 , pub invalid_packets_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_retransmit_handler_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_handler_stct > ( ) , 584usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_handler_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . retransmit_action_pool as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( retransmit_action_pool ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . active_retransmits_map as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( active_retransmits_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . delay_timeout_ns as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( delay_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . invalid_packets_counter as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( invalid_packets_counter ) ) ) ; } pub type aeron_retransmit_handler_t = aeron_retransmit_handler_stct ; extern "C" { pub fn aeron_retransmit_handler_init ( handler : * mut aeron_retransmit_handler_t , invalid_packets_counter : * mut i64 , delay_timeout_ns : u64 , linger_timeout_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_close ( handler : * mut aeron_retransmit_handler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_on_nak ( handler : * mut aeron_retransmit_handler_t , term_id : i32 , term_offset : i32 , length : size_t , term_length : size_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_process_timeouts ( handler : * mut aeron_retransmit_handler_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_network_publication_state_enum { pub type Type = u32 ; pub const AERON_NETWORK_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_NETWORK_PUBLICATION_STATE_DRAINING : Type = 1 ; pub const AERON_NETWORK_PUBLICATION_STATE_LINGER : Type = 2 ; pub const AERON_NETWORK_PUBLICATION_STATE_CLOSING : Type = 3 ; } pub use self :: aeron_network_publication_state_enum :: Type as aeron_network_publication_state_t ; pub type aeron_send_channel_endpoint_t = aeron_send_channel_endpoint_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct { pub conductor_fields : aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct , pub conductor_fields_pad : [ u8 ; 128usize ] , pub mapped_raw_log : aeron_mapped_raw_log_t , pub pub_pos_position : aeron_position_t , pub pub_lmt_position : aeron_position_t , pub snd_pos_position : aeron_position_t , pub snd_lmt_position : aeron_position_t , pub snd_bpe_counter : aeron_atomic_counter_t , pub retransmit_handler : aeron_retransmit_handler_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_send_channel_endpoint_t , pub flow_control : * mut aeron_flow_control_strategy_t , pub cached_clock : * mut aeron_clock_cache_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_buffer_length : i64 , pub term_window_length : i64 , pub trip_gain : i64 , pub linger_timeout_ns : i64 , pub unblock_timeout_ns : i64 , pub connection_timeout_ns : i64 , pub time_of_last_send_or_heartbeat_ns : i64 , pub time_of_last_setup_ns : i64 , pub status_message_deadline_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub mtu_length : size_t , pub is_exclusive : bool , pub spies_simulate_connection : bool , pub signal_eos : bool , pub should_send_setup_frame : bool , pub has_receivers : bool , pub has_spies : bool , pub is_connected : bool , pub is_end_of_stream : bool , pub track_sender_limits : bool , pub has_sender_released : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub short_sends_counter : * mut i64 , pub heartbeats_sent_counter : * mut i64 , pub sender_flow_control_limits_counter : * mut i64 , pub retransmits_sent_counter : * mut i64 , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_network_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub clean_position : i64 , pub time_of_last_activity_ns : i64 , pub last_snd_pos : i64 , } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . last_snd_pos as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( last_snd_pos ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct > ( ) , 1232usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields_pad as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_pos_position as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_lmt_position as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_bpe_counter as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_bpe_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmit_handler as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmit_handler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . endpoint as * const _ as usize } , 1016usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . flow_control as * const _ as usize } , 1024usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . cached_clock as * const _ as usize } , 1032usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 1040usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 1048usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 1056usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 1064usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 1072usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 1080usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . connection_timeout_ns as * const _ as usize } , 1088usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_send_or_heartbeat_ns as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_send_or_heartbeat_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_setup_ns as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_setup_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . status_message_deadline_ns as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( status_message_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . tag as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 1132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 1140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mtu_length as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 1169usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . signal_eos as * const _ as usize } , 1170usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . should_send_setup_frame as * const _ as usize } , 1171usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( should_send_setup_frame ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_receivers as * const _ as usize } , 1172usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_spies as * const _ as usize } , 1173usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_spies ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_connected as * const _ as usize } , 1174usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 1175usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . track_sender_limits as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( track_sender_limits ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 1177usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . heartbeats_sent_counter as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( heartbeats_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . sender_flow_control_limits_counter as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( sender_flow_control_limits_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmits_sent_counter as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmits_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_network_publication_t = aeron_network_publication_stct ; extern "C" { pub fn aeron_network_publication_create ( publication : * mut * mut aeron_network_publication_t , endpoint : * mut aeron_send_channel_endpoint_t , context : * mut aeron_driver_context_t , registration_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , snd_pos_position : * mut aeron_position_t , snd_lmt_position : * mut aeron_position_t , snd_bpe_counter : * mut aeron_atomic_counter_t , flow_control_strategy : * mut aeron_flow_control_strategy_t , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , spies_simulate_connection : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_network_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_send ( publication : * mut aeron_network_publication_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_resend ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_send_data ( publication : * mut aeron_network_publication_t , now_ns : i64 , snd_pos : i64 , term_offset : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_on_nak ( publication : * mut aeron_network_publication_t , term_id : i32 , term_offset : i32 , length : i32 ) ; } extern "C" { pub fn aeron_network_publication_on_status_message ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_on_rttm ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_clean_buffer ( publication : * mut aeron_network_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_network_publication_update_pub_lmt ( publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_check_for_blocked_publisher ( publication : * mut aeron_network_publication_t , now_ns : i64 , producer_position : i64 , snd_pos : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_stct { pub original_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub canonical_form : [ :: std :: os :: raw :: c_char ; 384usize ] , pub uri : aeron_uri_t , pub remote_data : sockaddr_storage , pub local_data : sockaddr_storage , pub remote_control : sockaddr_storage , pub local_control : sockaddr_storage , pub tag_id : i64 , pub interface_index : :: std :: os :: raw :: c_uint , pub uri_length : size_t , pub canonical_length : size_t , pub multicast_ttl : u8 , pub has_explicit_endpoint : bool , pub has_explicit_control : bool , pub is_manual_control_mode : bool , pub is_dynamic_control_mode : bool , pub is_multicast : bool , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_stct > ( ) , 1784usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . original_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( original_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_form as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_form ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_data as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_data as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_control as * const _ as usize } , 1488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_control as * const _ as usize } , 1616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . tag_id as * const _ as usize } , 1744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( tag_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . interface_index as * const _ as usize } , 1752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( interface_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri_length as * const _ as usize } , 1760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_length as * const _ as usize } , 1768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 1776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_endpoint as * const _ as usize } , 1777usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_control as * const _ as usize } , 1778usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 1779usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_dynamic_control_mode as * const _ as usize } , 1780usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_dynamic_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_multicast as * const _ as usize } , 1781usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_multicast ) ) ) ; } extern "C" { pub fn aeron_udp_channel_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , resolver : * mut aeron_name_resolver_t , channel : * mut * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_delete ( channel : * const aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_stct { pub fd : aeron_socket_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub dispatch_clientd : * mut :: std :: os :: raw :: c_void , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , pub destination_clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . fd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . data_paths as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . dispatch_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( dispatch_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . destination_clientd as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( destination_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_init ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_close ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_recvmmsg ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_get_so_rcvbuf ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_bind_addr_and_port ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_entry_stct { pub time_of_last_activity_ns : i64 , pub destination_timeout_ns : i64 , pub receiver_id : i64 , pub is_receiver_id_valid : bool , pub uri : * mut aeron_uri_t , pub addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . receiver_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . is_receiver_id_valid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( is_receiver_id_valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . uri as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( addr ) ) ) ; } pub type aeron_udp_destination_entry_t = aeron_udp_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct { pub destinations : aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct , pub is_manual_control_mode : bool , pub cached_clock : * mut aeron_clock_cache_t , pub destination_timeout_ns : i64 , pub data_paths : * mut aeron_udp_channel_data_paths_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct { pub array : * mut aeron_udp_destination_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destinations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . cached_clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( data_paths ) ) ) ; } pub type aeron_udp_destination_tracker_t = aeron_udp_destination_tracker_stct ; extern "C" { pub fn aeron_udp_destination_tracker_init ( tracker : * mut aeron_udp_destination_tracker_t , data_paths : * mut aeron_udp_channel_data_paths_t , cached_clock : * mut aeron_clock_cache_t , is_manual_control_model : bool , timeout_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_close ( tracker : * mut aeron_udp_destination_tracker_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_on_status_message ( tracker : * mut aeron_udp_destination_tracker_t , buffer : * const u8 , len : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_manual_add_destination ( tracker : * mut aeron_udp_destination_tracker_t , now_ns : i64 , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_remove_destination ( tracker : * mut aeron_udp_destination_tracker_t , addr : * mut sockaddr_storage , removed_uri : * mut * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_check_for_re_resolution ( tracker : * mut aeron_udp_destination_tracker_t , endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_udp_destination_tracker_resolution_change ( tracker : * mut aeron_udp_destination_tracker_t , endpoint_name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr_storage ) ; } pub type aeron_driver_sender_t = aeron_driver_sender_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_proxy_stct { pub sender : * mut aeron_driver_sender_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . sender as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_resolution_change ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut aeron_send_channel_endpoint_t , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_destination_stct { pub base : aeron_command_base_t , pub control_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub uri : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_destination_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . control_address as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . uri as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( uri ) ) ) ; } pub type aeron_command_destination_t = aeron_command_destination_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_sender_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_sender_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_sender_resolution_change_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_sender_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_sender_resolution_change_t = aeron_command_sender_resolution_change_stct ; extern "C" { pub fn aeron_driver_sender_proxy_on_add_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_delete_cmd ( sender_proxy : * mut aeron_driver_sender_proxy_t , cmd : * mut aeron_command_base_t ) ; } pub mod aeron_send_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; } pub use self :: aeron_send_channel_endpoint_status_enum :: Type as aeron_send_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct { pub conductor_fields : aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct , pub has_sender_released : bool , pub transport : aeron_udp_channel_transport_t , pub channel_status : aeron_atomic_counter_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub destination_tracker : * mut aeron_udp_destination_tracker_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub publication_dispatch_map : aeron_int64_to_ptr_hash_map_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub current_data_addr : sockaddr_storage , pub cached_clock : * mut aeron_clock_cache_t , pub time_of_last_sm_ns : i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub refcnt : i32 , pub has_reached_end_of_life : bool , pub udp_channel : * const aeron_udp_channel_t , pub status : aeron_send_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . destination_tracker as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( destination_tracker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . publication_dispatch_map as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( publication_dispatch_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . data_paths as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . current_data_addr as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( current_data_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . time_of_last_sm_ns as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( time_of_last_sm_ns ) ) ) ; } extern "C" { pub fn aeron_send_channel_endpoint_create ( endpoint : * mut * mut aeron_send_channel_endpoint_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_send_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_endpoint_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_sendmmsg ( endpoint : * mut aeron_send_channel_endpoint_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_sendmsg ( endpoint : * mut aeron_send_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_add_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_remove_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , sender_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_nak ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_status_message ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_rttm ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_resolution_change ( endpoint : * mut aeron_send_channel_endpoint_t , endpoint_name : * const :: std :: os :: raw :: c_char , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_counter_map_stct { pub entries : * mut i64 , pub load_factor : f32 , pub entries_length : size_t , pub size : size_t , pub resize_threshold : size_t , pub initial_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_int64_counter_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_counter_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_counter_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . initial_value as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( initial_value ) ) ) ; } pub type aeron_int64_counter_map_t = aeron_int64_counter_map_stct ; pub type aeron_int64_counter_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : i64 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_entry_stct { pub value : * mut :: std :: os :: raw :: c_void , pub internal_flags : u32 , pub tag : u32 , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . internal_flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( internal_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . tag as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( tag ) ) ) ; } pub type aeron_int64_to_tagged_ptr_entry_t = aeron_int64_to_tagged_ptr_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_hash_map_stct { pub keys : * mut i64 , pub entries : * mut aeron_int64_to_tagged_ptr_entry_t , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . entries as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_tagged_ptr_hash_map_t = aeron_int64_to_tagged_ptr_hash_map_stct ; pub type aeron_int64_to_tagged_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_tagged_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_proxy_stct { pub conductor : * mut aeron_driver_conductor_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_mpsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . conductor as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , cmd : * mut aeron_command_base_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_create_publication_image_stct { pub base : aeron_command_base_t , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub control_address : sockaddr_storage , pub src_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_create_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_create_publication_image_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_create_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_offset as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . control_address as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . src_address as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( src_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . destination as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_create_publication_image_t = aeron_command_create_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_re_resolve_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub existing_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_re_resolve_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_re_resolve_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_re_resolve_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . existing_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( existing_addr ) ) ) ; } pub type aeron_command_re_resolve_t = aeron_command_re_resolve_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_delete_destination_stct { pub base : aeron_command_base_t , pub destination : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_delete_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_delete_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_delete_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . destination as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_delete_destination_t = aeron_command_delete_destination_stct ; extern "C" { pub fn aeron_driver_conductor_proxy_on_create_publication_image_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , term_offset : i32 , term_length : i32 , mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_linger_buffer ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , buffer : * mut u8 ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_endpoint ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_control ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_receive_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , destination : * mut :: std :: os :: raw :: c_void , channel : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_conductor_proxy_on_delete_send_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , removed_uri : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_receive_endpoint_removed ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct { pub conductor_fields : aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct , pub transport : aeron_udp_channel_transport_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub current_control_addr : sockaddr_storage , pub so_rcvbuf : size_t , pub time_of_last_activity_ns : i64 , pub has_control_addr : bool , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct { pub udp_channel : * mut aeron_udp_channel_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . transport as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . current_control_addr as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( current_control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . so_rcvbuf as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( so_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . has_control_addr as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( has_control_addr ) ) ) ; } pub type aeron_receive_destination_t = aeron_receive_destination_stct ; extern "C" { pub fn aeron_receive_destination_create ( destination : * mut * mut aeron_receive_destination_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t , channel_status_counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_destination_delete ( destination : * mut aeron_receive_destination_t , counters_manager : * mut aeron_counters_manager_t ) ; } pub type aeron_publication_image_t = aeron_publication_image_stct ; pub type aeron_receive_channel_endpoint_t = aeron_receive_channel_endpoint_stct ; pub type aeron_driver_receiver_t = aeron_driver_receiver_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct { pub ignored_sessions_map : aeron_int64_to_ptr_hash_map_t , pub session_by_stream_id_map : aeron_int64_to_ptr_hash_map_t , pub tokens : aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub receiver : * mut aeron_driver_receiver_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct { pub subscribed : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) ) ) . subscribed as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) , "::" , stringify ! ( subscribed ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . ignored_sessions_map as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( ignored_sessions_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . session_by_stream_id_map as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( session_by_stream_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . tokens as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( tokens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . receiver as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( receiver ) ) ) ; } pub type aeron_data_packet_dispatcher_t = aeron_data_packet_dispatcher_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_init ( dispatcher : * mut aeron_data_packet_dispatcher_t , conductor_proxy : * mut aeron_driver_conductor_proxy_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_close ( dispatcher : * mut aeron_data_packet_dispatcher_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stream_interest_stct { pub is_all_sessions : bool , pub image_by_session_id_map : aeron_int64_to_tagged_ptr_hash_map_t , pub subscribed_sessions : aeron_int64_to_ptr_hash_map_t , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stream_interest_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . is_all_sessions as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( is_all_sessions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . image_by_session_id_map as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( image_by_session_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . subscribed_sessions as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( subscribed_sessions ) ) ) ; } pub type aeron_data_packet_dispatcher_stream_interest_t = aeron_data_packet_dispatcher_stream_interest_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_data ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_data_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_setup ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_setup_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_rttm ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_rttm_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_elicit_setup_from_source ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_interest : * mut aeron_data_packet_dispatcher_stream_interest_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_receive_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSED : Type = 2 ; } pub use self :: aeron_receive_channel_endpoint_status_enum :: Type as aeron_receive_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_entry_stct { pub destination : * mut aeron_receive_destination_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_entry_stct > ( ) ) ) . destination as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_receive_destination_entry_t = aeron_receive_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct { pub conductor_fields : aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct , pub destinations : aeron_receive_channel_endpoint_stct_destination_stct , pub dispatcher : aeron_data_packet_dispatcher_t , pub stream_id_to_refcnt_map : aeron_int64_counter_map_t , pub stream_and_session_id_to_refcnt_map : aeron_int64_counter_map_t , pub channel_status : aeron_atomic_counter_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub cached_clock : * mut aeron_clock_cache_t , pub receiver_id : i64 , pub has_receiver_released : bool , pub group_tag : aeron_receive_channel_endpoint_stct__bindgen_ty_1 , pub short_sends_counter : * mut i64 , pub possible_ttl_asymmetry_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub udp_channel : * mut aeron_udp_channel_t , pub status : aeron_receive_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_destination_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_destination_entry_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . destinations as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . dispatcher as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( dispatcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_id_to_refcnt_map as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_and_session_id_to_refcnt_map as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_and_session_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_id as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . has_receiver_released as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_receiver_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . group_tag as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . possible_ttl_asymmetry_counter as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( possible_ttl_asymmetry_counter ) ) ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_create ( endpoint : * mut * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , straight_through_destination : * mut aeron_receive_destination_t , status_indicator : * mut aeron_atomic_counter_t , system_counters : * mut aeron_system_counters_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_close ( endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_sendmsg ( endpoint : * mut aeron_receive_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_sm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , receiver_window : i32 , flags : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_nak ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , length : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , echo_timestamp : i64 , reception_delta : i64 , is_reply : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_data ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , destination_out : * mut * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receiver_channel_endpoint_validate_sender_mtu_length ( endpoint : * mut aeron_receive_channel_endpoint_t , sender_mtu_length : size_t , window_max_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_receive_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_update_control_address ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , address : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_term_gap_scanner_on_gap_detected_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_gap_stct { pub term_id : i32 , pub term_offset : i32 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_gap_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_gap_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_gap_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_loss_detector_gap_t = aeron_loss_detector_gap_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_stct { pub on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , pub feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , pub on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void , pub scanned_gap : aeron_loss_detector_gap_t , pub active_gap : aeron_loss_detector_gap_t , pub expiry_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . feedback_delay_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( feedback_delay_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . scanned_gap as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( scanned_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . active_gap as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( active_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; } pub type aeron_loss_detector_t = aeron_loss_detector_stct ; extern "C" { pub fn aeron_loss_detector_init ( detector : * mut aeron_loss_detector_t , feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_scan ( detector : * mut aeron_loss_detector_t , loss_found : * mut bool , buffer : * const u8 , rebuild_position : i64 , hwm_position : i64 , now_ns : i64 , term_length_mask : size_t , position_bits_to_shift : size_t , initial_term_id : i32 ) -> i32 ; } extern "C" { pub fn aeron_feedback_delay_state_init ( state : * mut aeron_feedback_delay_generator_state_t , delay_generator : aeron_feedback_delay_generator_func_t , delay_ns : i64 , multicast_group_size : size_t , should_immediate_feedback : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_nak_multicast_delay_generator ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_entry_stct { pub observation_count : i64 , pub total_bytes_lost : i64 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_entry_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . total_bytes_lost as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( total_bytes_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_loss_reporter_entry_t = aeron_loss_reporter_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_stct { pub buffer : * mut u8 , pub next_record_offset : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . next_record_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( next_record_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( capacity ) ) ) ; } pub type aeron_loss_reporter_t = aeron_loss_reporter_stct ; pub type aeron_loss_reporter_entry_offset_t = i64 ; extern "C" { pub fn aeron_loss_reporter_init ( reporter : * mut aeron_loss_reporter_t , buffer : * mut u8 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_reporter_create_entry ( reporter : * mut aeron_loss_reporter_t , initial_bytes_lost : i64 , timestamp_ms : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t , source : * const :: std :: os :: raw :: c_char , source_length : size_t ) -> aeron_loss_reporter_entry_offset_t ; } pub type aeron_loss_reporter_read_entry_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , observation_count : i64 , total_bytes_lost : i64 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : i32 , source : * const :: std :: os :: raw :: c_char , source_length : i32 ) > ; extern "C" { pub fn aeron_loss_reporter_read ( buffer : * const u8 , capacity : size_t , entry_func : aeron_loss_reporter_read_entry_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> size_t ; } pub mod aeron_publication_image_state_enum { pub type Type = u32 ; pub const AERON_PUBLICATION_IMAGE_STATE_INACTIVE : Type = 0 ; pub const AERON_PUBLICATION_IMAGE_STATE_ACTIVE : Type = 1 ; pub const AERON_PUBLICATION_IMAGE_STATE_LINGER : Type = 2 ; pub const AERON_PUBLICATION_IMAGE_STATE_DONE : Type = 3 ; } pub use self :: aeron_publication_image_state_enum :: Type as aeron_publication_image_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_connection_stct { pub resolved_control_address_for_implicit_unicast_channels : sockaddr_storage , pub destination : * mut aeron_receive_destination_t , pub control_addr : * mut sockaddr_storage , pub time_of_last_activity_ns : i64 , pub time_of_last_frame_ns : i64 , pub is_eos : bool , } # [ test ] fn bindgen_test_layout_aeron_publication_image_connection_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_connection_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_connection_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . resolved_control_address_for_implicit_unicast_channels as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( resolved_control_address_for_implicit_unicast_channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . destination as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . control_addr as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_frame_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_frame_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . is_eos as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( is_eos ) ) ) ; } pub type aeron_publication_image_connection_t = aeron_publication_image_connection_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct { pub padding_before : [ u8 ; 64usize ] , pub conductor_fields : aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct , pub padding_after : [ u8 ; 64usize ] , pub connections : aeron_publication_image_stct_image_connection_entries , pub source_address : sockaddr_storage , pub loss_detector : aeron_loss_detector_t , pub mapped_raw_log : aeron_mapped_raw_log_t , pub rcv_hwm_position : aeron_position_t , pub rcv_pos_position : aeron_position_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub congestion_control : * mut aeron_congestion_control_strategy_t , pub nano_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub loss_reporter : * mut aeron_loss_reporter_t , pub loss_reporter_offset : aeron_loss_reporter_entry_offset_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub initial_term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub begin_loss_change : i64 , pub end_loss_change : i64 , pub loss_term_id : i32 , pub loss_term_offset : i32 , pub loss_length : size_t , pub begin_sm_change : i64 , pub end_sm_change : i64 , pub next_sm_position : i64 , pub next_sm_receiver_window_length : i32 , pub last_status_message_timestamp : i64 , pub last_packet_timestamp_ns : i64 , pub last_sm_change_number : i64 , pub last_sm_position : i64 , pub last_sm_position_window_limit : i64 , pub last_loss_change_number : i64 , pub is_end_of_stream : bool , pub heartbeats_received_counter : * mut i64 , pub flow_control_under_runs_counter : * mut i64 , pub flow_control_over_runs_counter : * mut i64 , pub status_messages_sent_counter : * mut i64 , pub nak_messages_sent_counter : * mut i64 , pub loss_gap_fills_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct { pub is_reliable : bool , pub state : aeron_publication_image_state_t , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub time_of_last_state_change_ns : i64 , pub liveness_timeout_ns : i64 , pub clean_position : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . time_of_last_state_change_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_state_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . liveness_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_image_connection_entries { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_connection_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_image_connection_entries ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct > ( ) , 872usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_before as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_before ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_after as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_after ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . connections as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( connections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . source_address as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( source_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_detector as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_detector ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_hwm_position as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_hwm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_pos_position as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . congestion_control as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( congestion_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nano_clock as * const _ as usize } , 608usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . cached_clock as * const _ as usize } , 616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter_offset as * const _ as usize } , 632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 652usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 656usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 660usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_offset as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 668usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 676usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 680usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 688usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 696usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_loss_change as * const _ as usize } , 704usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_loss_change as * const _ as usize } , 712usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_id as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_offset as * const _ as usize } , 724usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_length as * const _ as usize } , 728usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_sm_change as * const _ as usize } , 736usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_sm_change as * const _ as usize } , 744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_position as * const _ as usize } , 752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_receiver_window_length as * const _ as usize } , 760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_receiver_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_status_message_timestamp as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_status_message_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_packet_timestamp_ns as * const _ as usize } , 776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_packet_timestamp_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_change_number as * const _ as usize } , 784usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position as * const _ as usize } , 792usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position_window_limit as * const _ as usize } , 800usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position_window_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_loss_change_number as * const _ as usize } , 808usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_loss_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . heartbeats_received_counter as * const _ as usize } , 824usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( heartbeats_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_under_runs_counter as * const _ as usize } , 832usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_under_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_over_runs_counter as * const _ as usize } , 840usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_over_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . status_messages_sent_counter as * const _ as usize } , 848usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( status_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nak_messages_sent_counter as * const _ as usize } , 856usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nak_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_gap_fills_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_gap_fills_counter ) ) ) ; } extern "C" { pub fn aeron_publication_image_create ( image : * mut * mut aeron_publication_image_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , context : * mut aeron_driver_context_t , correlation_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , initial_term_offset : i32 , rcv_hwm_position : * mut aeron_position_t , rcv_pos_position : * mut aeron_position_t , congestion_control : * mut aeron_congestion_control_strategy_t , control_address : * mut sockaddr_storage , source_address : * mut sockaddr_storage , term_buffer_length : i32 , sender_mtu_length : i32 , loss_reporter : * mut aeron_loss_reporter_t , is_reliable : bool , is_sparse : bool , treat_as_multicast : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_close ( counters_manager : * mut aeron_counters_manager_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_clean_buffer_to ( image : * mut aeron_publication_image_t , position : i64 ) ; } extern "C" { pub fn aeron_publication_image_on_gap_detected ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) ; } extern "C" { pub fn aeron_publication_image_track_rebuild ( image : * mut aeron_publication_image_t , now_ns : i64 , status_message_timeout : i64 ) ; } extern "C" { pub fn aeron_publication_image_insert_packet ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , term_id : i32 , term_offset : i32 , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_on_rttm ( image : * mut aeron_publication_image_t , header : * mut aeron_rttm_header_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_status_message ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_loss ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_initiate_rttm ( image : * mut aeron_publication_image_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_destination ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_remove_destination ( image : * mut aeron_publication_image_t , channel : * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_connection_if_unknown ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , src_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_publication_image_on_time_event ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t , now_ns : i64 , now_ms : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_link_stct { pub resource : * mut aeron_driver_managed_resource_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_publication_link_t = aeron_publication_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_link_stct { pub counter_id : i32 , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_counter_link_t = aeron_counter_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct { pub reached_end_of_life : bool , pub closed_by_command : bool , pub client_id : i64 , pub client_liveness_timeout_ms : i64 , pub heartbeat_timestamp : aeron_atomic_counter_t , pub publication_links : aeron_client_stct_publication_link_stct , pub counter_links : aeron_client_stct_counter_link_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_publication_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_publication_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_counter_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_counter_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_counter_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . closed_by_command as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( closed_by_command ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_liveness_timeout_ms as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_liveness_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . heartbeat_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( heartbeat_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . publication_links as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( publication_links ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . counter_links as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( counter_links ) ) ) ; } pub type aeron_client_t = aeron_client_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_list_entry_stct { pub counter_id : i32 , pub subscribable : * mut aeron_subscribable_t , } # [ test ] fn bindgen_test_layout_aeron_subscribable_list_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_list_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_list_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . subscribable as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( subscribable ) ) ) ; } pub type aeron_subscribable_list_entry_t = aeron_subscribable_list_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct { pub channel : [ :: std :: os :: raw :: c_char ; 384usize ] , pub is_tether : bool , pub is_sparse : bool , pub is_reliable : bool , pub is_rejoin : bool , pub has_session_id : bool , pub group : aeron_inferable_boolean_t , pub stream_id : i32 , pub session_id : i32 , pub channel_length : i32 , pub registration_id : i64 , pub client_id : i64 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub spy_channel : * mut aeron_udp_channel_t , pub subscribable_list : aeron_subscription_link_stct_subscribable_list_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct_subscribable_list_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscribable_list_entry_t , } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct_subscribable_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_tether as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_sparse as * const _ as usize } , 385usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_reliable as * const _ as usize } , 386usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 387usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . has_session_id as * const _ as usize } , 388usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . group as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . stream_id as * const _ as usize } , 396usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . session_id as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel_length as * const _ as usize } , 404usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . client_id as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . endpoint as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . spy_channel as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( spy_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . subscribable_list as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( subscribable_list ) ) ) ; } pub type aeron_subscription_link_t = aeron_subscription_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_entry_stct { pub publication : * mut aeron_ipc_publication_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_ipc_publication_entry_t = aeron_ipc_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_network_publication_entry_t = aeron_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_entry_stct { pub endpoint : * mut aeron_send_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_send_channel_endpoint_entry_t = aeron_send_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_entry_stct { pub endpoint : * mut aeron_receive_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_receive_channel_endpoint_entry_t = aeron_receive_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_publication_image_entry_t = aeron_publication_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_linger_resource_entry_stct { pub has_reached_end_of_life : bool , pub buffer : * mut u8 , pub timeout_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_linger_resource_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_linger_resource_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_linger_resource_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . buffer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; } pub type aeron_linger_resource_entry_t = aeron_linger_resource_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct { pub context : * mut aeron_driver_context_t , pub to_driver_commands : aeron_mpsc_rb_t , pub to_clients : aeron_broadcast_transmitter_t , pub error_log : aeron_distinct_error_log_t , pub counters_manager : aeron_counters_manager_t , pub system_counters : aeron_system_counters_t , pub conductor_proxy : aeron_driver_conductor_proxy_t , pub loss_reporter : aeron_loss_reporter_t , pub name_resolver : aeron_name_resolver_t , pub send_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub receive_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub clients : aeron_driver_conductor_stct_client_stct , pub ipc_subscriptions : aeron_driver_conductor_stct_ipc_subscriptions_stct , pub ipc_publications : aeron_driver_conductor_stct_ipc_publication_stct , pub network_subscriptions : aeron_driver_conductor_stct_network_subscriptions_stct , pub spy_subscriptions : aeron_driver_conductor_stct_spy_subscriptions_stct , pub network_publications : aeron_driver_conductor_stct_network_publication_stct , pub send_channel_endpoints : aeron_driver_conductor_stct_send_channel_endpoint_stct , pub receive_channel_endpoints : aeron_driver_conductor_stct_receive_channel_endpoint_stct , pub publication_images : aeron_driver_conductor_stct_publication_image_stct , pub lingering_resources : aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct , pub errors_counter : * mut i64 , pub unblocked_commands_counter : * mut i64 , pub client_timeouts_counter : * mut i64 , pub clock_update_deadline_ns : i64 , pub next_session_id : i32 , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub time_of_last_timeout_check_ns : i64 , pub time_of_last_to_driver_position_change_ns : i64 , pub last_consumer_command_position : i64 , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_client_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_client_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_ipc_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_spy_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_spy_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_network_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_send_channel_endpoint_stct { pub array : * mut aeron_send_channel_endpoint_entry_t , pub length : size_t , pub capacity : size_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_receive_channel_endpoint_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_channel_endpoint_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_publication_image_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_linger_resource_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct > ( ) , 1000usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_driver_commands as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_driver_commands ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_clients as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . error_log as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . counters_manager as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . system_counters as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . name_resolver as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( name_resolver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoint_by_channel_map as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoint_by_channel_map as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clients as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_subscriptions as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_publications as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_subscriptions as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . spy_subscriptions as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( spy_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_publications as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoints as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoints as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_images as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . lingering_resources as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( lingering_resources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . errors_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . unblocked_commands_counter as * const _ as usize } , 872usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( unblocked_commands_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . client_timeouts_counter as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( client_timeouts_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clock_update_deadline_ns as * const _ as usize } , 888usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clock_update_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . next_session_id as * const _ as usize } , 896usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( next_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 900usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 904usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_timeout_check_ns as * const _ as usize } , 912usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_timeout_check_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_to_driver_position_change_ns as * const _ as usize } , 920usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_to_driver_position_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . last_consumer_command_position as * const _ as usize } , 928usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( last_consumer_command_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . padding as * const _ as usize } , 936usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_client_on_time_event ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_client_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t ) -> bool ; } extern "C" { pub fn aeron_client_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_client_t ) ; } extern "C" { pub fn aeron_ipc_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_ipc_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_ipc_publication_entry_t ) ; } extern "C" { pub fn aeron_network_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_network_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_network_publication_entry_t ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_send_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_receive_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_publication_image_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_publication_image_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t ) -> bool ; } extern "C" { pub fn aeron_publication_image_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_publication_image_entry_t ) ; } extern "C" { pub fn aeron_linger_resource_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_linger_resource_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t ) -> bool ; } extern "C" { pub fn aeron_linger_resource_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_linger_resource_entry_t ) ; } extern "C" { pub fn aeron_driver_conductor_image_transition_to_linger ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_conductor_init ( conductor : * mut aeron_driver_conductor_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_client_transmit ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_available_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , stream_id : i32 , session_id : i32 , log_file_name : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , subscriber_position_id : i32 , subscriber_registration_id : i64 , source_identity : * const :: std :: os :: raw :: c_char , source_identity_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , subscription_registration_id : i64 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_counter_ready ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_counter ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_client_timeout ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_spies ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_network_publication ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_command ( msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_link_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t , original_registration_id : i64 , session_id : i32 , stream_id : i32 , join_position : i64 , now_ns : i64 , source_identity_length : size_t , source_identity : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , log_file_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_unlink_subscribable ( link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t ) ; } extern "C" { pub fn aeron_driver_conductor_unlink_all_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_spy_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_keepalive ( conductor : * mut aeron_driver_conductor_t , client_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_delete_receive_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_delete_send_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_counter_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_close ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_correlated_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_terminate_driver ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_terminate_driver_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_create_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_linger_buffer ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_control ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_receive_endpoint_removed ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_find_send_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_send_channel_endpoint_t ; } extern "C" { pub fn aeron_driver_conductor_find_receive_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_receive_channel_endpoint_t ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_entry_stct { pub transport : * mut aeron_udp_channel_transport_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_entry_stct > ( ) ) ) . transport as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) , "::" , stringify ! ( transport ) ) ) ; } pub type aeron_udp_channel_transport_entry_t = aeron_udp_channel_transport_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct { pub transports : aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct { pub array : * mut aeron_udp_channel_transport_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . transports as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( transports ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_transport_poller_init ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_close ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_add ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_remove ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_poll ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_send_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_receive_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_driver_sender_network_publication_entry_t = aeron_driver_sender_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct { pub sender_proxy : aeron_driver_sender_proxy_t , pub poller : aeron_udp_transport_poller_t , pub network_publications : aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct , pub recv_buffers : aeron_driver_sender_stct_aeron_driver_sender_buffers_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub total_bytes_sent_counter : * mut i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub status_messages_received_counter : * mut i64 , pub nak_messages_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub status_message_read_timeout_ns : i64 , pub control_poll_timeout_ns : i64 , pub re_resolution_deadline_ns : i64 , pub round_robin_index : size_t , pub duty_cycle_counter : size_t , pub duty_cycle_ratio : size_t , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct { pub array : * mut aeron_driver_sender_network_publication_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct > ( ) , 624usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . network_publications as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . data_paths as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . total_bytes_sent_counter as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( total_bytes_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . errors_counter as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_messages_received_counter as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . nak_messages_received_counter as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( nak_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . context as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . error_log as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_message_read_timeout_ns as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_message_read_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . control_poll_timeout_ns as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( control_poll_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . round_robin_index as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( round_robin_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_counter as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_ratio as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . padding as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_driver_sender_init ( sender : * mut aeron_driver_sender_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_do_send ( sender : * mut aeron_driver_sender_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_proxy_stct { pub receiver : * mut aeron_driver_receiver_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . receiver as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_delete_cmd ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , cmd : * mut aeron_command_base_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_subscription_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub stream_id : i32 , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_subscription_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_subscription_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_subscription_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . session_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_command_subscription_t = aeron_command_subscription_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_add_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_add_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_add_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_add_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_add_rcv_destination_t = aeron_command_add_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_remove_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_remove_rcv_destination_t = aeron_command_remove_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_publication_image_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub image : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_publication_image_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . image as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_command_publication_image_t = aeron_command_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_cool_down_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_remove_cool_down_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_cool_down_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_cool_down_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . session_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . stream_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_command_remove_cool_down_t = aeron_command_remove_cool_down_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_cool_down ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , session_id : i32 , stream_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_receiver_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_receiver_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_receiver_resolution_change_t = aeron_command_receiver_resolution_change_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_resolution_change ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_driver_receiver_image_entry_t = aeron_driver_receiver_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_pending_setup_entry_stct { pub is_periodic : bool , pub session_id : i32 , pub stream_id : i32 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub destination : * mut aeron_receive_destination_t , pub time_of_status_message_ns : i64 , pub control_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_pending_setup_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . is_periodic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( is_periodic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . time_of_status_message_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( time_of_status_message_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . control_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( control_addr ) ) ) ; } pub type aeron_driver_receiver_pending_setup_entry_t = aeron_driver_receiver_pending_setup_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct { pub receiver_proxy : aeron_driver_receiver_proxy_t , pub poller : aeron_udp_transport_poller_t , pub recv_buffers : aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct , pub images : aeron_driver_receiver_stct_aeron_driver_receiver_images_stct , pub pending_setups : aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub re_resolution_deadline_ns : i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub total_bytes_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_images_stct { pub array : * mut aeron_driver_receiver_image_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct { pub array : * mut aeron_driver_receiver_pending_setup_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct > ( ) , 528usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . images as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . pending_setups as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( pending_setups ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . data_paths as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . context as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . error_log as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . errors_counter as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . total_bytes_received_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( total_bytes_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_init ( receiver : * mut aeron_driver_receiver_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_cool_down ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_add_pending_setup ( receiver : * mut aeron_driver_receiver_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , session_id : i32 , stream_id : i32 , control_addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_stct { pub context : * mut aeron_driver_context_t , pub conductor : aeron_driver_conductor_t , pub sender : aeron_driver_sender_t , pub receiver : aeron_driver_receiver_t , pub runners : [ aeron_agent_runner_t ; 3usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_stct > ( ) , 2400usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . conductor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . sender as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . receiver as * const _ as usize } , 1632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . runners as * const _ as usize } , 2160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( runners ) ) ) ; } extern "C" { pub fn aeron_is_driver_active_with_cnc ( cnc_map : * mut aeron_mapped_file_t , timeout_ms : i64 , now_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[deny(unaligned_references)]` on by default [INFO] [stderr] = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stderr] [INFO] [stderr] error: reference to packed field is unaligned [INFO] [stderr] --> /opt/rustwide/target/debug/build/libaeron_driver-sys-a8b4d3a9f05df5ef/out/bindings.rs:3:94310 [INFO] [stderr] | [INFO] [stderr] 3 | pub const AERON_NULL_VALUE : i32 = -1 ; pub const AERON_DIR_ENV_VAR : & 'static [ u8 ; 10usize ] = b"AERON_DIR\0" ; pub const AERON_DRIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_DRIVER_TIMEOUT\0" ; pub const AERON_CLIENT_RESOURCE_LINGER_DURATION_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_CLIENT_RESOURCE_LINGER_DURATION\0" ; pub const AERON_AGENT_ON_START_FUNCTION_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_AGENT_ON_START_FUNCTION\0" ; pub const AERON_PUBLICATION_NOT_CONNECTED : i32 = -1 ; pub const AERON_PUBLICATION_BACK_PRESSURED : i32 = -2 ; pub const AERON_PUBLICATION_ADMIN_ACTION : i32 = -3 ; pub const AERON_PUBLICATION_CLOSED : i32 = -4 ; pub const AERON_PUBLICATION_MAX_POSITION_EXCEEDED : i32 = -5 ; pub const AERON_PUBLICATION_ERROR : i32 = -6 ; pub const AERON_COMPILER_GCC : u32 = 1 ; pub const AERON_COMPILER_LLVM : u32 = 1 ; pub const AERON_CPU_X64 : u32 = 1 ; pub const AERON_CACHE_LINE_LENGTH : u32 = 64 ; pub const AERON_INIT_ONCE_VALUE : u32 = 0 ; pub const AERON_MAX_PATH : u32 = 384 ; pub const AERON_CHANNEL_STATUS_INDICATOR_NOT_ALLOCATED : i32 = -1 ; pub const AERON_URI_INVALID_TAG : i32 = -1 ; pub const AERON_DIR_WARN_IF_EXISTS_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_DIR_WARN_IF_EXISTS\0" ; pub const AERON_THREADING_MODE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_THREADING_MODE\0" ; pub const AERON_DIR_DELETE_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_DIR_DELETE_ON_START\0" ; pub const AERON_DIR_DELETE_ON_SHUTDOWN_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_DIR_DELETE_ON_SHUTDOWN\0" ; pub const AERON_TO_CONDUCTOR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_BUFFER_LENGTH\0" ; pub const AERON_TO_CLIENTS_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 28usize ] = b"AERON_CLIENTS_BUFFER_LENGTH\0" ; pub const AERON_COUNTERS_VALUES_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_COUNTERS_BUFFER_LENGTH\0" ; pub const AERON_ERROR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_ERROR_BUFFER_LENGTH\0" ; pub const AERON_CLIENT_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CLIENT_LIVENESS_TIMEOUT\0" ; pub const AERON_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_TERM_BUFFER_LENGTH\0" ; pub const AERON_IPC_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IPC_TERM_BUFFER_LENGTH\0" ; pub const AERON_TERM_BUFFER_SPARSE_FILE_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_TERM_BUFFER_SPARSE_FILE\0" ; pub const AERON_PERFORM_STORAGE_CHECKS_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_PERFORM_STORAGE_CHECKS\0" ; pub const AERON_SPIES_SIMULATE_CONNECTION_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SPIES_SIMULATE_CONNECTION\0" ; pub const AERON_FILE_PAGE_SIZE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_FILE_PAGE_SIZE\0" ; pub const AERON_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 17usize ] = b"AERON_MTU_LENGTH\0" ; pub const AERON_IPC_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_IPC_MTU_LENGTH\0" ; pub const AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_LINGER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_PUBLICATION_LINGER_TIMEOUT\0" ; pub const AERON_SOCKET_SO_RCVBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_RCVBUF\0" ; pub const AERON_SOCKET_SO_SNDBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_SNDBUF\0" ; pub const AERON_SOCKET_MULTICAST_TTL_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SOCKET_MULTICAST_TTL\0" ; pub const AERON_SEND_TO_STATUS_POLL_RATIO_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SEND_TO_STATUS_POLL_RATIO\0" ; pub const AERON_RCV_STATUS_MESSAGE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_RCV_STATUS_MESSAGE_TIMEOUT\0" ; pub const AERON_MULTICAST_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_min\0" ; pub const AERON_MULTICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_max\0" ; pub const AERON_MULTICAST_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 17usize ] = b"multicast_tagged\0" ; pub const AERON_UNICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 12usize ] = b"unicast_max\0" ; pub const AERON_MULTICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_MULTICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_UNICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_UNICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_IMAGE_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IMAGE_LIVENESS_TIMEOUT\0" ; pub const AERON_RCV_INITIAL_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RCV_INITIAL_WINDOW_LENGTH\0" ; pub const AERON_CONGESTIONCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_CONGESTIONCONTROL_SUPPLIER\0" ; pub const AERON_LOSS_REPORT_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_LOSS_REPORT_BUFFER_LENGTH\0" ; pub const AERON_PUBLICATION_UNBLOCK_TIMEOUT_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_PUBLICATION_UNBLOCK_TIMEOUT\0" ; pub const AERON_PUBLICATION_CONNECTION_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_CONNECTION_TIMEOUT\0" ; pub const AERON_TIMER_INTERVAL_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_TIMER_INTERVAL\0" ; pub const AERON_SENDER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SENDER_IDLE_STRATEGY\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_RECEIVER_IDLE_STRATEGY\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SHARED_IDLE_STRATEGY\0" ; pub const AERON_SENDER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SENDER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 39usize ] = b"AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 44usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_INIT_ARGS_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SHARED_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT\0" ; pub const AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 50usize ] = b"AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT\0" ; pub const AERON_FLOW_CONTROL_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_FLOW_CONTROL_GROUP_TAG\0" ; pub const AERON_FLOW_CONTROL_GROUP_MIN_SIZE_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_FLOW_CONTROL_GROUP_MIN_SIZE\0" ; pub const AERON_RECEIVER_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_RECEIVER_GROUP_TAG\0" ; pub const AERON_DRIVER_TERMINATION_VALIDATOR_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_DRIVER_TERMINATION_VALIDATOR\0" ; pub const AERON_PRINT_CONFIGURATION_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_PRINT_CONFIGURATION\0" ; pub const AERON_RELIABLE_STREAM_ENV_VAR : & 'static [ u8 ; 22usize ] = b"AERON_RELIABLE_STREAM\0" ; pub const AERON_TETHER_SUBSCRIPTIONS_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_TETHER_SUBSCRIPTIONS\0" ; pub const AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT\0" ; pub const AERON_UNTETHERED_RESTING_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_UNTETHERED_RESTING_TIMEOUT\0" ; pub const AERON_NAK_MULTICAST_GROUP_SIZE_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_NAK_MULTICAST_GROUP_SIZE\0" ; pub const AERON_NAK_MULTICAST_MAX_BACKOFF_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_NAK_MULTICAST_MAX_BACKOFF\0" ; pub const AERON_NAK_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 24usize ] = b"AERON_NAK_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_RETRANSMIT_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_LINGER_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RETRANSMIT_UNICAST_LINGER\0" ; pub const AERON_RECEIVER_GROUP_CONSIDERATION_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_RECEIVER_GROUP_CONSIDERATION\0" ; pub const AERON_REJOIN_STREAM_ENV_VAR : & 'static [ u8 ; 20usize ] = b"AERON_REJOIN_STREAM\0" ; pub const AERON_IPC_CHANNEL : & 'static [ u8 ; 10usize ] = b"aeron:ipc\0" ; pub const AERON_SPY_PREFIX : & 'static [ u8 ; 11usize ] = b"aeron-spy:\0" ; pub const AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA\0" ; pub const AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS\0" ; pub const AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_LOW_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_LOW\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH\0" ; pub const AERON_DRIVER_RESOLVER_NAME_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_DRIVER_RESOLVER_NAME\0" ; pub const AERON_DRIVER_RESOLVER_INTERFACE_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_DRIVER_RESOLVER_INTERFACE\0" ; pub const AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_NAME_RESOLVER_SUPPLIER\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_DEFAULT : & 'static [ u8 ; 8usize ] = b"default\0" ; pub const AERON_NAME_RESOLVER_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_NAME_RESOLVER_INIT_ARGS\0" ; pub const AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL\0" ; pub const AERON_UDP_CHANNEL_RELIABLE_KEY : & 'static [ u8 ; 9usize ] = b"reliable\0" ; pub const AERON_UDP_CHANNEL_TTL_KEY : & 'static [ u8 ; 4usize ] = b"ttl\0" ; pub const AERON_UDP_CHANNEL_ENDPOINT_KEY : & 'static [ u8 ; 9usize ] = b"endpoint\0" ; pub const AERON_UDP_CHANNEL_INTERFACE_KEY : & 'static [ u8 ; 10usize ] = b"interface\0" ; pub const AERON_UDP_CHANNEL_CONTROL_KEY : & 'static [ u8 ; 8usize ] = b"control\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_KEY : & 'static [ u8 ; 13usize ] = b"control-mode\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_MANUAL_VALUE : & 'static [ u8 ; 7usize ] = b"manual\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_DYNAMIC_VALUE : & 'static [ u8 ; 8usize ] = b"dynamic\0" ; pub const AERON_URI_INITIAL_TERM_ID_KEY : & 'static [ u8 ; 13usize ] = b"init-term-id\0" ; pub const AERON_URI_TERM_ID_KEY : & 'static [ u8 ; 8usize ] = b"term-id\0" ; pub const AERON_URI_TERM_OFFSET_KEY : & 'static [ u8 ; 12usize ] = b"term-offset\0" ; pub const AERON_URI_TERM_LENGTH_KEY : & 'static [ u8 ; 12usize ] = b"term-length\0" ; pub const AERON_URI_LINGER_TIMEOUT_KEY : & 'static [ u8 ; 7usize ] = b"linger\0" ; pub const AERON_URI_MTU_LENGTH_KEY : & 'static [ u8 ; 4usize ] = b"mtu\0" ; pub const AERON_URI_SPARSE_TERM_KEY : & 'static [ u8 ; 7usize ] = b"sparse\0" ; pub const AERON_URI_EOS_KEY : & 'static [ u8 ; 4usize ] = b"eos\0" ; pub const AERON_URI_TETHER_KEY : & 'static [ u8 ; 7usize ] = b"tether\0" ; pub const AERON_URI_TAGS_KEY : & 'static [ u8 ; 5usize ] = b"tags\0" ; pub const AERON_URI_SESSION_ID_KEY : & 'static [ u8 ; 11usize ] = b"session-id\0" ; pub const AERON_URI_GROUP_KEY : & 'static [ u8 ; 6usize ] = b"group\0" ; pub const AERON_URI_REJOIN_KEY : & 'static [ u8 ; 7usize ] = b"rejoin\0" ; pub const AERON_URI_FC_KEY : & 'static [ u8 ; 3usize ] = b"fc\0" ; pub const AERON_URI_GTAG_KEY : & 'static [ u8 ; 5usize ] = b"gtag\0" ; pub const AERON_URI_CC_KEY : & 'static [ u8 ; 3usize ] = b"cc\0" ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP4 : u32 = 4 ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP6 : u32 = 16 ; pub const AERON_FRAME_HEADER_VERSION : u32 = 0 ; pub const AERON_HDR_TYPE_PAD : u32 = 0 ; pub const AERON_HDR_TYPE_DATA : u32 = 1 ; pub const AERON_HDR_TYPE_NAK : u32 = 2 ; pub const AERON_HDR_TYPE_SM : u32 = 3 ; pub const AERON_HDR_TYPE_ERR : u32 = 4 ; pub const AERON_HDR_TYPE_SETUP : u32 = 5 ; pub const AERON_HDR_TYPE_RTTM : u32 = 6 ; pub const AERON_HDR_TYPE_RES : u32 = 7 ; pub const AERON_HDR_TYPE_EXT : u32 = 65535 ; pub const AERON_DATA_HEADER_DEFAULT_RESERVED_VALUE : u32 = 0 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD : u32 = 1 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD : u32 = 2 ; pub const AERON_FRAME_MAX_MESSAGE_LENGTH : u32 = 16777216 ; pub const AERON_LOGBUFFER_PARTITION_COUNT : u32 = 3 ; pub const AERON_LOGBUFFER_TERM_MIN_LENGTH : u32 = 65536 ; pub const AERON_LOGBUFFER_TERM_MAX_LENGTH : u32 = 1073741824 ; pub const AERON_PAGE_MIN_SIZE : u32 = 4096 ; pub const AERON_PAGE_MAX_SIZE : u32 = 1073741824 ; pub const AERON_LOGBUFFER_DEFAULT_FRAME_HEADER_MAX_LENGTH : u32 = 128 ; pub const AERON_MAX_UDP_PAYLOAD_LENGTH : u32 = 65504 ; pub const AERON_LOGBUFFER_FRAME_ALIGNMENT : u32 = 32 ; pub const AERON_LOG_META_DATA_SECTION_INDEX : u32 = 3 ; pub const AERON_PUBLICATIONS_DIR : & 'static [ u8 ; 13usize ] = b"publications\0" ; pub const AERON_IMAGES_DIR : & 'static [ u8 ; 7usize ] = b"images\0" ; pub const AERON_RB_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"max\0" ; pub const AERON_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"min\0" ; pub const AERON_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 7usize ] = b"tagged\0" ; pub const AERON_AGENT_STATE_UNUSED : u32 = 0 ; pub const AERON_AGENT_STATE_INITED : u32 = 1 ; pub const AERON_AGENT_STATE_STARTED : u32 = 2 ; pub const AERON_AGENT_STATE_MANUAL : u32 = 3 ; pub const AERON_AGENT_STATE_STOPPING : u32 = 4 ; pub const AERON_AGENT_STATE_STOPPED : u32 = 5 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_SPINS : u32 = 10 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_YIELDS : u32 = 20 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MIN_PARK_PERIOD_NS : u32 = 1000 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_PARK_PERIOD_NS : u32 = 1000000 ; pub const AERON_COUNTER_RECORD_UNUSED : u32 = 0 ; pub const AERON_COUNTER_RECORD_ALLOCATED : u32 = 1 ; pub const AERON_COUNTER_RECORD_RECLAIMED : i32 = -1 ; pub const AERON_NULL_COUNTER_ID : i32 = -1 ; pub const AERON_COUNTER_PUBLISHER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"pub-lmt\0" ; pub const AERON_COUNTER_PUBLISHER_LIMIT_TYPE_ID : u32 = 1 ; pub const AERON_COUNTER_SENDER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"snd-pos\0" ; pub const AERON_COUNTER_SENDER_POSITION_TYPE_ID : u32 = 2 ; pub const AERON_COUNTER_SENDER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"snd-lmt\0" ; pub const AERON_COUNTER_SENDER_LIMIT_TYPE_ID : u32 = 9 ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"sub-pos\0" ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_TYPE_ID : u32 = 4 ; pub const AERON_COUNTER_RECEIVER_HWM_NAME : & 'static [ u8 ; 8usize ] = b"rcv-hwm\0" ; pub const AERON_COUNTER_RECEIVER_HWM_TYPE_ID : u32 = 3 ; pub const AERON_COUNTER_RECEIVER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"rcv-pos\0" ; pub const AERON_COUNTER_RECEIVER_POSITION_TYPE_ID : u32 = 5 ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"snd-channel\0" ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_TYPE_ID : u32 = 6 ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"rcv-channel\0" ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_TYPE_ID : u32 = 7 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_INITIALIZING : u32 = 0 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_ERRORED : i32 = -1 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_NO_ID_ALLOCATED : i32 = -1 ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_NAME : & 'static [ u8 ; 17usize ] = b"client-heartbeat\0" ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_TYPE_ID : u32 = 11 ; pub const AERON_COUNTER_PUBLISHER_POSITION_NAME : & 'static [ u8 ; 18usize ] = b"pub-pos (sampled)\0" ; pub const AERON_COUNTER_PUBLISHER_POSITION_TYPE_ID : u32 = 12 ; pub const AERON_COUNTER_SENDER_BPE_NAME : & 'static [ u8 ; 8usize ] = b"snd-bpe\0" ; pub const AERON_COUNTER_SENDER_BPE_TYPE_ID : u32 = 13 ; pub const AERON_COUNTER_RCV_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"rcv-local-sockaddr\0" ; pub const AERON_COUNTER_SND_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"snd-local-sockaddr\0" ; pub const AERON_COUNTER_LOCAL_SOCKADDR_TYPE_ID : u32 = 14 ; pub const AERON_SYSTEM_COUNTER_TYPE_ID : u32 = 0 ; pub const AERON_NAME_RESOLVER_CSV_TABLE : & 'static [ u8 ; 10usize ] = b"csv_table\0" ; pub const AERON_NAME_RESOLVER_DRIVER : & 'static [ u8 ; 7usize ] = b"driver\0" ; pub const AERON_NAME_RESOLVER_CSV_TABLE_ARGS_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_NAME_RESOLVER_CSV_LOOKUP_TABLE_ARGS\0" ; pub const AERON_CNC_FILE : & 'static [ u8 ; 8usize ] = b"cnc.dat\0" ; pub const AERON_LOSS_REPORT_FILE : & 'static [ u8 ; 16usize ] = b"loss-report.dat\0" ; pub const AERON_COMMAND_QUEUE_CAPACITY : u32 = 256 ; pub const AERON_BROADCAST_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_COMMAND_ADD_PUBLICATION : u32 = 1 ; pub const AERON_COMMAND_REMOVE_PUBLICATION : u32 = 2 ; pub const AERON_COMMAND_ADD_EXCLUSIVE_PUBLICATION : u32 = 3 ; pub const AERON_COMMAND_ADD_SUBSCRIPTION : u32 = 4 ; pub const AERON_COMMAND_REMOVE_SUBSCRIPTION : u32 = 5 ; pub const AERON_COMMAND_CLIENT_KEEPALIVE : u32 = 6 ; pub const AERON_COMMAND_ADD_DESTINATION : u32 = 7 ; pub const AERON_COMMAND_REMOVE_DESTINATION : u32 = 8 ; pub const AERON_COMMAND_ADD_COUNTER : u32 = 9 ; pub const AERON_COMMAND_REMOVE_COUNTER : u32 = 10 ; pub const AERON_COMMAND_CLIENT_CLOSE : u32 = 11 ; pub const AERON_COMMAND_ADD_RCV_DESTINATION : u32 = 12 ; pub const AERON_COMMAND_REMOVE_RCV_DESTINATION : u32 = 13 ; pub const AERON_COMMAND_TERMINATE_DRIVER : u32 = 14 ; pub const AERON_RESPONSE_ON_ERROR : u32 = 3841 ; pub const AERON_RESPONSE_ON_AVAILABLE_IMAGE : u32 = 3842 ; pub const AERON_RESPONSE_ON_PUBLICATION_READY : u32 = 3843 ; pub const AERON_RESPONSE_ON_OPERATION_SUCCESS : u32 = 3844 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_IMAGE : u32 = 3845 ; pub const AERON_RESPONSE_ON_EXCLUSIVE_PUBLICATION_READY : u32 = 3846 ; pub const AERON_RESPONSE_ON_SUBSCRIPTION_READY : u32 = 3847 ; pub const AERON_RESPONSE_ON_COUNTER_READY : u32 = 3848 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_COUNTER : u32 = 3849 ; pub const AERON_RESPONSE_ON_CLIENT_TIMEOUT : u32 = 3850 ; pub const AERON_ERROR_CODE_UNKNOWN_CODE_VALUE : i32 = -1 ; pub const AERON_ERROR_CODE_GENERIC_ERROR : u32 = 0 ; pub const AERON_ERROR_CODE_INVALID_CHANNEL : u32 = 1 ; pub const AERON_ERROR_CODE_UNKNOWN_SUBSCRIPTION : u32 = 2 ; pub const AERON_ERROR_CODE_UNKNOWN_PUBLICATION : u32 = 3 ; pub const AERON_ERROR_CODE_CHANNEL_ENDPOINT_ERROR : u32 = 4 ; pub const AERON_ERROR_CODE_UNKNOWN_COUNTER : u32 = 5 ; pub const AERON_ERROR_CODE_UNKNOWN_COMMAND_TYPE_ID : u32 = 6 ; pub const AERON_ERROR_CODE_MALFORMED_COMMAND : u32 = 7 ; pub const AERON_ERROR_CODE_NOT_SUPPORTED : u32 = 8 ; pub const AERON_ERROR_CODE_UNKNOWN_HOST : u32 = 9 ; pub const AERON_ERROR_CODE_RESOURCE_TEMPORARILY_UNAVAILABLE : u32 = 10 ; pub const AERON_MAP_DEFAULT_LOAD_FACTOR : f64 = 0.55 ; pub const AERON_NETUTIL_FORMATTED_MAX_LENGTH : u32 = 54 ; pub const AERON_RETRANSMIT_HANDLER_MAX_RETRANSMITS : u32 = 16 ; pub const AERON_NETWORK_PUBLICATION_HEARTBEAT_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_SETUP_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_MAX_MESSAGES_PER_SEND : u32 = 2 ; pub const AERON_UDP_DESTINATION_TRACKER_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_SEND_CHANNEL_ENDPOINT_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_RECEIVE_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_LOSS_DETECTOR_TIMER_INACTIVE : i32 = -1 ; pub const AERON_LOSS_DETECTOR_NAK_UNICAST_DELAY_NS : u32 = 60000000 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_GROUP_SIZE : f64 = 10.0 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_MAX_BACKOFF_NS : f64 = 60000000.0 ; pub const AERON_LOSS_REPORTER_ENTRY_ALIGNMENT : u32 = 64 ; pub const AERON_DRIVER_CONDUCTOR_LINGER_RESOURCE_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_DRIVER_CONDUCTOR_CLOCK_UPDATE_DURATION_NS : u32 = 1000000 ; pub const AERON_UDP_TRANSPORT_POLLER_ITERATION_THRESHOLD : u32 = 5 ; pub const AERON_DRIVER_SENDER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_MAX_UDP_PACKET_LENGTH : u32 = 65536 ; pub const AERON_DRIVER_RECEIVER_PENDING_SETUP_TIMEOUT_NS : u32 = 1000000000 ; pub const AERON_AGENT_RUNNER_CONDUCTOR : u32 = 0 ; pub const AERON_AGENT_RUNNER_SENDER : u32 = 1 ; pub const AERON_AGENT_RUNNER_RECEIVER : u32 = 2 ; pub const AERON_AGENT_RUNNER_SHARED_NETWORK : u32 = 1 ; pub const AERON_AGENT_RUNNER_SHARED : u32 = 0 ; pub const AERON_AGENT_RUNNER_MAX : u32 = 3 ; pub type size_t = :: 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 __socklen_t = :: std :: os :: raw :: c_uint ; extern "C" { pub fn aeron_alloc_no_err ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc_aligned ( ptr : * mut * mut :: std :: os :: raw :: c_void , offset : * mut size_t , size : size_t , alignment : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_reallocf ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_free ( ptr : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_context_stct { _unused : [ u8 ; 0 ] , } pub type aeron_context_t = aeron_context_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stct { _unused : [ u8 ; 0 ] , } pub type aeron_t = aeron_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] pub type aeron_buffer_claim_t = aeron_buffer_claim_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_publication_t = aeron_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_exclusive_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_exclusive_publication_t = aeron_exclusive_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_header_stct { _unused : [ u8 ; 0 ] , } pub type aeron_header_t = aeron_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_stct { _unused : [ u8 ; 0 ] , } pub type aeron_subscription_t = aeron_subscription_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_t = aeron_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_stct { _unused : [ u8 ; 0 ] , } pub type aeron_counter_t = aeron_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_log_buffer_stct { _unused : [ u8 ; 0 ] , } pub type aeron_log_buffer_t = aeron_log_buffer_stct ; pub type aeron_counters_reader_t = aeron_counters_reader_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_registering_resource_stct { _unused : [ u8 ; 0 ] , } pub type aeron_async_add_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_exclusive_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_subscription_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_counter_t = aeron_client_registering_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_fragment_assembler_t = aeron_image_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_controlled_fragment_assembler_t = aeron_image_controlled_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_fragment_assembler_t = aeron_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_controlled_fragment_assembler_t = aeron_controlled_fragment_assembler_stct ; extern "C" { pub fn aeron_context_set_dir ( context : * mut aeron_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_dir ( context : * mut aeron_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_context_set_driver_timeout_ms ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_driver_timeout_ms ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_keepalive_interval_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_keepalive_interval_ns ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_resource_linger_duration_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_resource_linger_duration_ns ( context : * mut aeron_context_t ) -> u64 ; } # [ doc = " The error handler to be called when an error occurs." ] pub type aeron_error_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , errcode : :: std :: os :: raw :: c_int , message : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_error_handler ( context : * mut aeron_context_t , handler : aeron_error_handler_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_error_handler ( context : * mut aeron_context_t ) -> aeron_error_handler_t ; } extern "C" { pub fn aeron_context_get_error_handler_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_publication_t" ] # [ doc = " or aeron_exclusive_publication_t successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original add publication call" ] # [ doc = " @param channel of the publication" ] # [ doc = " @param stream_id within the channel of the publication" ] # [ doc = " @param session_id of the publication" ] # [ doc = " @param correlation_id used by the publication" ] pub type aeron_on_new_publication_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_publication_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_context_set_on_new_exclusive_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_subscription_t" ] # [ doc = " successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original aeron_add_async_subscription call" ] # [ doc = " @param channel of the subscirption" ] # [ doc = " @param stream_id within the channel of the subscription" ] # [ doc = " @param session_id of the subscription" ] # [ doc = " @param correlation_id used by the subscription" ] pub type aeron_on_new_subscription_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_subscription_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_subscription ( context : * mut aeron_context_t , handler : aeron_on_new_subscription_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_subscription ( context : * mut aeron_context_t ) -> aeron_on_new_subscription_t ; } extern "C" { pub fn aeron_context_get_on_new_subscription_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notifications that an aeron_image_t was added." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become available." ] pub type aeron_on_available_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; # [ doc = " Function called by aeron_client_t to deliver notifications than an aeron_image_t has been removed from use and" ] # [ doc = " should not be used any longer." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become unavailble." ] pub type aeron_on_unavailable_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; pub type aeron_on_available_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_unavailable_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_close_client_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Whether to use an invoker to control the conductor agent or spawn a thread." ] pub fn aeron_context_set_use_conductor_agent_invoker ( context : * mut aeron_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_use_conductor_agent_invoker ( context : * mut aeron_context_t ) -> bool ; } pub type aeron_agent_on_start_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , role_name : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_agent_on_start_function ( context : * mut aeron_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_agent_on_start_function ( context : * mut aeron_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_context_get_agent_on_start_state ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = " Create a aeron_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_init ( context : * mut * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_close ( context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_t client struct and initialize from the aeron_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_context_t struct will be used exclusively by the client. Do not reuse between clients." ] # [ doc = "" ] # [ doc = " @param aeron client to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_init ( client : * mut * mut aeron_t , context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_t. This may spawn a thread for the Client Conductor." ] # [ doc = "" ] # [ doc = " @param client to start." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_start ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Client must have been created with use conductor invoker set to true." ] # [ doc = "" ] # [ doc = " @param client to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_main_do_work ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor Idle Strategy." ] # [ doc = "" ] # [ doc = " @param client to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_main_idle_strategy ( client : * mut aeron_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_t struct." ] # [ doc = "" ] # [ doc = " @param client to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_close ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call stream_out to print the counter labels and values." ] # [ doc = "" ] # [ doc = " @param client to get the counters from" ] # [ doc = " @param stream_out to call for each label and value" ] pub fn aeron_print_counters ( client : * mut aeron_t , stream_out : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ) ; } extern "C" { # [ doc = " Return the aeron_context_t that is in use by the given client." ] # [ doc = "" ] # [ doc = " @param client to return the aeron_context_t for." ] # [ doc = " @return the aeron_context_t for the given client or NULL for an error." ] pub fn aeron_context ( client : * mut aeron_t ) -> * mut aeron_context_t ; } extern "C" { # [ doc = " Return the client id in use by the client." ] # [ doc = "" ] # [ doc = " @param client to return the client id for." ] # [ doc = " @return id value or -1 for an error." ] pub fn aeron_client_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Return a unique correlation id from the driver." ] # [ doc = "" ] # [ doc = " @param client to use to get the id." ] # [ doc = " @return unique correlation id or -1 for an error." ] pub fn aeron_next_correlation_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Asynchronously add a publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_publication ( async_ : * mut * mut aeron_async_add_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_publication_poll ( publication : * mut * mut aeron_publication_t , async_ : * mut aeron_async_add_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add an exclusive publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_exclusive_publication ( async_ : * mut * mut aeron_async_add_exclusive_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_exclusive_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_exclusive_publication_poll ( publication : * mut * mut aeron_exclusive_publication_t , async_ : * mut aeron_async_add_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add a subscription using the given client and return an object to use to determine when the" ] # [ doc = " subscription is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the subscription to." ] # [ doc = " @param uri for the channel of the subscription." ] # [ doc = " @param stream_id for the subscription." ] # [ doc = " @param on_available_image_handler to be called when images become available on the subscription." ] # [ doc = " @param on_available_image_clientd to be passed when images become available on the subscription." ] # [ doc = " @param on_unavailable_image_handler to be called when images go unavailable on the subscription." ] # [ doc = " @param on_available_image_clientd to be pacced when images go unavailable on the subscription." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_subscription ( async_ : * mut * mut aeron_async_add_subscription_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 , on_available_image_handler : aeron_on_available_image_t , on_available_image_clientd : * mut :: std :: os :: raw :: c_void , on_unavailable_image_handler : aeron_on_unavailable_image_t , on_unavailable_image_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_subscription call." ] # [ doc = "" ] # [ doc = " @param subscription to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_subscription_poll ( subscription : * mut * mut aeron_subscription_t , async_ : * mut aeron_async_add_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return a reference to the counters reader of the given client." ] # [ doc = "" ] # [ doc = " The aeron_counters_reader_t is maintained by the client. And should not be freed." ] # [ doc = "" ] # [ doc = " @param client that contains the counters reader." ] # [ doc = " @return aeron_counters_reader_t or NULL for error." ] pub fn aeron_counters_reader ( client : * mut aeron_t ) -> * mut aeron_counters_reader_t ; } extern "C" { # [ doc = " Asynchronously add a counter using the given client and return an object to use to determine when the" ] # [ doc = " counter is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the counter to." ] # [ doc = " @param type_id for the counter." ] # [ doc = " @param key_buffer for the counter." ] # [ doc = " @param key_buffer_length for the counter." ] # [ doc = " @param label_buffer for the counter." ] # [ doc = " @param label_buffer_length for the counter." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_counter ( async_ : * mut * mut aeron_async_add_counter_t , client : * mut aeron_t , type_id : i32 , key_buffer : * const u8 , key_buffer_length : size_t , label_buffer : * const :: std :: os :: raw :: c_char , label_buffer_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_counter call." ] # [ doc = "" ] # [ doc = " @param counter to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_counter_poll ( counter : * mut * mut aeron_counter_t , async_ : * mut aeron_async_add_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Function called by aeron_counters_reader_foreach_counter for each counter in the aeron_counters_reader_t." ] # [ doc = "" ] # [ doc = " @param value of the counter." ] # [ doc = " @param id of the counter." ] # [ doc = " @param label for the counter." ] # [ doc = " @param label_length for the counter." ] # [ doc = " @param clientd to be returned in the call" ] pub type aeron_counters_reader_foreach_counter_func_t = :: std :: option :: Option < unsafe extern "C" fn ( value : i64 , id : i32 , label : * const :: std :: os :: raw :: c_char , label_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Iterate over the coounters in the counters_reader and call the given function for each counter." ] # [ doc = "" ] # [ doc = " @param counters_reader to iterate over." ] # [ doc = " @param func to call for each counter." ] # [ doc = " @param clientd to pass for each call to func." ] pub fn aeron_counters_reader_foreach_counter ( counters_reader : * mut aeron_counters_reader_t , func : aeron_counters_reader_foreach_counter_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } # [ doc = " Function called when filling in the reserved value field of a message." ] # [ doc = "" ] # [ doc = " @param clientd passed to the offer function." ] # [ doc = " @param buffer of the entire frame, including Aeron data header." ] # [ doc = " @param frame_length of the enture frame." ] pub type aeron_reserved_value_supplier_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , frame_length : size_t ) -> i64 > ; # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_iovec_stct { pub iov_base : * mut u8 , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_aeron_iovec_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_iovec_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_iovec_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_len ) ) ) ; } # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] pub type aeron_iovec_t = aeron_iovec_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_buffer_claim_stct { pub frame_header : * mut u8 , pub data : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_buffer_claim_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_buffer_claim_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_buffer_claim_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( length ) ) ) ; } extern "C" { # [ doc = " Commit the given buffer_claim as a complete message available for consumption." ] # [ doc = "" ] # [ doc = " @param buffer_claim to commit." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_commit ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Abort the given buffer_claim and assign its position as padding." ] # [ doc = "" ] # [ doc = " @param buffer_claim to abort." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_abort ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offer ( publication : * mut aeron_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offerv ( publication : * mut aeron_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_publication_try_claim ( publication : * mut aeron_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { pub fn aeron_publication_channel_status ( publication : * mut aeron_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_add_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_remove_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_close ( publication : * mut aeron_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offerv ( publication : * mut aeron_exclusive_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_try_claim ( publication : * mut aeron_exclusive_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { # [ doc = " Append a padding record log of a given length to make up the log to a position." ] # [ doc = "" ] # [ doc = " @param length of the range to claim, in bytes." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_append_padding ( publication : * mut aeron_exclusive_publication_t , length : size_t ) -> i64 ; } extern "C" { # [ doc = " Offer a block of pre-formatted message fragments directly into the current term." ] # [ doc = "" ] # [ doc = " @param buffer containing the pre-formatted block of message fragments." ] # [ doc = " @param offset offset in the buffer at which the first fragment begins." ] # [ doc = " @param length in bytes of the encoded block." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer_block ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_channel_status ( publication : * mut aeron_exclusive_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_add_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_remove_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_close ( publication : * mut aeron_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " The frame will either contain a whole message or a fragment of a message to be reassembled. Messages are fragmented" ] # [ doc = " if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub type aeron_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) > ; # [ doc = " Abort the current polling operation and do not advance the position for this fragment." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_ABORT : aeron_controlled_fragment_handler_action_en = 0 ; # [ doc = " Break from the current polling operation and commit the position as of the end of the current fragment" ] # [ doc = " being handled." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_BREAK : aeron_controlled_fragment_handler_action_en = 1 ; # [ doc = " Continue processing but commit the position as of the end of the current fragment so that" ] # [ doc = " flow control is applied to this point." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_COMMIT : aeron_controlled_fragment_handler_action_en = 2 ; # [ doc = " Continue processing until fragment limit or no fragments with position commit at end of poll as in" ] # [ doc = " aeron_fragment_handler_t." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_CONTINUE : aeron_controlled_fragment_handler_action_en = 3 ; pub type aeron_controlled_fragment_handler_action_en = u32 ; pub use self :: aeron_controlled_fragment_handler_action_en as aeron_controlled_fragment_handler_action_t ; # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " Handler for reading data that is coming from a log buffer. The frame will either contain a whole message" ] # [ doc = " or a fragment of a message to be reassembled. Messages are fragmented if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the controlled poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub type aeron_controlled_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t > ; # [ doc = " Callback for handling a block of messages being read from a log." ] # [ doc = "" ] # [ doc = " @param clientd passed to the block poll function." ] # [ doc = " @param buffer containing the block of message fragments." ] # [ doc = " @param offset at which the block begins, including any frame headers." ] # [ doc = " @param length of the block in bytes, including any frame headers that is aligned." ] # [ doc = " @param session_id of the stream containing this block of message fragments." ] # [ doc = " @param term_id of the stream containing this block of message fragments." ] pub type aeron_block_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , session_id : i32 , term_id : i32 ) > ; extern "C" { # [ doc = " Poll the images under the subscription for available message fragments." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_fragment_asssembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_poll ( subscription : * mut aeron_subscription_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll in a controlled manner the images under the subscription for available message fragments." ] # [ doc = " Control is applied to fragments in the stream. If more fragments can be read on another stream" ] # [ doc = " they will even if BREAK or ABORT is returned from the fragment handler." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_controlled_fragment_assembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_controlled_poll ( subscription : * mut aeron_subscription_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the images under the subscription for available message fragments in blocks." ] # [ doc = "

" ] # [ doc = " This method is useful for operations like bulk archiving and messaging indexing." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler to receive a block of fragments from each image." ] # [ doc = " @param block_length_limit for each image polled." ] # [ doc = " @return the number of bytes consumed or -1 for error." ] pub fn aeron_subscription_block_poll ( subscription : * mut aeron_subscription_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ doc = " Is this subscription connected by having at least one open publication image." ] # [ doc = "" ] # [ doc = " @param subscription to check." ] # [ doc = " @return true if this subscription connected by having at least one open publication image." ] pub fn aeron_subscription_is_connected ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { # [ doc = " Count of images associated to this subscription." ] # [ doc = "" ] # [ doc = " @param subscription to count images for." ] # [ doc = " @return count of count associated to this subscription or -1 for error." ] pub fn aeron_subscription_image_count ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the image associated with the given session_id under the given subscription." ] # [ doc = "" ] # [ doc = " Note: the returned image is considered retained by the application and thus must be released via" ] # [ doc = " aeron_image_release when finished or if the image becomes unavailable." ] # [ doc = "" ] # [ doc = " @param subscription to search." ] # [ doc = " @param session_id associated with the image." ] # [ doc = " @return image associated with the given session_id or NULL if no image exists." ] pub fn aeron_subscription_image_by_session_id ( subscription : * mut aeron_subscription_t , session_id : i32 ) -> * mut aeron_image_t ; } extern "C" { # [ doc = " Iterate over the images for this subscription calling the given function." ] # [ doc = "" ] # [ doc = " @param subscription to iterate over." ] # [ doc = " @param handler to be called for each image." ] pub fn aeron_subscription_for_each_image ( subscription : * mut aeron_subscription_t , handler : :: std :: option :: Option < unsafe extern "C" fn ( image : * mut aeron_image_t ) > ) ; } extern "C" { pub fn aeron_subscription_is_closed ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { pub fn aeron_subscription_channel_status ( subscription : * mut aeron_subscription_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_add_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination from a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_remove_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the subscription." ] # [ doc = "" ] # [ doc = " @param subscription to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_subscription_close ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Retain the given image for access in the application." ] # [ doc = "" ] # [ doc = " Note: A retain call must have a corresponding release call." ] # [ doc = "" ] # [ doc = " @param image to retain" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_retain ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Release the given image and relinquish desire to use the image directly." ] # [ doc = "" ] # [ doc = " Note: Images are not threadsafe and should not be shared between subscribers." ] # [ doc = "" ] # [ doc = " @param image to release" ] # [ doc = " @return 0 for succes and -1 for error." ] pub fn aeron_image_release ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The position this image has been consumed to by the subscriber." ] # [ doc = "" ] # [ doc = " @param image to query position of." ] # [ doc = " @return the position this image has been consumed to by the subscriber." ] pub fn aeron_image_position ( image : * mut aeron_image_t ) -> i64 ; } extern "C" { # [ doc = " Set the subscriber position for this image to indicate where it has been consumed to." ] # [ doc = "" ] # [ doc = " @param image to set the position of." ] # [ doc = " @param new_position for the consumption point." ] pub fn aeron_image_set_position ( image : * mut aeron_image_t , position : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Peek for new messages in a stream by scanning forward from an initial position. If new messages are found then" ] # [ doc = " they will be delivered to the handler up to a limited position." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments. Scans must also" ] # [ doc = " start at the beginning of a message so that the assembler is reset." ] # [ doc = "" ] # [ doc = " @param image to peek." ] # [ doc = " @param initial_position from which to peek forward." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position up to which can be scanned." ] # [ doc = " @return the resulting position after the scan terminates which is a complete message or -1 for error." ] pub fn aeron_image_controlled_peek ( image : * mut aeron_image_t , initial_position : i64 , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 ) -> i64 ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of bytes." ] # [ doc = "

" ] # [ doc = " A scan will terminate if a padding frame is encountered. If first frame in a scan is padding then a block" ] # [ doc = " for the padding is notified. If the padding comes after the first frame in a scan then the scan terminates" ] # [ doc = " at the offset the padding frame begins. Padding frames are delivered singularly in a block." ] # [ doc = "

" ] # [ doc = " Padding frames may be for a greater range than the limit offset but only the header needs to be valid so" ] # [ doc = " relevant length of the frame is data header length." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which block is delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param block_length_limit up to which a block may be in length." ] # [ doc = " @return the number of bytes that have been consumed or -1 for error." ] pub fn aeron_image_block_poll ( image : * mut aeron_image_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_image_is_closed ( image : * mut aeron_image_t ) -> bool ; } extern "C" { # [ doc = " Create an image fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_fragment_assembler_create ( assembler : * mut * mut aeron_image_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_fragment_assembler_delete ( assembler : * mut aeron_image_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create an image controlled fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_image_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_delete ( assembler : * mut aeron_image_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Create a fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_fragment_assembler_create ( assembler : * mut * mut aeron_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_fragment_assembler_delete ( assembler : * mut aeron_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create a controlled fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_controlled_fragment_assembler_delete ( assembler : * mut aeron_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Return a pointer to the counter value." ] # [ doc = "" ] # [ doc = " @param counter to pointer to." ] # [ doc = " @return pointer to the counter value." ] pub fn aeron_counter_addr ( counter : * mut aeron_counter_t ) -> * mut i64 ; } extern "C" { # [ doc = " Asynchronously close the counter." ] # [ doc = "" ] # [ doc = " @param counter to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_counter_close ( counter : * mut aeron_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return full version and build string." ] # [ doc = "" ] # [ doc = " @return full version and build string." ] pub fn aeron_version_full ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = " Return major version number." ] # [ doc = "" ] # [ doc = " @return major version number." ] pub fn aeron_version_major ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return minor version number." ] # [ doc = "" ] # [ doc = " @return minor version number." ] pub fn aeron_version_minor ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return patch version number." ] # [ doc = "" ] # [ doc = " @return patch version number." ] pub fn aeron_version_patch ( ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Clock function used by aeron." ] pub type aeron_clock_func_t = :: std :: option :: Option < unsafe extern "C" fn ( ) -> i64 > ; extern "C" { # [ doc = " Return time in nanoseconds for machine. Is not wall clock time." ] # [ doc = "" ] # [ doc = " @return nanoseconds since epoch for machine." ] pub fn aeron_nano_clock ( ) -> i64 ; } extern "C" { # [ doc = " Return time in milliseconds since epoch. Is wall clock time." ] # [ doc = "" ] # [ doc = " @return milliseconds since epoch." ] pub fn aeron_epoch_clock ( ) -> i64 ; } # [ doc = " Function to return logging information." ] pub type aeron_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ; extern "C" { # [ doc = " Determine if an aeron driver is using a given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname for aeron directory" ] # [ doc = " @param timeout_ms to use to determine activity for aeron directory" ] # [ doc = " @param log_func to call during activity check to log diagnostic information." ] # [ doc = " @return true for active driver or false for no active driver." ] pub fn aeron_is_driver_active ( dirname : * const :: std :: os :: raw :: c_char , timeout_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } extern "C" { # [ doc = " Load properties from a string containing name=value pairs and set appropriate environment variables for the" ] # [ doc = " process so that subsequent calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param buffer containing properties and values." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_buffer_load ( buffer : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties file and set appropriate environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param filename to load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_file_load ( filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties from HTTP URL and set environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param url to attempt to retrieve and load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_http_load ( url : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties based on URL or filename. If string contains file or http URL, it will attempt" ] # [ doc = " to load properties from a file or http as indicated. If not a URL, then it will try to load the string" ] # [ doc = " as a filename." ] # [ doc = "" ] # [ doc = " @param url_or_filename to load properties from." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_load ( url_or_filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return current aeron error code (errno) for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error code for calling thread." ] pub fn aeron_errcode ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the current aeron error message for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error message for calling thread." ] pub fn aeron_errmsg ( ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_clock_cache_stct { _unused : [ u8 ; 0 ] , } # [ doc = " Opaque reference to a cached clock instance." ] pub type aeron_clock_cache_t = aeron_clock_cache_stct ; extern "C" { # [ doc = " Update the cached clock with the current epoch and nano time values." ] # [ doc = "" ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @param epoch_time current ms since epoch." ] # [ doc = " @param nano_time current ns time." ] pub fn aeron_clock_update_cached_time ( cached_time : * mut aeron_clock_cache_t , epoch_time : i64 , nano_time : i64 ) ; } extern "C" { # [ doc = " Retrieves the cached epoch time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the epoch time." ] pub fn aeron_clock_cached_epoch_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Retrieves the cached nano time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the nano time." ] pub fn aeron_clock_cached_nano_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Allocate a cached clock" ] # [ doc = " @param cached_time Pointer to the pointer to be initialised with the new cached clock" ] # [ doc = " @return -1 if allocation fails, e.g. out of memory." ] pub fn aeron_clock_cache_alloc ( cached_time : * mut * mut aeron_clock_cache_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Free a cached clock." ] # [ doc = " @param cached_time" ] pub fn aeron_clock_cache_free ( cached_time : * mut aeron_clock_cache_t ) ; } extern "C" { pub fn aeron_randomised_int32 ( ) -> i32 ; } extern "C" { pub fn aeron_thread_set_name ( role_name : * const :: std :: os :: raw :: c_char ) ; } pub type aeron_mutex_t = pthread_mutex_t ; pub type aeron_thread_t = pthread_t ; extern "C" { pub fn aeron_nano_sleep ( nanoseconds : u64 ) ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_log_entry_stct { pub length : i32 , pub observation_count : i32 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , } # [ test ] fn bindgen_test_layout_aeron_error_log_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_log_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_log_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; } pub type aeron_error_log_entry_t = aeron_error_log_entry_stct ; pub type aeron_resource_linger_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , resource : * mut u8 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_observation_stct { pub description : * const :: std :: os :: raw :: c_char , pub error_code : :: std :: os :: raw :: c_int , pub offset : size_t , pub description_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_observation_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_observation_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_observation_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description_length ) ) ) ; } pub type aeron_distinct_observation_t = aeron_distinct_observation_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_observation_list_stct { pub num_observations : u64 , pub observations : * mut aeron_distinct_observation_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_observation_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . num_observations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( num_observations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . observations as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( observations ) ) ) ; } pub type aeron_distinct_error_log_observation_list_t = aeron_distinct_error_log_observation_list_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_stct { pub buffer : * mut u8 , pub observation_list : * mut aeron_distinct_error_log_observation_list_t , pub buffer_capacity : size_t , pub next_offset : size_t , pub clock : aeron_clock_func_t , pub linger_resource : aeron_resource_linger_func_t , pub linger_resource_clientd : * mut :: std :: os :: raw :: c_void , pub mutex : aeron_mutex_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_stct > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . observation_list as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( observation_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer_capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer_capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . next_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( next_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource_clientd as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . mutex as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( mutex ) ) ) ; } pub type aeron_distinct_error_log_t = aeron_distinct_error_log_stct ; extern "C" { pub fn aeron_distinct_error_log_init ( log : * mut aeron_distinct_error_log_t , buffer : * mut u8 , buffer_size : size_t , clock : aeron_clock_func_t , linger : aeron_resource_linger_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_distinct_error_log_close ( log : * mut aeron_distinct_error_log_t ) ; } extern "C" { pub fn aeron_distinct_error_log_record ( log : * mut aeron_distinct_error_log_t , error_code : :: std :: os :: raw :: c_int , description : * const :: std :: os :: raw :: c_char , message : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub type aeron_error_log_reader_func_t = :: std :: option :: Option < unsafe extern "C" fn ( observation_count : i32 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , error : * const :: std :: os :: raw :: c_char , error_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_error_log_exists ( buffer : * const u8 , buffer_size : size_t ) -> bool ; } extern "C" { pub fn aeron_error_log_read ( buffer : * const u8 , buffer_size : size_t , reader : aeron_error_log_reader_func_t , clientd : * mut :: std :: os :: raw :: c_void , since_timestamp : i64 ) -> size_t ; } extern "C" { pub fn aeron_distinct_error_log_num_observations ( log : * mut aeron_distinct_error_log_t ) -> size_t ; } pub type aeron_idle_strategy_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) > ; pub type aeron_idle_strategy_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , init_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_managed_resource_stct { pub registration_id : i64 , pub time_of_last_state_change : i64 , pub clientd : * mut :: std :: os :: raw :: c_void , pub decref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub incref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_managed_resource_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_managed_resource_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_managed_resource_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . time_of_last_state_change as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( time_of_last_state_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . decref as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( decref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . incref as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( incref ) ) ) ; } pub type aeron_driver_managed_resource_t = aeron_driver_managed_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_position_stct { pub counter_id : i32 , pub value_addr : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_position_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; } pub type aeron_position_t = aeron_position_stct ; pub type aeron_atomic_counter_t = aeron_position_stct ; pub mod aeron_subscription_tether_state_enum { pub type Type = u32 ; pub const AERON_SUBSCRIPTION_TETHER_ACTIVE : Type = 0 ; pub const AERON_SUBSCRIPTION_TETHER_LINGER : Type = 1 ; pub const AERON_SUBSCRIPTION_TETHER_RESTING : Type = 2 ; } pub use self :: aeron_subscription_tether_state_enum :: Type as aeron_subscription_tether_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_tetherable_position_stct { pub is_tether : bool , pub state : aeron_subscription_tether_state_t , pub counter_id : i32 , pub value_addr : * mut i64 , pub subscription_registration_id : i64 , pub time_of_last_update_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_tetherable_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_tetherable_position_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_tetherable_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . is_tether as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . time_of_last_update_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( time_of_last_update_ns ) ) ) ; } pub type aeron_tetherable_position_t = aeron_tetherable_position_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_tetherable_position_t , pub add_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub remove_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_subscribable_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . add_position_hook_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( add_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . remove_position_hook_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( remove_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . clientd as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( clientd ) ) ) ; } pub type aeron_subscribable_t = aeron_subscribable_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_base_stct { pub func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) > , pub item : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_base_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_base_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_base_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . item as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( item ) ) ) ; } pub type aeron_command_base_t = aeron_command_base_stct ; pub type aeron_feedback_delay_generator_state_t = aeron_feedback_delay_generator_state_stct ; pub type aeron_feedback_delay_generator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct { pub static_delay : aeron_feedback_delay_generator_state_stct_static_delay_stct , pub optimal_delay : aeron_feedback_delay_generator_state_stct_optimal_delay_stct , pub should_immediate_feedback : bool , pub delay_generator : aeron_feedback_delay_generator_func_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_static_delay_stct { pub delay_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_static_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) ) ) . delay_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) , "::" , stringify ! ( delay_ns ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_optimal_delay_stct { pub rand_max : f64 , pub base_x : f64 , pub constant_t : f64 , pub factor_t : f64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_optimal_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . rand_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( rand_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . base_x as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( base_x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . constant_t as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( constant_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . factor_t as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( factor_t ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . static_delay as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( static_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . optimal_delay as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( optimal_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . should_immediate_feedback as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( should_immediate_feedback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . delay_generator as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( delay_generator ) ) ) ; } extern "C" { pub fn aeron_driver_subscribable_remove_position ( subscribable : * mut aeron_subscribable_t , counter_id : i32 ) ; } extern "C" { pub fn aeron_command_on_delete_cmd ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } pub type aeron_driver_context_t = aeron_driver_context_stct ; pub type aeron_driver_t = aeron_driver_stct ; extern "C" { pub fn aeron_driver_context_set_dir ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_dir_warn_if_exists ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_warn_if_exists ( context : * mut aeron_driver_context_t ) -> bool ; } pub mod aeron_threading_mode_enum { pub type Type = u32 ; pub const AERON_THREADING_MODE_DEDICATED : Type = 0 ; pub const AERON_THREADING_MODE_SHARED_NETWORK : Type = 1 ; pub const AERON_THREADING_MODE_SHARED : Type = 2 ; pub const AERON_THREADING_MODE_INVOKER : Type = 3 ; } pub use self :: aeron_threading_mode_enum :: Type as aeron_threading_mode_t ; extern "C" { pub fn aeron_driver_context_set_threading_mode ( context : * mut aeron_driver_context_t , mode : aeron_threading_mode_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_threading_mode ( context : * mut aeron_driver_context_t ) -> aeron_threading_mode_t ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_start ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_start ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_to_conductor_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_conductor_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_to_clients_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_clients_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_counters_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_error_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_error_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_sparse_file ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_sparse_file ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_perform_storage_checks ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_perform_storage_checks ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_spies_simulate_connection ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_spies_simulate_connection ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_file_page_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_file_page_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_socket_so_rcvbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_rcvbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_so_sndbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_sndbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_multicast_ttl ( context : * mut aeron_driver_context_t , value : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_multicast_ttl ( context : * mut aeron_driver_context_t ) -> u8 ; } extern "C" { pub fn aeron_driver_context_set_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub type aeron_flow_control_strategy_t = aeron_flow_control_strategy_stct ; pub type aeron_udp_channel_t = aeron_udp_channel_stct ; pub type aeron_flow_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { # [ doc = " Return a flow control strategy supplier function pointer associated with the given name. This only will find" ] # [ doc = " strategies built into the driver and will not try to dynamically load nor find any in the current executable." ] # [ doc = "" ] # [ doc = " @param name of the strategy" ] # [ doc = " @return function pointer to supplier associated with the name" ] pub fn aeron_flow_control_strategy_supplier_by_name ( name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_rcv_initial_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_initial_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } pub type aeron_congestion_control_strategy_t = aeron_congestion_control_strategy_stct ; pub type aeron_counters_manager_t = aeron_counters_manager_stct ; pub type aeron_congestion_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_congestioncontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_congestion_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_congestioncontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_loss_report_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_loss_report_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_timer_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_timer_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_agent_on_start_function ( context : * mut aeron_driver_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_function ( context : * mut aeron_driver_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_tag ( context : * mut aeron_driver_context_t , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_tag ( context : * mut aeron_driver_context_t ) -> i64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_min_size ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_min_size ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_receiver_group_tag ( context : * mut aeron_driver_context_t , is_present : bool , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_is_present ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_value ( context : * mut aeron_driver_context_t ) -> i64 ; } pub type aeron_driver_termination_validator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : i32 ) -> bool > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_validator ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_validator_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_validator_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } pub type aeron_driver_termination_hook_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_hook ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_hook_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_hook_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_print_configuration ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_print_configuration ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_reliable_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_reliable_stream ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_tether_subscriptions ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_tether_subscriptions ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_driver_timeout_ms ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_timeout_ms ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_group_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_group_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub mod aeron_inferable_boolean_enum { pub type Type = u32 ; pub const AERON_FORCE_FALSE : Type = 0 ; pub const AERON_FORCE_TRUE : Type = 1 ; pub const AERON_INFER : Type = 2 ; } pub use self :: aeron_inferable_boolean_enum :: Type as aeron_inferable_boolean_t ; extern "C" { pub fn aeron_driver_context_set_receiver_group_consideration ( context : * mut aeron_driver_context_t , value : aeron_inferable_boolean_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_consideration ( context : * mut aeron_driver_context_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_set_rejoin_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rejoin_stream ( context : * mut aeron_driver_context_t ) -> bool ; } pub type aeron_udp_channel_transport_bindings_t = aeron_udp_channel_transport_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_transport_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_t = aeron_udp_channel_interceptor_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t ) -> i32 ; } pub type aeron_name_resolver_t = aeron_name_resolver_stct ; pub type aeron_name_resolver_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_resolver_name ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_name ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_interface ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_interface ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_supplier ( context : * mut aeron_driver_context_t , value : aeron_name_resolver_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_supplier ( context : * mut aeron_driver_context_t ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { # [ doc = " Create a aeron_driver_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_init ( context : * mut * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_close ( context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_driver_t struct and initialize from the aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_driver_context_t struct will be used exclusively by the driver. Do not reuse between drivers." ] # [ doc = "" ] # [ doc = " @param driver to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_init ( driver : * mut * mut aeron_driver_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_driver_t given the threading mode. This may spawn threads for the Sender, Receiver, and Conductor" ] # [ doc = " depending on threading mode used." ] # [ doc = "" ] # [ doc = " @param driver to start." ] # [ doc = " @param manual_main_loop to be called by the caller for the Conductor do_work cycle." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_start ( driver : * mut aeron_driver_t , manual_main_loop : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Driver must have been created with manual_main_loop set to true." ] # [ doc = "" ] # [ doc = " @param driver to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_main_do_work ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) Idle Strategy." ] # [ doc = "" ] # [ doc = " @param driver to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_driver_main_idle_strategy ( driver : * mut aeron_driver_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_driver_t struct." ] # [ doc = "" ] # [ doc = " @param driver to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_close ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete the given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname to delete." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_delete_directory ( dirname : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_param_stct { pub key : * const :: std :: os :: raw :: c_char , pub value : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_aeron_uri_param_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_param_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_param_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . key as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( value ) ) ) ; } pub type aeron_uri_param_t = aeron_uri_param_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_params_stct { pub length : size_t , pub array : * mut aeron_uri_param_t , } # [ test ] fn bindgen_test_layout_aeron_uri_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . array as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( array ) ) ) ; } pub type aeron_uri_params_t = aeron_uri_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_publication_params_stct { pub has_position : bool , pub is_sparse : bool , pub signal_eos : bool , pub mtu_length : size_t , pub term_length : size_t , pub term_offset : size_t , pub initial_term_id : i32 , pub term_id : i32 , pub linger_timeout_ns : u64 , pub has_session_id : bool , pub session_id : i32 , pub entity_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_uri_publication_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_publication_params_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_publication_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_position as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . signal_eos as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . mtu_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . session_id as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; } pub type aeron_uri_publication_params_t = aeron_uri_publication_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_subscription_params_stct { pub is_reliable : bool , pub is_sparse : bool , pub is_tether : bool , pub is_rejoin : bool , pub group : aeron_inferable_boolean_t , pub has_session_id : bool , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_uri_subscription_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_subscription_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_subscription_params_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_tether as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . group as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_uri_subscription_params_t = aeron_uri_subscription_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_params_stct { pub endpoint : * const :: std :: os :: raw :: c_char , pub bind_interface : * const :: std :: os :: raw :: c_char , pub control : * const :: std :: os :: raw :: c_char , pub control_mode : * const :: std :: os :: raw :: c_char , pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub ttl : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_params_stct > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . bind_interface as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( bind_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . ttl as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_udp_channel_params_t = aeron_udp_channel_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_channel_params_stct { pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_channel_params_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_ipc_channel_params_t = aeron_ipc_channel_params_stct ; pub mod aeron_uri_type_enum { pub type Type = u32 ; pub const AERON_URI_UDP : Type = 0 ; pub const AERON_URI_IPC : Type = 1 ; pub const AERON_URI_UNKNOWN : Type = 2 ; } pub use self :: aeron_uri_type_enum :: Type as aeron_uri_type_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_stct { pub mutable_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub type_ : aeron_uri_type_t , pub params : aeron_uri_stct__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union aeron_uri_stct__bindgen_ty_1 { pub udp : aeron_udp_channel_params_t , pub ipc : aeron_ipc_channel_params_t , _bindgen_union_align : [ u64 ; 9usize ] , } # [ test ] fn bindgen_test_layout_aeron_uri_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . ipc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( ipc ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_uri_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . mutable_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( mutable_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . type_ as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . params as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( params ) ) ) ; } pub type aeron_uri_t = aeron_uri_stct ; pub type aeron_uri_parse_callback_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_uri_parse_params ( uri : * mut :: std :: os :: raw :: c_char , param_func : aeron_uri_parse_callback_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_udp_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_ipc_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , params : * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_close ( params : * mut aeron_uri_t ) ; } extern "C" { pub fn aeron_uri_multicast_ttl ( uri : * mut aeron_uri_t ) -> u8 ; } extern "C" { pub fn aeron_uri_find_param_value ( uri_params : * const aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_uri_get_int64 ( uri_params : * mut aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char , retval : * mut i64 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_driver_conductor_t = aeron_driver_conductor_stct ; extern "C" { pub fn aeron_uri_publication_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_publication_params_t , context : * mut aeron_driver_conductor_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_subscription_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_subscription_params_t , conductor : * mut aeron_driver_conductor_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse_tag ( tag_str : * const :: std :: os :: raw :: c_char ) -> i64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type socklen_t = __socklen_t ; pub type sa_family_t = :: std :: os :: raw :: c_ushort ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr { pub sa_family : sa_family_t , pub sa_data : [ :: std :: os :: raw :: c_char ; 14usize ] , } # [ test ] fn bindgen_test_layout_sockaddr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_data as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr_storage { pub ss_family : sa_family_t , pub __ss_padding : [ :: std :: os :: raw :: c_char ; 118usize ] , pub __ss_align : :: std :: os :: raw :: c_ulong , } # [ test ] fn bindgen_test_layout_sockaddr_storage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr_storage > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr_storage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . ss_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( ss_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_padding as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_align as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct msghdr { pub msg_name : * mut :: std :: os :: raw :: c_void , pub msg_namelen : socklen_t , pub msg_iov : * mut iovec , pub msg_iovlen : size_t , pub msg_control : * mut :: std :: os :: raw :: c_void , pub msg_controllen : size_t , pub msg_flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_msghdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < msghdr > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < msghdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_namelen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_namelen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iovlen as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iovlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_control as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_controllen as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_controllen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_flags ) ) ) ; } pub type in_addr_t = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in_addr { pub s_addr : in_addr_t , } # [ test ] fn bindgen_test_layout_in_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in_addr > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in_addr > ( ) ) ) . s_addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in_addr ) , "::" , stringify ! ( s_addr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in6_addr { pub __in6_u : in6_addr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union in6_addr__bindgen_ty_1 { pub __u6_addr8 : [ u8 ; 16usize ] , pub __u6_addr16 : [ u16 ; 8usize ] , pub __u6_addr32 : [ u32 ; 4usize ] , _bindgen_union_align : [ u32 ; 4usize ] , } # [ test ] fn bindgen_test_layout_in6_addr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr8 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr16 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr32 ) ) ) ; } # [ test ] fn bindgen_test_layout_in6_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr > ( ) ) ) . __in6_u as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr ) , "::" , stringify ! ( __in6_u ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct addrinfo { pub ai_flags : :: std :: os :: raw :: c_int , pub ai_family : :: std :: os :: raw :: c_int , pub ai_socktype : :: std :: os :: raw :: c_int , pub ai_protocol : :: std :: os :: raw :: c_int , pub ai_addrlen : socklen_t , pub ai_addr : * mut sockaddr , pub ai_canonname : * mut :: std :: os :: raw :: c_char , pub ai_next : * mut addrinfo , } # [ test ] fn bindgen_test_layout_addrinfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < addrinfo > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < addrinfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_family as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_socktype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_socktype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_protocol as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_protocol ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addrlen as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addrlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_canonname as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_canonname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_next as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_next ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ifaddrs { pub ifa_next : * mut ifaddrs , pub ifa_name : * mut :: std :: os :: raw :: c_char , pub ifa_flags : :: std :: os :: raw :: c_uint , pub ifa_addr : * mut sockaddr , pub ifa_netmask : * mut sockaddr , pub ifa_ifu : ifaddrs__bindgen_ty_1 , pub ifa_data : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ifaddrs__bindgen_ty_1 { pub ifu_broadaddr : * mut sockaddr , pub ifu_dstaddr : * mut sockaddr , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ifaddrs__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_broadaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_broadaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_dstaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_dstaddr ) ) ) ; } # [ test ] fn bindgen_test_layout_ifaddrs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_netmask as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_netmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_ifu as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_ifu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_data ) ) ) ; } pub type aeron_socket_t = :: std :: os :: raw :: c_int ; extern "C" { pub fn aeron_socket ( domain : :: std :: os :: raw :: c_int , type_ : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> aeron_socket_t ; } extern "C" { pub fn aeron_close_socket ( socket : aeron_socket_t ) ; } extern "C" { pub fn aeron_net_init ( ) ; } extern "C" { pub fn aeron_getsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * mut :: std :: os :: raw :: c_void , optlen : * mut socklen_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_setsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * const :: std :: os :: raw :: c_void , optlen : socklen_t ) -> :: std :: os :: raw :: c_int ; } pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_SENDER : aeron_udp_channel_transport_affinity_en = 0 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_RECEIVER : aeron_udp_channel_transport_affinity_en = 1 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_CONDUCTOR : aeron_udp_channel_transport_affinity_en = 2 ; pub type aeron_udp_channel_transport_affinity_en = u32 ; pub use self :: aeron_udp_channel_transport_affinity_en as aeron_udp_channel_transport_affinity_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct mmsghdr { _unused : [ u8 ; 0 ] , } pub type aeron_udp_channel_transport_t = aeron_udp_channel_transport_stct ; pub type aeron_udp_transport_poller_t = aeron_udp_transport_poller_stct ; pub type aeron_udp_channel_data_paths_t = aeron_udp_channel_data_paths_stct ; pub type aeron_udp_channel_transport_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_recv_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_transport_recvmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_get_so_rcvbuf_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_bind_addr_and_port_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_add_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_remove_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_poll_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct { pub init_func : aeron_udp_channel_transport_init_func_t , pub close_func : aeron_udp_channel_transport_close_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub get_so_rcvbuf_func : aeron_udp_channel_transport_get_so_rcvbuf_func_t , pub bind_addr_and_port_func : aeron_udp_channel_transport_bind_addr_and_port_func_t , pub poller_init_func : aeron_udp_transport_poller_init_func_t , pub poller_close_func : aeron_udp_transport_poller_close_func_t , pub poller_add_func : aeron_udp_transport_poller_add_func_t , pub poller_remove_func : aeron_udp_transport_poller_remove_func_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub meta_info : aeron_udp_channel_transport_bindings_stct_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_binding : * const aeron_udp_channel_transport_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . next_binding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( next_binding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . close_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . get_so_rcvbuf_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( get_so_rcvbuf_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . bind_addr_and_port_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( bind_addr_and_port_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_init_func as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_close_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_add_func as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_add_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_remove_func as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_remove_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_bindings_load_media ( bindings_name : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_load_func_t = :: std :: option :: Option < unsafe extern "C" fn ( delegate_bindings : * mut aeron_udp_channel_interceptor_bindings_t ) -> * mut aeron_udp_channel_interceptor_bindings_t > ; extern "C" { pub fn aeron_udp_channel_interceptor_bindings_load ( existing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , interceptors : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } pub type aeron_udp_channel_outgoing_interceptor_t = aeron_udp_channel_outgoing_interceptor_stct ; pub type aeron_udp_channel_incoming_interceptor_t = aeron_udp_channel_incoming_interceptor_stct ; pub type aeron_udp_channel_interceptor_outgoing_mmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_outgoing_msg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_incoming_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_incoming_interceptor_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_interceptor_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut * mut :: std :: os :: raw :: c_void , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct { pub outgoing_init_func : aeron_udp_channel_interceptor_init_func_t , pub incoming_init_func : aeron_udp_channel_interceptor_init_func_t , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub outgoing_close_func : aeron_udp_channel_interceptor_close_func_t , pub incoming_close_func : aeron_udp_channel_interceptor_close_func_t , pub meta_info : aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_interceptor_bindings : * const aeron_udp_channel_interceptor_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . next_interceptor_bindings as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( next_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_init_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_close_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_close_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_outgoing_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_outgoing_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_outgoing_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_incoming_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_incoming_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_incoming_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . incoming_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_data_paths_stct { pub outgoing_interceptors : * mut aeron_udp_channel_outgoing_interceptor_t , pub incoming_interceptors : * mut aeron_udp_channel_incoming_interceptor_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub recv_func : aeron_udp_transport_recv_func_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_data_paths_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_data_paths_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_data_paths_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . outgoing_interceptors as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( outgoing_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . incoming_interceptors as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( incoming_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . recv_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( recv_func ) ) ) ; } extern "C" { pub fn aeron_udp_channel_data_paths_init ( data_paths : * mut aeron_udp_channel_data_paths_t , outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , media_bindings : * mut aeron_udp_channel_transport_bindings_t , recv_func : aeron_udp_transport_recv_func_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_data_paths_delete ( data_paths : * mut aeron_udp_channel_data_paths_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_frame_header_stct { pub frame_length : i32 , pub version : i8 , pub flags : u8 , pub type_ : i16 , } # [ test ] fn bindgen_test_layout_aeron_frame_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_frame_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_frame_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . frame_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( frame_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . version as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . flags as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . type_ as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( type_ ) ) ) ; } pub type aeron_frame_header_t = aeron_frame_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_setup_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_length : i32 , pub mtu : i32 , pub ttl : i32 , } # [ test ] fn bindgen_test_layout_aeron_setup_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_setup_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_setup_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . active_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . mtu as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( mtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . ttl as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( ttl ) ) ) ; } pub type aeron_setup_header_t = aeron_setup_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub reserved_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_data_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_header_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . reserved_value as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( reserved_value ) ) ) ; } pub type aeron_data_header_t = aeron_data_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_nak_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub term_offset : i32 , pub length : i32 , } # [ test ] fn bindgen_test_layout_aeron_nak_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_nak_header_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_nak_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_nak_header_t = aeron_nak_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub consumption_term_id : i32 , pub consumption_term_offset : i32 , pub receiver_window : i32 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_header_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_window as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_status_message_header_t = aeron_status_message_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_optional_header_stct { pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_optional_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_optional_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_optional_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_optional_header_stct > ( ) ) ) . group_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_optional_header_stct ) , "::" , stringify ! ( group_tag ) ) ) ; } pub type aeron_status_message_optional_header_t = aeron_status_message_optional_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rttm_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub echo_timestamp : i64 , pub reception_delta : i64 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_rttm_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rttm_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rttm_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . echo_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( echo_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . reception_delta as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( reception_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_rttm_header_t = aeron_rttm_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_stct { pub res_type : i8 , pub res_flags : u8 , pub udp_port : u16 , pub age_in_ms : i32 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . udp_port as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( udp_port ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . age_in_ms as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( age_in_ms ) ) ) ; } pub type aeron_resolution_header_t = aeron_resolution_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv4_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 4usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv4_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv4_stct > ( ) , 14usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv4_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . name_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv4_t = aeron_resolution_header_ipv4_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv6_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 16usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv6_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv6_stct > ( ) , 26usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv6_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . name_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv6_t = aeron_resolution_header_ipv6_stct ; extern "C" { pub fn aeron_udp_protocol_group_tag ( sm : * mut aeron_status_message_header_t , group_tag : * mut i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_res_header_entry_length_ipv4 ( header : * mut aeron_resolution_header_ipv4_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length_ipv6 ( header : * mut aeron_resolution_header_ipv6_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length ( res : * mut :: std :: os :: raw :: c_void , remaining : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_logbuffer_metadata_stct { pub term_tail_counters : [ i64 ; 3usize ] , pub active_term_count : i32 , pub pad1 : [ u8 ; 100usize ] , pub end_of_stream_position : i64 , pub is_connected : i32 , pub active_transport_count : i32 , pub pad2 : [ u8 ; 112usize ] , pub correlation_id : i64 , pub initial_term_id : i32 , pub default_frame_header_length : i32 , pub mtu_length : i32 , pub term_length : i32 , pub page_size : i32 , pub pad3 : [ u8 ; 36usize ] , } # [ test ] fn bindgen_test_layout_aeron_logbuffer_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_logbuffer_metadata_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_logbuffer_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_tail_counters as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_tail_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_term_count as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_term_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . end_of_stream_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( end_of_stream_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . is_connected as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_transport_count as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_transport_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad2 as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . correlation_id as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . default_frame_header_length as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( default_frame_header_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . mtu_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_length as * const _ as usize } , 276usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad3 as * const _ as usize } , 284usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad3 ) ) ) ; } pub type aeron_logbuffer_metadata_t = aeron_logbuffer_metadata_stct ; extern "C" { pub fn aeron_logbuffer_check_term_length ( term_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_logbuffer_check_page_size ( page_size : u64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_file_stct { pub addr : * mut :: std :: os :: raw :: c_void , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_file_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_file_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_file_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_file_t = aeron_mapped_file_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_buffer_stct { pub addr : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_buffer_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_buffer_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_buffer_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_buffer_t = aeron_mapped_buffer_stct ; extern "C" { pub fn aeron_is_directory ( path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_new_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char , fill_with_zeroes : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unmap ( mapped_file : * mut aeron_mapped_file_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_usable_fs_space_func_t = :: std :: option :: Option < unsafe extern "C" fn ( path : * const :: std :: os :: raw :: c_char ) -> u64 > ; extern "C" { pub fn aeron_file_length ( path : * const :: std :: os :: raw :: c_char ) -> i64 ; } extern "C" { pub fn aeron_usable_fs_space ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } extern "C" { pub fn aeron_usable_fs_space_disabled ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_raw_log_stct { pub term_buffers : [ aeron_mapped_buffer_t ; 3usize ] , pub log_meta_data : aeron_mapped_buffer_t , pub mapped_file : aeron_mapped_file_t , pub term_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_raw_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_raw_log_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_raw_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . mapped_file as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( mapped_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_length as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_length ) ) ) ; } pub type aeron_mapped_raw_log_t = aeron_mapped_raw_log_stct ; extern "C" { pub fn aeron_ipc_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_temp_filename ( filename : * mut :: std :: os :: raw :: c_char , length : size_t ) -> size_t ; } pub type aeron_map_raw_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , arg2 : * const :: std :: os :: raw :: c_char , arg3 : bool , arg4 : u64 , arg5 : u64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_map_raw_log_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_map_raw_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , use_sparse_files : bool , term_length : u64 , page_size : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , pre_touch : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_raw_log_close ( mapped_raw_log : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub const aeron_queue_offer_result_stct_AERON_OFFER_SUCCESS : aeron_queue_offer_result_stct = 0 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_ERROR : aeron_queue_offer_result_stct = -2 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_FULL : aeron_queue_offer_result_stct = -1 ; pub type aeron_queue_offer_result_stct = i32 ; pub use self :: aeron_queue_offer_result_stct as aeron_queue_offer_result_t ; pub type aeron_queue_drain_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub padding : [ i8 ; 48usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_spsc_concurrent_array_queue_t = aeron_spsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_spsc_concurrent_array_queue_init ( queue : * mut aeron_spsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_spsc_concurrent_array_queue_close ( queue : * mut aeron_spsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub shared_head_cache : u64 , pub padding : [ i8 ; 40usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . shared_head_cache as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( shared_head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_mpsc_concurrent_array_queue_t = aeron_mpsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_mpsc_concurrent_array_queue_init ( queue : * mut aeron_mpsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_concurrent_array_queue_close ( queue : * mut aeron_mpsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_descriptor_stct { pub begin_pad : [ u8 ; 128usize ] , pub tail_position : i64 , pub tail_pad : [ u8 ; 120usize ] , pub head_cache_position : i64 , pub head_cache_pad : [ u8 ; 120usize ] , pub head_position : i64 , pub head_pad : [ u8 ; 120usize ] , pub correlation_counter : i64 , pub correlation_counter_pad : [ u8 ; 120usize ] , pub consumer_heartbeat : i64 , pub consumer_heartbeat_pad : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_rb_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_descriptor_stct > ( ) , 768usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . begin_pad as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( begin_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_pad as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_position as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_pad as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_position as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_pad as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter_pad as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat_pad as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat_pad ) ) ) ; } pub type aeron_rb_descriptor_t = aeron_rb_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_rb_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_rb_record_descriptor_t = aeron_rb_record_descriptor_stct ; pub const aeron_rb_write_result_stct_AERON_RB_SUCCESS : aeron_rb_write_result_stct = 0 ; pub const aeron_rb_write_result_stct_AERON_RB_ERROR : aeron_rb_write_result_stct = -2 ; pub const aeron_rb_write_result_stct_AERON_RB_FULL : aeron_rb_write_result_stct = -1 ; pub type aeron_rb_write_result_stct = i32 ; pub use self :: aeron_rb_write_result_stct as aeron_rb_write_result_t ; pub type aeron_rb_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : * const :: std :: os :: raw :: c_void , arg3 : size_t , arg4 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_rb_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_rb_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mpsc_rb_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_rb_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_rb_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_mpsc_rb_t = aeron_mpsc_rb_stct ; extern "C" { pub fn aeron_mpsc_rb_init ( ring_buffer : * mut aeron_mpsc_rb_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_rb_write ( ring_buffer : * mut aeron_mpsc_rb_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> aeron_rb_write_result_t ; } extern "C" { pub fn aeron_mpsc_rb_read ( ring_buffer : * mut aeron_mpsc_rb_t , handler : aeron_rb_handler_t , clientd : * mut :: std :: os :: raw :: c_void , message_count_limit : size_t ) -> size_t ; } extern "C" { pub fn aeron_mpsc_rb_next_correlation_id ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time ( ring_buffer : * mut aeron_mpsc_rb_t , now_ms : i64 ) ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time_value ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_unblock ( ring_buffer : * mut aeron_mpsc_rb_t ) -> bool ; } pub type aeron_flow_control_strategy_on_idle_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , snd_lmt : i64 , snd_pos : i64 , is_end_of_stream : bool ) -> i64 > ; pub type aeron_flow_control_strategy_on_sm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , sm : * const u8 , length : size_t , recv_addr : * mut sockaddr_storage , snd_lmt : i64 , initial_term_id : i32 , position_bits_to_shift : size_t , now_ns : i64 ) -> i64 > ; pub type aeron_flow_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_flow_control_strategy_has_required_receivers = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_stct { pub on_status_message : aeron_flow_control_strategy_on_sm_func_t , pub on_idle : aeron_flow_control_strategy_on_idle_func_t , pub fini : aeron_flow_control_strategy_fini_func_t , pub has_required_receivers : aeron_flow_control_strategy_has_required_receivers , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_status_message as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_status_message ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_idle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . has_required_receivers as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( has_required_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_flow_control_strategy_has_required_receivers_default ( strategy : * mut aeron_flow_control_strategy_t ) -> bool ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct { pub strategy_name_length : size_t , pub strategy_name : * const :: std :: os :: raw :: c_char , pub group_tag : aeron_flow_control_tagged_options_stct__bindgen_ty_1 , pub timeout_ns : aeron_flow_control_tagged_options_stct__bindgen_ty_2 , pub group_min_size : aeron_flow_control_tagged_options_stct__bindgen_ty_3 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_2 { pub is_present : bool , pub value : u64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_3 { pub is_present : bool , pub value : i32 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . value as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_min_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_min_size ) ) ) ; } pub type aeron_flow_control_tagged_options_t = aeron_flow_control_tagged_options_stct ; extern "C" { pub fn aeron_flow_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_max_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_min_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_to_string ( strategy : * mut aeron_flow_control_strategy_t , buffer : * mut :: std :: os :: raw :: c_char , buffer_len : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_supplier_func_table_entry_stct { pub name : * const :: std :: os :: raw :: c_char , pub supplier_func : aeron_flow_control_strategy_supplier_func_t , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_supplier_func_table_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . supplier_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( supplier_func ) ) ) ; } pub type aeron_flow_control_strategy_supplier_func_table_entry_t = aeron_flow_control_strategy_supplier_func_table_entry_stct ; extern "C" { pub fn aeron_flow_control_parse_tagged_options ( options_length : size_t , options : * const :: std :: os :: raw :: c_char , flow_control_options : * mut aeron_flow_control_tagged_options_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_congestion_control_strategy_should_measure_rtt_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 ) -> bool > ; pub type aeron_congestion_control_strategy_on_rttm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , rtt_ns : i64 , source_address : * mut sockaddr_storage ) > ; pub type aeron_congestion_control_strategy_on_track_rebuild_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , should_force_sm : * mut bool , now_ns : i64 , new_consumption_position : i64 , last_sm_position : i64 , hwm_position : i64 , starting_rebuild_position : i64 , ending_rebuild_position : i64 , loss_occurred : bool ) -> i32 > ; pub type aeron_congestion_control_strategy_initial_window_length_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void ) -> i32 > ; pub type aeron_congestion_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_congestion_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_congestion_control_strategy_stct { pub should_measure_rtt : aeron_congestion_control_strategy_should_measure_rtt_func_t , pub on_rttm : aeron_congestion_control_strategy_on_rttm_func_t , pub on_track_rebuild : aeron_congestion_control_strategy_on_track_rebuild_func_t , pub initial_window_length : aeron_congestion_control_strategy_initial_window_length_func_t , pub fini : aeron_congestion_control_strategy_fini_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_congestion_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_congestion_control_strategy_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_congestion_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . should_measure_rtt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( should_measure_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_rttm as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_rttm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_track_rebuild as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_track_rebuild ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_congestion_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_static_window_congestion_control_strategy_supplier ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_semantic_version_compose ( major : u8 , minor : u8 , patch : u8 ) -> i32 ; } extern "C" { pub fn aeron_semantic_version_major ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_minor ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_patch ( version : i32 ) -> u8 ; } pub type aeron_agent_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_agent_on_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_idle_strategy_stct { pub idle : aeron_idle_strategy_func_t , pub init : aeron_idle_strategy_init_func_t , } # [ test ] fn bindgen_test_layout_aeron_idle_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_idle_strategy_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_idle_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . init as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( init ) ) ) ; } pub type aeron_idle_strategy_t = aeron_idle_strategy_stct ; extern "C" { pub fn aeron_idle_strategy_sleeping_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_yielding_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_busy_spinning_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_noop_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_state_init ( state : * mut * mut :: std :: os :: raw :: c_void , max_spins : u64 , max_yields : u64 , min_park_period_ns : u64 , max_park_period_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_idle_strategy_init_null ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_agent_runner_stct { pub role_name : * const :: std :: os :: raw :: c_char , pub agent_state : * mut :: std :: os :: raw :: c_void , pub idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub on_start_state : * mut :: std :: os :: raw :: c_void , pub on_start : aeron_agent_on_start_func_t , pub do_work : aeron_agent_do_work_func_t , pub on_close : aeron_agent_on_close_func_t , pub idle_strategy : aeron_idle_strategy_func_t , pub thread : aeron_thread_t , pub running : bool , pub state : u8 , } # [ test ] fn bindgen_test_layout_aeron_agent_runner_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_agent_runner_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_agent_runner_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . role_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( role_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . agent_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( agent_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy_state as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start_state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . do_work as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( do_work ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_close as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_close ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . thread as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( thread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . running as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( running ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . state as * const _ as usize } , 73usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_agent_runner_t = aeron_agent_runner_stct ; extern "C" { pub fn aeron_idle_strategy_load ( idle_strategy_name : * const :: std :: os :: raw :: c_char , idle_strategy_state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> aeron_idle_strategy_func_t ; } extern "C" { pub fn aeron_agent_on_start_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_agent_init ( runner : * mut aeron_agent_runner_t , role_name : * const :: std :: os :: raw :: c_char , state : * mut :: std :: os :: raw :: c_void , on_start : aeron_agent_on_start_func_t , on_start_state : * mut :: std :: os :: raw :: c_void , do_work : aeron_agent_do_work_func_t , on_close : aeron_agent_on_close_func_t , idle_strategy_func : aeron_idle_strategy_func_t , idle_strategy_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_start ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_stop ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_close ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_value_descriptor_stct { pub counter_value : i64 , pub pad1 : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_value_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_value_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_value_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . counter_value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( counter_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . pad1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( pad1 ) ) ) ; } pub type aeron_counter_value_descriptor_t = aeron_counter_value_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_metadata_descriptor_stct { pub state : i32 , pub type_id : i32 , pub free_to_reuse_deadline : i64 , pub key : [ u8 ; 112usize ] , pub label_length : i32 , pub label : [ u8 ; 380usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_metadata_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( type_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . free_to_reuse_deadline as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( free_to_reuse_deadline ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . key as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label_length as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label ) ) ) ; } pub type aeron_counter_metadata_descriptor_t = aeron_counter_metadata_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stream_position_counter_key_layout_stct { pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 92usize ] , } # [ test ] fn bindgen_test_layout_aeron_stream_position_counter_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_stream_position_counter_key_layout_t = aeron_stream_position_counter_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_channel_endpoint_status_key_layout_stct { pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 108usize ] , } # [ test ] fn bindgen_test_layout_aeron_channel_endpoint_status_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_channel_endpoint_status_key_layout_t = aeron_channel_endpoint_status_key_layout_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_heartbeat_timestamp_key_layout_stct { pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_heartbeat_timestamp_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_heartbeat_timestamp_key_layout_t = aeron_heartbeat_timestamp_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_local_sockaddr_key_layout_stct { pub channel_status_id : i32 , pub local_sockaddr_len : i32 , pub local_sockaddr : [ :: std :: os :: raw :: c_char ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_local_sockaddr_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . channel_status_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( channel_status_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr ) ) ) ; } pub type aeron_local_sockaddr_key_layout_t = aeron_local_sockaddr_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_manager_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub id_high_water_mark : i32 , pub free_list : * mut i32 , pub free_list_index : i32 , pub free_list_length : size_t , pub clock_func : aeron_clock_func_t , pub free_to_reuse_timeout_ms : i64 , } # [ test ] fn bindgen_test_layout_aeron_counters_manager_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_manager_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_manager_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . id_high_water_mark as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( id_high_water_mark ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_index as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_length as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . clock_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( clock_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_to_reuse_timeout_ms as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_to_reuse_timeout_ms ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_reader_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub max_counter_id : size_t , } # [ test ] fn bindgen_test_layout_aeron_counters_reader_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_reader_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_reader_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . max_counter_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( max_counter_id ) ) ) ; } extern "C" { pub fn aeron_counters_manager_init ( manager : * mut aeron_counters_manager_t , metadata_buffer : * mut u8 , metadata_length : size_t , values_buffer : * mut u8 , values_length : size_t , clock_func : aeron_clock_func_t , free_to_reuse_timeout_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_counters_manager_close ( manager : * mut aeron_counters_manager_t ) ; } extern "C" { pub fn aeron_counters_manager_allocate ( manager : * mut aeron_counters_manager_t , type_id : i32 , key : * const u8 , key_length : size_t , label : * const :: std :: os :: raw :: c_char , label_length : size_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_update_label ( manager : * mut aeron_counters_manager_t , counter_id : i32 , label_length : size_t , label : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn aeron_counters_manager_next_counter_id ( manager : * mut aeron_counters_manager_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_free ( manager : * mut aeron_counters_manager_t , counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_counters_reader_foreach_metadata_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : i32 , arg3 : * const u8 , arg4 : size_t , arg5 : * const u8 , arg6 : size_t , arg7 : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_counters_reader_foreach_metadata ( metadata_buffer : * mut u8 , metadata_length : size_t , func : aeron_counters_reader_foreach_metadata_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_SENT : aeron_system_counter_enum_stct = 0 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_RECEIVED : aeron_system_counter_enum_stct = 1 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RECEIVER_PROXY_FAILS : aeron_system_counter_enum_stct = 2 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_PROXY_FAILS : aeron_system_counter_enum_stct = 3 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONDUCTOR_PROXY_FAILS : aeron_system_counter_enum_stct = 4 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_SENT : aeron_system_counter_enum_stct = 5 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 6 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_SENT : aeron_system_counter_enum_stct = 7 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 8 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_SENT : aeron_system_counter_enum_stct = 9 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_RECEIVED : aeron_system_counter_enum_stct = 10 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RETRANSMITS_SENT : aeron_system_counter_enum_stct = 11 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_UNDER_RUNS : aeron_system_counter_enum_stct = 12 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_OVER_RUNS : aeron_system_counter_enum_stct = 13 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_INVALID_PACKETS : aeron_system_counter_enum_stct = 14 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_ERRORS : aeron_system_counter_enum_stct = 15 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SHORT_SENDS : aeron_system_counter_enum_stct = 16 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FREE_FAILS : aeron_system_counter_enum_stct = 17 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_FLOW_CONTROL_LIMITS : aeron_system_counter_enum_stct = 18 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_PUBLICATIONS : aeron_system_counter_enum_stct = 19 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_COMMANDS : aeron_system_counter_enum_stct = 20 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_POSSIBLE_TTL_ASYMMETRY : aeron_system_counter_enum_stct = 21 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONTROLLABLE_IDLE_STRATEGY : aeron_system_counter_enum_stct = 22 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_LOSS_GAP_FILLS : aeron_system_counter_enum_stct = 23 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CLIENT_TIMEOUTS : aeron_system_counter_enum_stct = 24 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RESOLUTION_CHANGES : aeron_system_counter_enum_stct = 25 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_DUMMY_LAST : aeron_system_counter_enum_stct = 26 ; pub type aeron_system_counter_enum_stct = u32 ; pub use self :: aeron_system_counter_enum_stct as aeron_system_counter_enum_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counter_stct { pub label : * const :: std :: os :: raw :: c_char , pub id : i32 , } # [ test ] fn bindgen_test_layout_aeron_system_counter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counter_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . label as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( label ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( id ) ) ) ; } pub type aeron_system_counter_t = aeron_system_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counters_stct { pub counter_ids : * mut i32 , pub manager : * mut aeron_counters_manager_t , } # [ test ] fn bindgen_test_layout_aeron_system_counters_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counters_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counters_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . counter_ids as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( counter_ids ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . manager as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( manager ) ) ) ; } pub type aeron_system_counters_t = aeron_system_counters_stct ; extern "C" { pub fn aeron_system_counters_init ( counters : * mut aeron_system_counters_t , manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_system_counters_close ( counters : * mut aeron_system_counters_t ) ; } pub type aeron_name_resolver_resolve_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int > ; # [ doc = " Resolves a name to a host:port string." ] # [ doc = "" ] # [ doc = " @return 0 if not found, 1 if found, -1 on error." ] pub type aeron_name_resolver_lookup_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_name_resolver_stct { pub lookup_func : aeron_name_resolver_lookup_func_t , pub resolve_func : aeron_name_resolver_resolve_func_t , pub do_work_func : aeron_name_resolver_do_work_func_t , pub close_func : aeron_name_resolver_close_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_name_resolver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_name_resolver_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_name_resolver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . lookup_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( lookup_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . resolve_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( resolve_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . do_work_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( do_work_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_name_resolver_supplier_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_name_resolver_init ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_supplier ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_resolve ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_lookup ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_do_work ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_close ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_name_resolver_resolve_host_and_port ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_cnc_metadata_stct { pub cnc_version : i32 , pub to_driver_buffer_length : i32 , pub to_clients_buffer_length : i32 , pub counter_metadata_buffer_length : i32 , pub counter_values_buffer_length : i32 , pub error_log_buffer_length : i32 , pub client_liveness_timeout : i64 , pub start_timestamp : i64 , pub pid : i64 , } # [ test ] fn bindgen_test_layout_aeron_cnc_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_cnc_metadata_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_cnc_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . cnc_version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( cnc_version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_metadata_buffer_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_metadata_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_values_buffer_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . error_log_buffer_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( error_log_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . client_liveness_timeout as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( client_liveness_timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . start_timestamp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( start_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . pid as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( pid ) ) ) ; } pub type aeron_cnc_metadata_t = aeron_cnc_metadata_stct ; extern "C" { pub fn aeron_cnc_version_volatile ( metadata : * mut aeron_cnc_metadata_t ) -> i32 ; } pub type aeron_driver_conductor_proxy_t = aeron_driver_conductor_proxy_stct ; pub type aeron_driver_sender_proxy_t = aeron_driver_sender_proxy_stct ; pub type aeron_driver_receiver_proxy_t = aeron_driver_receiver_proxy_stct ; pub type aeron_driver_conductor_to_driver_interceptor_func_t = aeron_rb_handler_t ; pub type aeron_driver_conductor_to_client_interceptor_func_t = :: std :: option :: Option < unsafe extern "C" fn ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct { pub aeron_dir : * mut :: std :: os :: raw :: c_char , pub threading_mode : aeron_threading_mode_t , pub receiver_group_consideration : aeron_inferable_boolean_t , pub dirs_delete_on_start : bool , pub dirs_delete_on_shutdown : bool , pub warn_if_dirs_exist : bool , pub term_buffer_sparse_file : bool , pub perform_storage_checks : bool , pub spies_simulate_connection : bool , pub print_configuration_on_start : bool , pub reliable_stream : bool , pub tether_subscriptions : bool , pub rejoin_stream : bool , pub driver_timeout_ms : u64 , pub client_liveness_timeout_ns : u64 , pub publication_linger_timeout_ns : u64 , pub status_message_timeout_ns : u64 , pub image_liveness_timeout_ns : u64 , pub publication_unblock_timeout_ns : u64 , pub publication_connection_timeout_ns : u64 , pub timer_interval_ns : u64 , pub counter_free_to_reuse_ns : u64 , pub untethered_window_limit_timeout_ns : u64 , pub untethered_resting_timeout_ns : u64 , pub retransmit_unicast_delay_ns : u64 , pub retransmit_unicast_linger_ns : u64 , pub nak_unicast_delay_ns : u64 , pub nak_multicast_max_backoff_ns : u64 , pub re_resolution_check_interval_ns : u64 , pub to_driver_buffer_length : size_t , pub to_clients_buffer_length : size_t , pub counters_values_buffer_length : size_t , pub error_buffer_length : size_t , pub term_buffer_length : size_t , pub ipc_term_buffer_length : size_t , pub mtu_length : size_t , pub ipc_mtu_length : size_t , pub ipc_publication_window_length : size_t , pub publication_window_length : size_t , pub socket_rcvbuf : size_t , pub socket_sndbuf : size_t , pub send_to_sm_poll_ratio : size_t , pub initial_window_length : size_t , pub loss_report_length : size_t , pub file_page_size : size_t , pub nak_multicast_group_size : size_t , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub multicast_ttl : u8 , pub receiver_group_tag : aeron_driver_context_stct__bindgen_ty_1 , pub flow_control : aeron_driver_context_stct__bindgen_ty_2 , pub cnc_map : aeron_mapped_file_t , pub loss_report : aeron_mapped_file_t , pub to_driver_buffer : * mut u8 , pub to_clients_buffer : * mut u8 , pub counters_values_buffer : * mut u8 , pub counters_metadata_buffer : * mut u8 , pub error_buffer : * mut u8 , pub nano_clock : aeron_clock_func_t , pub epoch_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub sender_command_queue : aeron_spsc_concurrent_array_queue_t , pub receiver_command_queue : aeron_spsc_concurrent_array_queue_t , pub conductor_command_queue : aeron_mpsc_concurrent_array_queue_t , pub agent_on_start_func : aeron_agent_on_start_func_t , pub agent_on_start_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_func : aeron_idle_strategy_func_t , pub conductor_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub conductor_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_network_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_network_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub sender_idle_strategy_func : aeron_idle_strategy_func_t , pub sender_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub sender_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub sender_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub receiver_idle_strategy_func : aeron_idle_strategy_func_t , pub receiver_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub receiver_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub receiver_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub usable_fs_space_func : aeron_usable_fs_space_func_t , pub map_raw_log_func : aeron_map_raw_log_func_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub multicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub congestion_control_supplier_func : aeron_congestion_control_strategy_supplier_func_t , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub counters_manager : * mut aeron_counters_manager_t , pub system_counters : * mut aeron_system_counters_t , pub error_log : * mut aeron_distinct_error_log_t , pub to_driver_interceptor_func : aeron_driver_conductor_to_driver_interceptor_func_t , pub to_client_interceptor_func : aeron_driver_conductor_to_client_interceptor_func_t , pub termination_validator_func : aeron_driver_termination_validator_func_t , pub termination_validator_state : * mut :: std :: os :: raw :: c_void , pub termination_hook_func : aeron_driver_termination_hook_func_t , pub termination_hook_state : * mut :: std :: os :: raw :: c_void , pub udp_channel_transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub udp_channel_outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub udp_channel_incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub next_receiver_id : i64 , pub unicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub multicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub resolver_name : * const :: std :: os :: raw :: c_char , pub resolver_interface : * const :: std :: os :: raw :: c_char , pub resolver_bootstrap_neighbor : * const :: std :: os :: raw :: c_char , pub name_resolver_supplier_func : aeron_name_resolver_supplier_func_t , pub name_resolver_init_args : * const :: std :: os :: raw :: c_char , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_2 { pub group_min_size : i32 , pub receiver_timeout_ns : u64 , pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_min_size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_min_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . receiver_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( receiver_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_tag ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct > ( ) , 1600usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . aeron_dir as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( aeron_dir ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_consideration as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_consideration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_start as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_shutdown as * const _ as usize } , 17usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . warn_if_dirs_exist as * const _ as usize } , 18usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( warn_if_dirs_exist ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_sparse_file as * const _ as usize } , 19usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_sparse_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . perform_storage_checks as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( perform_storage_checks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 21usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . print_configuration_on_start as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( print_configuration_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . reliable_stream as * const _ as usize } , 23usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( reliable_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . tether_subscriptions as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( tether_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . rejoin_stream as * const _ as usize } , 25usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( rejoin_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . driver_timeout_ms as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( driver_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . client_liveness_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( client_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_linger_timeout_ns as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . status_message_timeout_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( status_message_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . image_liveness_timeout_ns as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( image_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_unblock_timeout_ns as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_connection_timeout_ns as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . timer_interval_ns as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( timer_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counter_free_to_reuse_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counter_free_to_reuse_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_window_limit_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_window_limit_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_resting_timeout_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_resting_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_delay_ns as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_linger_ns as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_linger_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_unicast_delay_ns as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_max_backoff_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_max_backoff_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . re_resolution_check_interval_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( re_resolution_check_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer_length as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer_length as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_term_buffer_length as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . mtu_length as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_mtu_length as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_publication_window_length as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_window_length as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_rcvbuf as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_sndbuf as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_sndbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . send_to_sm_poll_ratio as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( send_to_sm_poll_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . file_page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( file_page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_group_size as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_group_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 300usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_tag as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . flow_control as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cnc_map as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cnc_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_metadata_buffer as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_metadata_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nano_clock as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . epoch_clock as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( epoch_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cached_clock as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_command_queue as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_command_queue as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_command_queue as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_func as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_state as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_func as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_state as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_init_args as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_name as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_func as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_state as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_init_args as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_name as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_func as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_state as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_init_args as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_name as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_func as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_state as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_init_args as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_name as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_func as * const _ as usize } , 1240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_state as * const _ as usize } , 1248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_init_args as * const _ as usize } , 1256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_name as * const _ as usize } , 1264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . usable_fs_space_func as * const _ as usize } , 1272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( usable_fs_space_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_func as * const _ as usize } , 1280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_flow_control_supplier_func as * const _ as usize } , 1296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_flow_control_supplier_func as * const _ as usize } , 1304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . congestion_control_supplier_func as * const _ as usize } , 1312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( congestion_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 1320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 1328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 1336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_manager as * const _ as usize } , 1344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . system_counters as * const _ as usize } , 1352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_log as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_interceptor_func as * const _ as usize } , 1368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_client_interceptor_func as * const _ as usize } , 1376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_client_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_func as * const _ as usize } , 1384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_state as * const _ as usize } , 1392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_func as * const _ as usize } , 1400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_state as * const _ as usize } , 1408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_transport_bindings as * const _ as usize } , 1416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_outgoing_interceptor_bindings as * const _ as usize } , 1424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_outgoing_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_incoming_interceptor_bindings as * const _ as usize } , 1432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_incoming_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . next_receiver_id as * const _ as usize } , 1440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( next_receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_delay_feedback_generator as * const _ as usize } , 1448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_delay_feedback_generator as * const _ as usize } , 1504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_name as * const _ as usize } , 1560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_interface as * const _ as usize } , 1568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_bootstrap_neighbor as * const _ as usize } , 1576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_bootstrap_neighbor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_supplier_func as * const _ as usize } , 1584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_init_args as * const _ as usize } , 1592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_init_args ) ) ) ; } extern "C" { pub fn aeron_config_parse_inferable_boolean ( inferable_boolean : * const :: std :: os :: raw :: c_char , def : aeron_inferable_boolean_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_print_configuration ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_fill_cnc_metadata ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_context_validate_mtu_length ( mtu_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_cnc_length ( context : * mut aeron_driver_context_t ) -> size_t ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_descriptor_stct { pub tail_intent_counter : i64 , pub tail_counter : i64 , pub latest_counter : i64 , pub pad : [ u8 ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_broadcast_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_intent_counter as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_intent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_counter as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . latest_counter as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( latest_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . pad as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( pad ) ) ) ; } pub type aeron_broadcast_descriptor_t = aeron_broadcast_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_broadcast_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_broadcast_record_descriptor_t = aeron_broadcast_record_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_transmitter_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_broadcast_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_broadcast_transmitter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_transmitter_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_transmitter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_broadcast_transmitter_t = aeron_broadcast_transmitter_stct ; extern "C" { pub fn aeron_broadcast_transmitter_init ( transmitter : * mut aeron_broadcast_transmitter_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_broadcast_transmitter_transmit ( transmitter : * mut aeron_broadcast_transmitter_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_correlated_command_stct { pub client_id : i64 , pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_correlated_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_correlated_command_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_correlated_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . correlation_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_correlated_command_t = aeron_correlated_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_command_stct { pub correlated : aeron_correlated_command_t , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_publication_command_t = aeron_publication_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_buffers_ready_stct { pub correlation_id : i64 , pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub position_limit_counter_id : i32 , pub channel_status_indicator_id : i32 , pub log_file_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_buffers_ready_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . position_limit_counter_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( position_limit_counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . log_file_length as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( log_file_length ) ) ) ; } pub type aeron_publication_buffers_ready_t = aeron_publication_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_command_stct { pub correlated : aeron_correlated_command_t , pub registration_correlation_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_command_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . registration_correlation_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( registration_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_subscription_command_t = aeron_subscription_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_ready_stct { pub correlation_id : i64 , pub channel_status_indicator_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_ready_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; } pub type aeron_subscription_ready_t = aeron_subscription_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_buffers_ready_stct { pub correlation_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub subscriber_registration_id : i64 , pub subscriber_position_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_buffers_ready_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_position_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_position_id ) ) ) ; } pub type aeron_image_buffers_ready_t = aeron_image_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_operation_succeeded_stct { pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_operation_succeeded_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_operation_succeeded_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_operation_succeeded_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_operation_succeeded_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_operation_succeeded_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_operation_succeeded_t = aeron_operation_succeeded_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_response_stct { pub offending_command_correlation_id : i64 , pub error_code : i32 , pub error_message_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_error_response_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_response_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_response_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . offending_command_correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( offending_command_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_message_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_message_length ) ) ) ; } pub type aeron_error_response_t = aeron_error_response_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_remove_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_remove_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_remove_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_remove_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_remove_command_t = aeron_remove_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_message_stct { pub correlation_id : i64 , pub subscription_registration_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_message_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_message_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_message_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_image_message_t = aeron_image_message_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_destination_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_destination_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_destination_command_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_destination_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_destination_command_t = aeron_destination_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_command_stct { pub correlated : aeron_correlated_command_t , pub type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . type_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( type_id ) ) ) ; } pub type aeron_counter_command_t = aeron_counter_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_update_stct { pub correlation_id : i64 , pub counter_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_update_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_update_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_update_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( counter_id ) ) ) ; } pub type aeron_counter_update_t = aeron_counter_update_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_timeout_stct { pub client_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_client_timeout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_timeout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_timeout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_timeout_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_timeout_stct ) , "::" , stringify ! ( client_id ) ) ) ; } pub type aeron_client_timeout_t = aeron_client_timeout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_terminate_driver_command_stct { pub correlated : aeron_correlated_command_t , pub token_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_terminate_driver_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_terminate_driver_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_terminate_driver_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . token_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( token_length ) ) ) ; } pub type aeron_terminate_driver_command_t = aeron_terminate_driver_command_stct ; pub mod aeron_ipc_publication_state_enum { pub type Type = u32 ; pub const AERON_IPC_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_IPC_PUBLICATION_STATE_INACTIVE : Type = 1 ; pub const AERON_IPC_PUBLICATION_STATE_LINGER : Type = 2 ; } pub use self :: aeron_ipc_publication_state_enum :: Type as aeron_ipc_publication_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct { pub mapped_raw_log : aeron_mapped_raw_log_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub pub_lmt_position : aeron_position_t , pub pub_pos_position : aeron_position_t , pub conductor_fields : aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_window_length : i64 , pub trip_gain : i64 , pub unblock_timeout_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub is_exclusive : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_ipc_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub trip_limit : i64 , pub clean_position : i64 , pub consumer_position : i64 , pub last_consumer_position : i64 , pub time_of_last_consumer_position_change : i64 , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . trip_limit as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( trip_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . consumer_position as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . last_consumer_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( last_consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . time_of_last_consumer_position_change as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_consumer_position_change ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . tag as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 316usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_ipc_publication_t = aeron_ipc_publication_stct ; extern "C" { pub fn aeron_ipc_publication_create ( publication : * mut * mut aeron_ipc_publication_t , context : * mut aeron_driver_context_t , session_id : i32 , stream_id : i32 , registration_id : i64 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , initial_term_id : i32 , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_ipc_publication_t ) ; } extern "C" { pub fn aeron_ipc_publication_update_pub_lmt ( publication : * mut aeron_ipc_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_clean_buffer ( publication : * mut aeron_ipc_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_ipc_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_check_for_blocked_publisher ( publication : * mut aeron_ipc_publication_t , producer_position : i64 , now_ns : i64 ) ; } extern "C" { pub fn aeron_format_date ( str : * mut :: std :: os :: raw :: c_char , count : size_t , timestamp : i64 ) ; } extern "C" { pub fn aeron_format_to_hex ( str : * mut :: std :: os :: raw :: c_char , str_length : size_t , data : * mut u8 , data_len : size_t ) ; } extern "C" { pub fn aeron_tokenise ( input : * mut :: std :: os :: raw :: c_char , delimiter : :: std :: os :: raw :: c_char , max_tokens : :: std :: os :: raw :: c_int , tokens : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_per_thread_error_stct { pub errcode : :: std :: os :: raw :: c_int , pub errmsg : [ :: std :: os :: raw :: c_char ; 384usize ] , } # [ test ] fn bindgen_test_layout_aeron_per_thread_error_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_per_thread_error_stct > ( ) , 388usize , concat ! ( "Size of: " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_per_thread_error_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errmsg as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errmsg ) ) ) ; } pub type aeron_per_thread_error_t = aeron_per_thread_error_stct ; extern "C" { pub fn aeron_set_err ( errcode : :: std :: os :: raw :: c_int , format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_set_err_from_last_err_code ( format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_error_code_str ( errcode : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_key_stct { pub str : * const :: std :: os :: raw :: c_char , pub hash_code : u64 , pub str_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_key_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . hash_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( hash_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str_length ) ) ) ; } pub type aeron_str_to_ptr_hash_map_key_t = aeron_str_to_ptr_hash_map_key_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_stct { pub keys : * mut aeron_str_to_ptr_hash_map_key_t , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_str_to_ptr_hash_map_t = aeron_str_to_ptr_hash_map_stct ; pub type aeron_str_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , key_len : size_t , value : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_ptr_hash_map_stct { pub keys : * mut i64 , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_ptr_hash_map_t = aeron_int64_to_ptr_hash_map_stct ; pub type aeron_int64_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; pub type aeron_uri_hostname_resolver_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , host : * const :: std :: os :: raw :: c_char , hints : * mut addrinfo , info : * mut * mut addrinfo ) -> :: std :: os :: raw :: c_int > ; pub type aeron_getifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut * mut ifaddrs ) -> :: std :: os :: raw :: c_int > ; pub type aeron_freeifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ifaddrs ) > ; pub type aeron_ifaddr_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr , netmask : * mut sockaddr , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_ip_addr_resolver ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , family_hint : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_port_resolver ( port_str : * const :: std :: os :: raw :: c_char , optional : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv4 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv4_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv6 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv6_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces_from_ifaddrs ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void , ifaddrs : * mut ifaddrs ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_getifaddrs ( get_func : aeron_getifaddrs_func_t , free_func : aeron_freeifaddrs_func_t ) ; } extern "C" { pub fn aeron_interface_parse_and_resolve ( interface_str : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , prefixlen : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_ipv4_wildcard_host_and_port ( sockaddr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_ipv4_does_prefix_match ( in_addr1 : * mut in_addr , in_addr2 : * mut in_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv6_does_prefix_match ( in6_addr1 : * mut in6_addr , in6_addr2 : * mut in6_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv4_netmask_to_prefixlen ( netmask : * mut in_addr ) -> size_t ; } extern "C" { pub fn aeron_ipv6_netmask_to_prefixlen ( netmask : * mut in6_addr ) -> size_t ; } extern "C" { pub fn aeron_find_interface ( interface_str : * const :: std :: os :: raw :: c_char , if_addr : * mut sockaddr_storage , if_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_find_unicast_interface ( family : :: std :: os :: raw :: c_int , interface_str : * const :: std :: os :: raw :: c_char , interface_addr : * mut sockaddr_storage , interface_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_is_addr_multicast ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_addr ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_port ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_format_source_identity ( buffer : * mut :: std :: os :: raw :: c_char , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_retransmit_action_state_enum { pub type Type = u32 ; pub const AERON_RETRANSMIT_ACTION_STATE_DELAYED : Type = 0 ; pub const AERON_RETRANSMIT_ACTION_STATE_LINGERING : Type = 1 ; pub const AERON_RETRANSMIT_ACTION_STATE_INACTIVE : Type = 2 ; } pub use self :: aeron_retransmit_action_state_enum :: Type as aeron_retransmit_action_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_action_stct { pub expiry_ns : i64 , pub term_id : i32 , pub term_offset : i32 , pub length : size_t , pub state : aeron_retransmit_action_state_t , } # [ test ] fn bindgen_test_layout_aeron_retransmit_action_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_action_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_action_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_retransmit_action_t = aeron_retransmit_action_stct ; pub type aeron_retransmit_handler_resend_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_handler_stct { pub retransmit_action_pool : [ aeron_retransmit_action_t ; 16usize ] , pub active_retransmits_map : aeron_int64_to_ptr_hash_map_t , pub delay_timeout_ns : u64 , pub linger_timeout_ns : u64 , pub invalid_packets_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_retransmit_handler_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_handler_stct > ( ) , 584usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_handler_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . retransmit_action_pool as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( retransmit_action_pool ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . active_retransmits_map as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( active_retransmits_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . delay_timeout_ns as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( delay_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . invalid_packets_counter as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( invalid_packets_counter ) ) ) ; } pub type aeron_retransmit_handler_t = aeron_retransmit_handler_stct ; extern "C" { pub fn aeron_retransmit_handler_init ( handler : * mut aeron_retransmit_handler_t , invalid_packets_counter : * mut i64 , delay_timeout_ns : u64 , linger_timeout_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_close ( handler : * mut aeron_retransmit_handler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_on_nak ( handler : * mut aeron_retransmit_handler_t , term_id : i32 , term_offset : i32 , length : size_t , term_length : size_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_process_timeouts ( handler : * mut aeron_retransmit_handler_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_network_publication_state_enum { pub type Type = u32 ; pub const AERON_NETWORK_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_NETWORK_PUBLICATION_STATE_DRAINING : Type = 1 ; pub const AERON_NETWORK_PUBLICATION_STATE_LINGER : Type = 2 ; pub const AERON_NETWORK_PUBLICATION_STATE_CLOSING : Type = 3 ; } pub use self :: aeron_network_publication_state_enum :: Type as aeron_network_publication_state_t ; pub type aeron_send_channel_endpoint_t = aeron_send_channel_endpoint_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct { pub conductor_fields : aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct , pub conductor_fields_pad : [ u8 ; 128usize ] , pub mapped_raw_log : aeron_mapped_raw_log_t , pub pub_pos_position : aeron_position_t , pub pub_lmt_position : aeron_position_t , pub snd_pos_position : aeron_position_t , pub snd_lmt_position : aeron_position_t , pub snd_bpe_counter : aeron_atomic_counter_t , pub retransmit_handler : aeron_retransmit_handler_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_send_channel_endpoint_t , pub flow_control : * mut aeron_flow_control_strategy_t , pub cached_clock : * mut aeron_clock_cache_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_buffer_length : i64 , pub term_window_length : i64 , pub trip_gain : i64 , pub linger_timeout_ns : i64 , pub unblock_timeout_ns : i64 , pub connection_timeout_ns : i64 , pub time_of_last_send_or_heartbeat_ns : i64 , pub time_of_last_setup_ns : i64 , pub status_message_deadline_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub mtu_length : size_t , pub is_exclusive : bool , pub spies_simulate_connection : bool , pub signal_eos : bool , pub should_send_setup_frame : bool , pub has_receivers : bool , pub has_spies : bool , pub is_connected : bool , pub is_end_of_stream : bool , pub track_sender_limits : bool , pub has_sender_released : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub short_sends_counter : * mut i64 , pub heartbeats_sent_counter : * mut i64 , pub sender_flow_control_limits_counter : * mut i64 , pub retransmits_sent_counter : * mut i64 , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_network_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub clean_position : i64 , pub time_of_last_activity_ns : i64 , pub last_snd_pos : i64 , } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . last_snd_pos as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( last_snd_pos ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct > ( ) , 1232usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields_pad as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_pos_position as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_lmt_position as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_bpe_counter as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_bpe_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmit_handler as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmit_handler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . endpoint as * const _ as usize } , 1016usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . flow_control as * const _ as usize } , 1024usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . cached_clock as * const _ as usize } , 1032usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 1040usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 1048usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 1056usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 1064usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 1072usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 1080usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . connection_timeout_ns as * const _ as usize } , 1088usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_send_or_heartbeat_ns as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_send_or_heartbeat_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_setup_ns as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_setup_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . status_message_deadline_ns as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( status_message_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . tag as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 1132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 1140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mtu_length as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 1169usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . signal_eos as * const _ as usize } , 1170usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . should_send_setup_frame as * const _ as usize } , 1171usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( should_send_setup_frame ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_receivers as * const _ as usize } , 1172usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_spies as * const _ as usize } , 1173usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_spies ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_connected as * const _ as usize } , 1174usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 1175usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . track_sender_limits as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( track_sender_limits ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 1177usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . heartbeats_sent_counter as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( heartbeats_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . sender_flow_control_limits_counter as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( sender_flow_control_limits_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmits_sent_counter as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmits_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_network_publication_t = aeron_network_publication_stct ; extern "C" { pub fn aeron_network_publication_create ( publication : * mut * mut aeron_network_publication_t , endpoint : * mut aeron_send_channel_endpoint_t , context : * mut aeron_driver_context_t , registration_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , snd_pos_position : * mut aeron_position_t , snd_lmt_position : * mut aeron_position_t , snd_bpe_counter : * mut aeron_atomic_counter_t , flow_control_strategy : * mut aeron_flow_control_strategy_t , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , spies_simulate_connection : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_network_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_send ( publication : * mut aeron_network_publication_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_resend ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_send_data ( publication : * mut aeron_network_publication_t , now_ns : i64 , snd_pos : i64 , term_offset : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_on_nak ( publication : * mut aeron_network_publication_t , term_id : i32 , term_offset : i32 , length : i32 ) ; } extern "C" { pub fn aeron_network_publication_on_status_message ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_on_rttm ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_clean_buffer ( publication : * mut aeron_network_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_network_publication_update_pub_lmt ( publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_check_for_blocked_publisher ( publication : * mut aeron_network_publication_t , now_ns : i64 , producer_position : i64 , snd_pos : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_stct { pub original_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub canonical_form : [ :: std :: os :: raw :: c_char ; 384usize ] , pub uri : aeron_uri_t , pub remote_data : sockaddr_storage , pub local_data : sockaddr_storage , pub remote_control : sockaddr_storage , pub local_control : sockaddr_storage , pub tag_id : i64 , pub interface_index : :: std :: os :: raw :: c_uint , pub uri_length : size_t , pub canonical_length : size_t , pub multicast_ttl : u8 , pub has_explicit_endpoint : bool , pub has_explicit_control : bool , pub is_manual_control_mode : bool , pub is_dynamic_control_mode : bool , pub is_multicast : bool , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_stct > ( ) , 1784usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . original_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( original_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_form as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_form ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_data as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_data as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_control as * const _ as usize } , 1488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_control as * const _ as usize } , 1616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . tag_id as * const _ as usize } , 1744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( tag_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . interface_index as * const _ as usize } , 1752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( interface_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri_length as * const _ as usize } , 1760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_length as * const _ as usize } , 1768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 1776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_endpoint as * const _ as usize } , 1777usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_control as * const _ as usize } , 1778usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 1779usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_dynamic_control_mode as * const _ as usize } , 1780usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_dynamic_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_multicast as * const _ as usize } , 1781usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_multicast ) ) ) ; } extern "C" { pub fn aeron_udp_channel_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , resolver : * mut aeron_name_resolver_t , channel : * mut * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_delete ( channel : * const aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_stct { pub fd : aeron_socket_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub dispatch_clientd : * mut :: std :: os :: raw :: c_void , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , pub destination_clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . fd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . data_paths as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . dispatch_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( dispatch_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . destination_clientd as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( destination_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_init ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_close ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_recvmmsg ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_get_so_rcvbuf ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_bind_addr_and_port ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_entry_stct { pub time_of_last_activity_ns : i64 , pub destination_timeout_ns : i64 , pub receiver_id : i64 , pub is_receiver_id_valid : bool , pub uri : * mut aeron_uri_t , pub addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . receiver_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . is_receiver_id_valid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( is_receiver_id_valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . uri as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( addr ) ) ) ; } pub type aeron_udp_destination_entry_t = aeron_udp_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct { pub destinations : aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct , pub is_manual_control_mode : bool , pub cached_clock : * mut aeron_clock_cache_t , pub destination_timeout_ns : i64 , pub data_paths : * mut aeron_udp_channel_data_paths_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct { pub array : * mut aeron_udp_destination_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destinations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . cached_clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( data_paths ) ) ) ; } pub type aeron_udp_destination_tracker_t = aeron_udp_destination_tracker_stct ; extern "C" { pub fn aeron_udp_destination_tracker_init ( tracker : * mut aeron_udp_destination_tracker_t , data_paths : * mut aeron_udp_channel_data_paths_t , cached_clock : * mut aeron_clock_cache_t , is_manual_control_model : bool , timeout_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_close ( tracker : * mut aeron_udp_destination_tracker_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_on_status_message ( tracker : * mut aeron_udp_destination_tracker_t , buffer : * const u8 , len : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_manual_add_destination ( tracker : * mut aeron_udp_destination_tracker_t , now_ns : i64 , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_remove_destination ( tracker : * mut aeron_udp_destination_tracker_t , addr : * mut sockaddr_storage , removed_uri : * mut * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_check_for_re_resolution ( tracker : * mut aeron_udp_destination_tracker_t , endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_udp_destination_tracker_resolution_change ( tracker : * mut aeron_udp_destination_tracker_t , endpoint_name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr_storage ) ; } pub type aeron_driver_sender_t = aeron_driver_sender_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_proxy_stct { pub sender : * mut aeron_driver_sender_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . sender as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_resolution_change ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut aeron_send_channel_endpoint_t , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_destination_stct { pub base : aeron_command_base_t , pub control_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub uri : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_destination_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . control_address as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . uri as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( uri ) ) ) ; } pub type aeron_command_destination_t = aeron_command_destination_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_sender_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_sender_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_sender_resolution_change_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_sender_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_sender_resolution_change_t = aeron_command_sender_resolution_change_stct ; extern "C" { pub fn aeron_driver_sender_proxy_on_add_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_delete_cmd ( sender_proxy : * mut aeron_driver_sender_proxy_t , cmd : * mut aeron_command_base_t ) ; } pub mod aeron_send_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; } pub use self :: aeron_send_channel_endpoint_status_enum :: Type as aeron_send_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct { pub conductor_fields : aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct , pub has_sender_released : bool , pub transport : aeron_udp_channel_transport_t , pub channel_status : aeron_atomic_counter_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub destination_tracker : * mut aeron_udp_destination_tracker_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub publication_dispatch_map : aeron_int64_to_ptr_hash_map_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub current_data_addr : sockaddr_storage , pub cached_clock : * mut aeron_clock_cache_t , pub time_of_last_sm_ns : i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub refcnt : i32 , pub has_reached_end_of_life : bool , pub udp_channel : * const aeron_udp_channel_t , pub status : aeron_send_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . destination_tracker as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( destination_tracker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . publication_dispatch_map as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( publication_dispatch_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . data_paths as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . current_data_addr as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( current_data_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . time_of_last_sm_ns as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( time_of_last_sm_ns ) ) ) ; } extern "C" { pub fn aeron_send_channel_endpoint_create ( endpoint : * mut * mut aeron_send_channel_endpoint_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_send_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_endpoint_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_sendmmsg ( endpoint : * mut aeron_send_channel_endpoint_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_sendmsg ( endpoint : * mut aeron_send_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_add_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_remove_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , sender_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_nak ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_status_message ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_rttm ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_resolution_change ( endpoint : * mut aeron_send_channel_endpoint_t , endpoint_name : * const :: std :: os :: raw :: c_char , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_counter_map_stct { pub entries : * mut i64 , pub load_factor : f32 , pub entries_length : size_t , pub size : size_t , pub resize_threshold : size_t , pub initial_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_int64_counter_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_counter_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_counter_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . initial_value as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( initial_value ) ) ) ; } pub type aeron_int64_counter_map_t = aeron_int64_counter_map_stct ; pub type aeron_int64_counter_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : i64 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_entry_stct { pub value : * mut :: std :: os :: raw :: c_void , pub internal_flags : u32 , pub tag : u32 , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . internal_flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( internal_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . tag as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( tag ) ) ) ; } pub type aeron_int64_to_tagged_ptr_entry_t = aeron_int64_to_tagged_ptr_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_hash_map_stct { pub keys : * mut i64 , pub entries : * mut aeron_int64_to_tagged_ptr_entry_t , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . entries as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_tagged_ptr_hash_map_t = aeron_int64_to_tagged_ptr_hash_map_stct ; pub type aeron_int64_to_tagged_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_tagged_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_proxy_stct { pub conductor : * mut aeron_driver_conductor_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_mpsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . conductor as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , cmd : * mut aeron_command_base_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_create_publication_image_stct { pub base : aeron_command_base_t , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub control_address : sockaddr_storage , pub src_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_create_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_create_publication_image_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_create_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_offset as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . control_address as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . src_address as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( src_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . destination as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_create_publication_image_t = aeron_command_create_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_re_resolve_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub existing_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_re_resolve_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_re_resolve_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_re_resolve_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . existing_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( existing_addr ) ) ) ; } pub type aeron_command_re_resolve_t = aeron_command_re_resolve_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_delete_destination_stct { pub base : aeron_command_base_t , pub destination : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_delete_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_delete_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_delete_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . destination as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_delete_destination_t = aeron_command_delete_destination_stct ; extern "C" { pub fn aeron_driver_conductor_proxy_on_create_publication_image_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , term_offset : i32 , term_length : i32 , mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_linger_buffer ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , buffer : * mut u8 ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_endpoint ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_control ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_receive_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , destination : * mut :: std :: os :: raw :: c_void , channel : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_conductor_proxy_on_delete_send_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , removed_uri : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_receive_endpoint_removed ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct { pub conductor_fields : aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct , pub transport : aeron_udp_channel_transport_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub current_control_addr : sockaddr_storage , pub so_rcvbuf : size_t , pub time_of_last_activity_ns : i64 , pub has_control_addr : bool , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct { pub udp_channel : * mut aeron_udp_channel_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . transport as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . current_control_addr as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( current_control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . so_rcvbuf as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( so_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . has_control_addr as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( has_control_addr ) ) ) ; } pub type aeron_receive_destination_t = aeron_receive_destination_stct ; extern "C" { pub fn aeron_receive_destination_create ( destination : * mut * mut aeron_receive_destination_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t , channel_status_counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_destination_delete ( destination : * mut aeron_receive_destination_t , counters_manager : * mut aeron_counters_manager_t ) ; } pub type aeron_publication_image_t = aeron_publication_image_stct ; pub type aeron_receive_channel_endpoint_t = aeron_receive_channel_endpoint_stct ; pub type aeron_driver_receiver_t = aeron_driver_receiver_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct { pub ignored_sessions_map : aeron_int64_to_ptr_hash_map_t , pub session_by_stream_id_map : aeron_int64_to_ptr_hash_map_t , pub tokens : aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub receiver : * mut aeron_driver_receiver_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct { pub subscribed : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) ) ) . subscribed as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) , "::" , stringify ! ( subscribed ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . ignored_sessions_map as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( ignored_sessions_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . session_by_stream_id_map as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( session_by_stream_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . tokens as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( tokens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . receiver as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( receiver ) ) ) ; } pub type aeron_data_packet_dispatcher_t = aeron_data_packet_dispatcher_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_init ( dispatcher : * mut aeron_data_packet_dispatcher_t , conductor_proxy : * mut aeron_driver_conductor_proxy_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_close ( dispatcher : * mut aeron_data_packet_dispatcher_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stream_interest_stct { pub is_all_sessions : bool , pub image_by_session_id_map : aeron_int64_to_tagged_ptr_hash_map_t , pub subscribed_sessions : aeron_int64_to_ptr_hash_map_t , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stream_interest_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . is_all_sessions as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( is_all_sessions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . image_by_session_id_map as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( image_by_session_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . subscribed_sessions as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( subscribed_sessions ) ) ) ; } pub type aeron_data_packet_dispatcher_stream_interest_t = aeron_data_packet_dispatcher_stream_interest_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_data ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_data_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_setup ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_setup_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_rttm ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_rttm_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_elicit_setup_from_source ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_interest : * mut aeron_data_packet_dispatcher_stream_interest_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_receive_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSED : Type = 2 ; } pub use self :: aeron_receive_channel_endpoint_status_enum :: Type as aeron_receive_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_entry_stct { pub destination : * mut aeron_receive_destination_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_entry_stct > ( ) ) ) . destination as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_receive_destination_entry_t = aeron_receive_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct { pub conductor_fields : aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct , pub destinations : aeron_receive_channel_endpoint_stct_destination_stct , pub dispatcher : aeron_data_packet_dispatcher_t , pub stream_id_to_refcnt_map : aeron_int64_counter_map_t , pub stream_and_session_id_to_refcnt_map : aeron_int64_counter_map_t , pub channel_status : aeron_atomic_counter_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub cached_clock : * mut aeron_clock_cache_t , pub receiver_id : i64 , pub has_receiver_released : bool , pub group_tag : aeron_receive_channel_endpoint_stct__bindgen_ty_1 , pub short_sends_counter : * mut i64 , pub possible_ttl_asymmetry_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub udp_channel : * mut aeron_udp_channel_t , pub status : aeron_receive_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_destination_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_destination_entry_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . destinations as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . dispatcher as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( dispatcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_id_to_refcnt_map as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_and_session_id_to_refcnt_map as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_and_session_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_id as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . has_receiver_released as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_receiver_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . group_tag as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . possible_ttl_asymmetry_counter as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( possible_ttl_asymmetry_counter ) ) ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_create ( endpoint : * mut * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , straight_through_destination : * mut aeron_receive_destination_t , status_indicator : * mut aeron_atomic_counter_t , system_counters : * mut aeron_system_counters_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_close ( endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_sendmsg ( endpoint : * mut aeron_receive_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_sm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , receiver_window : i32 , flags : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_nak ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , length : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , echo_timestamp : i64 , reception_delta : i64 , is_reply : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_data ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , destination_out : * mut * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receiver_channel_endpoint_validate_sender_mtu_length ( endpoint : * mut aeron_receive_channel_endpoint_t , sender_mtu_length : size_t , window_max_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_receive_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_update_control_address ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , address : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_term_gap_scanner_on_gap_detected_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_gap_stct { pub term_id : i32 , pub term_offset : i32 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_gap_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_gap_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_gap_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_loss_detector_gap_t = aeron_loss_detector_gap_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_stct { pub on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , pub feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , pub on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void , pub scanned_gap : aeron_loss_detector_gap_t , pub active_gap : aeron_loss_detector_gap_t , pub expiry_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . feedback_delay_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( feedback_delay_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . scanned_gap as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( scanned_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . active_gap as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( active_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; } pub type aeron_loss_detector_t = aeron_loss_detector_stct ; extern "C" { pub fn aeron_loss_detector_init ( detector : * mut aeron_loss_detector_t , feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_scan ( detector : * mut aeron_loss_detector_t , loss_found : * mut bool , buffer : * const u8 , rebuild_position : i64 , hwm_position : i64 , now_ns : i64 , term_length_mask : size_t , position_bits_to_shift : size_t , initial_term_id : i32 ) -> i32 ; } extern "C" { pub fn aeron_feedback_delay_state_init ( state : * mut aeron_feedback_delay_generator_state_t , delay_generator : aeron_feedback_delay_generator_func_t , delay_ns : i64 , multicast_group_size : size_t , should_immediate_feedback : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_nak_multicast_delay_generator ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_entry_stct { pub observation_count : i64 , pub total_bytes_lost : i64 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_entry_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . total_bytes_lost as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( total_bytes_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_loss_reporter_entry_t = aeron_loss_reporter_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_stct { pub buffer : * mut u8 , pub next_record_offset : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . next_record_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( next_record_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( capacity ) ) ) ; } pub type aeron_loss_reporter_t = aeron_loss_reporter_stct ; pub type aeron_loss_reporter_entry_offset_t = i64 ; extern "C" { pub fn aeron_loss_reporter_init ( reporter : * mut aeron_loss_reporter_t , buffer : * mut u8 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_reporter_create_entry ( reporter : * mut aeron_loss_reporter_t , initial_bytes_lost : i64 , timestamp_ms : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t , source : * const :: std :: os :: raw :: c_char , source_length : size_t ) -> aeron_loss_reporter_entry_offset_t ; } pub type aeron_loss_reporter_read_entry_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , observation_count : i64 , total_bytes_lost : i64 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : i32 , source : * const :: std :: os :: raw :: c_char , source_length : i32 ) > ; extern "C" { pub fn aeron_loss_reporter_read ( buffer : * const u8 , capacity : size_t , entry_func : aeron_loss_reporter_read_entry_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> size_t ; } pub mod aeron_publication_image_state_enum { pub type Type = u32 ; pub const AERON_PUBLICATION_IMAGE_STATE_INACTIVE : Type = 0 ; pub const AERON_PUBLICATION_IMAGE_STATE_ACTIVE : Type = 1 ; pub const AERON_PUBLICATION_IMAGE_STATE_LINGER : Type = 2 ; pub const AERON_PUBLICATION_IMAGE_STATE_DONE : Type = 3 ; } pub use self :: aeron_publication_image_state_enum :: Type as aeron_publication_image_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_connection_stct { pub resolved_control_address_for_implicit_unicast_channels : sockaddr_storage , pub destination : * mut aeron_receive_destination_t , pub control_addr : * mut sockaddr_storage , pub time_of_last_activity_ns : i64 , pub time_of_last_frame_ns : i64 , pub is_eos : bool , } # [ test ] fn bindgen_test_layout_aeron_publication_image_connection_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_connection_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_connection_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . resolved_control_address_for_implicit_unicast_channels as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( resolved_control_address_for_implicit_unicast_channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . destination as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . control_addr as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_frame_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_frame_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . is_eos as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( is_eos ) ) ) ; } pub type aeron_publication_image_connection_t = aeron_publication_image_connection_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct { pub padding_before : [ u8 ; 64usize ] , pub conductor_fields : aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct , pub padding_after : [ u8 ; 64usize ] , pub connections : aeron_publication_image_stct_image_connection_entries , pub source_address : sockaddr_storage , pub loss_detector : aeron_loss_detector_t , pub mapped_raw_log : aeron_mapped_raw_log_t , pub rcv_hwm_position : aeron_position_t , pub rcv_pos_position : aeron_position_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub congestion_control : * mut aeron_congestion_control_strategy_t , pub nano_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub loss_reporter : * mut aeron_loss_reporter_t , pub loss_reporter_offset : aeron_loss_reporter_entry_offset_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub initial_term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub begin_loss_change : i64 , pub end_loss_change : i64 , pub loss_term_id : i32 , pub loss_term_offset : i32 , pub loss_length : size_t , pub begin_sm_change : i64 , pub end_sm_change : i64 , pub next_sm_position : i64 , pub next_sm_receiver_window_length : i32 , pub last_status_message_timestamp : i64 , pub last_packet_timestamp_ns : i64 , pub last_sm_change_number : i64 , pub last_sm_position : i64 , pub last_sm_position_window_limit : i64 , pub last_loss_change_number : i64 , pub is_end_of_stream : bool , pub heartbeats_received_counter : * mut i64 , pub flow_control_under_runs_counter : * mut i64 , pub flow_control_over_runs_counter : * mut i64 , pub status_messages_sent_counter : * mut i64 , pub nak_messages_sent_counter : * mut i64 , pub loss_gap_fills_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct { pub is_reliable : bool , pub state : aeron_publication_image_state_t , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub time_of_last_state_change_ns : i64 , pub liveness_timeout_ns : i64 , pub clean_position : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . time_of_last_state_change_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_state_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . liveness_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_image_connection_entries { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_connection_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_image_connection_entries ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct > ( ) , 872usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_before as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_before ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_after as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_after ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . connections as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( connections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . source_address as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( source_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_detector as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_detector ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_hwm_position as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_hwm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_pos_position as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . congestion_control as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( congestion_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nano_clock as * const _ as usize } , 608usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . cached_clock as * const _ as usize } , 616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter_offset as * const _ as usize } , 632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 652usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 656usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 660usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_offset as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 668usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 676usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 680usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 688usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 696usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_loss_change as * const _ as usize } , 704usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_loss_change as * const _ as usize } , 712usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_id as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_offset as * const _ as usize } , 724usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_length as * const _ as usize } , 728usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_sm_change as * const _ as usize } , 736usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_sm_change as * const _ as usize } , 744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_position as * const _ as usize } , 752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_receiver_window_length as * const _ as usize } , 760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_receiver_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_status_message_timestamp as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_status_message_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_packet_timestamp_ns as * const _ as usize } , 776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_packet_timestamp_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_change_number as * const _ as usize } , 784usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position as * const _ as usize } , 792usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position_window_limit as * const _ as usize } , 800usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position_window_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_loss_change_number as * const _ as usize } , 808usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_loss_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . heartbeats_received_counter as * const _ as usize } , 824usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( heartbeats_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_under_runs_counter as * const _ as usize } , 832usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_under_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_over_runs_counter as * const _ as usize } , 840usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_over_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . status_messages_sent_counter as * const _ as usize } , 848usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( status_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nak_messages_sent_counter as * const _ as usize } , 856usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nak_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_gap_fills_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_gap_fills_counter ) ) ) ; } extern "C" { pub fn aeron_publication_image_create ( image : * mut * mut aeron_publication_image_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , context : * mut aeron_driver_context_t , correlation_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , initial_term_offset : i32 , rcv_hwm_position : * mut aeron_position_t , rcv_pos_position : * mut aeron_position_t , congestion_control : * mut aeron_congestion_control_strategy_t , control_address : * mut sockaddr_storage , source_address : * mut sockaddr_storage , term_buffer_length : i32 , sender_mtu_length : i32 , loss_reporter : * mut aeron_loss_reporter_t , is_reliable : bool , is_sparse : bool , treat_as_multicast : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_close ( counters_manager : * mut aeron_counters_manager_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_clean_buffer_to ( image : * mut aeron_publication_image_t , position : i64 ) ; } extern "C" { pub fn aeron_publication_image_on_gap_detected ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) ; } extern "C" { pub fn aeron_publication_image_track_rebuild ( image : * mut aeron_publication_image_t , now_ns : i64 , status_message_timeout : i64 ) ; } extern "C" { pub fn aeron_publication_image_insert_packet ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , term_id : i32 , term_offset : i32 , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_on_rttm ( image : * mut aeron_publication_image_t , header : * mut aeron_rttm_header_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_status_message ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_loss ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_initiate_rttm ( image : * mut aeron_publication_image_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_destination ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_remove_destination ( image : * mut aeron_publication_image_t , channel : * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_connection_if_unknown ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , src_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_publication_image_on_time_event ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t , now_ns : i64 , now_ms : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_link_stct { pub resource : * mut aeron_driver_managed_resource_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_publication_link_t = aeron_publication_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_link_stct { pub counter_id : i32 , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_counter_link_t = aeron_counter_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct { pub reached_end_of_life : bool , pub closed_by_command : bool , pub client_id : i64 , pub client_liveness_timeout_ms : i64 , pub heartbeat_timestamp : aeron_atomic_counter_t , pub publication_links : aeron_client_stct_publication_link_stct , pub counter_links : aeron_client_stct_counter_link_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_publication_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_publication_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_counter_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_counter_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_counter_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . closed_by_command as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( closed_by_command ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_liveness_timeout_ms as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_liveness_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . heartbeat_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( heartbeat_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . publication_links as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( publication_links ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . counter_links as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( counter_links ) ) ) ; } pub type aeron_client_t = aeron_client_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_list_entry_stct { pub counter_id : i32 , pub subscribable : * mut aeron_subscribable_t , } # [ test ] fn bindgen_test_layout_aeron_subscribable_list_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_list_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_list_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . subscribable as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( subscribable ) ) ) ; } pub type aeron_subscribable_list_entry_t = aeron_subscribable_list_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct { pub channel : [ :: std :: os :: raw :: c_char ; 384usize ] , pub is_tether : bool , pub is_sparse : bool , pub is_reliable : bool , pub is_rejoin : bool , pub has_session_id : bool , pub group : aeron_inferable_boolean_t , pub stream_id : i32 , pub session_id : i32 , pub channel_length : i32 , pub registration_id : i64 , pub client_id : i64 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub spy_channel : * mut aeron_udp_channel_t , pub subscribable_list : aeron_subscription_link_stct_subscribable_list_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct_subscribable_list_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscribable_list_entry_t , } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct_subscribable_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_tether as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_sparse as * const _ as usize } , 385usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_reliable as * const _ as usize } , 386usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 387usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . has_session_id as * const _ as usize } , 388usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . group as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . stream_id as * const _ as usize } , 396usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . session_id as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel_length as * const _ as usize } , 404usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . client_id as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . endpoint as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . spy_channel as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( spy_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . subscribable_list as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( subscribable_list ) ) ) ; } pub type aeron_subscription_link_t = aeron_subscription_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_entry_stct { pub publication : * mut aeron_ipc_publication_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_ipc_publication_entry_t = aeron_ipc_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_network_publication_entry_t = aeron_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_entry_stct { pub endpoint : * mut aeron_send_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_send_channel_endpoint_entry_t = aeron_send_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_entry_stct { pub endpoint : * mut aeron_receive_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_receive_channel_endpoint_entry_t = aeron_receive_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_publication_image_entry_t = aeron_publication_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_linger_resource_entry_stct { pub has_reached_end_of_life : bool , pub buffer : * mut u8 , pub timeout_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_linger_resource_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_linger_resource_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_linger_resource_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . buffer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; } pub type aeron_linger_resource_entry_t = aeron_linger_resource_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct { pub context : * mut aeron_driver_context_t , pub to_driver_commands : aeron_mpsc_rb_t , pub to_clients : aeron_broadcast_transmitter_t , pub error_log : aeron_distinct_error_log_t , pub counters_manager : aeron_counters_manager_t , pub system_counters : aeron_system_counters_t , pub conductor_proxy : aeron_driver_conductor_proxy_t , pub loss_reporter : aeron_loss_reporter_t , pub name_resolver : aeron_name_resolver_t , pub send_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub receive_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub clients : aeron_driver_conductor_stct_client_stct , pub ipc_subscriptions : aeron_driver_conductor_stct_ipc_subscriptions_stct , pub ipc_publications : aeron_driver_conductor_stct_ipc_publication_stct , pub network_subscriptions : aeron_driver_conductor_stct_network_subscriptions_stct , pub spy_subscriptions : aeron_driver_conductor_stct_spy_subscriptions_stct , pub network_publications : aeron_driver_conductor_stct_network_publication_stct , pub send_channel_endpoints : aeron_driver_conductor_stct_send_channel_endpoint_stct , pub receive_channel_endpoints : aeron_driver_conductor_stct_receive_channel_endpoint_stct , pub publication_images : aeron_driver_conductor_stct_publication_image_stct , pub lingering_resources : aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct , pub errors_counter : * mut i64 , pub unblocked_commands_counter : * mut i64 , pub client_timeouts_counter : * mut i64 , pub clock_update_deadline_ns : i64 , pub next_session_id : i32 , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub time_of_last_timeout_check_ns : i64 , pub time_of_last_to_driver_position_change_ns : i64 , pub last_consumer_command_position : i64 , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_client_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_client_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_ipc_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_spy_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_spy_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_network_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_send_channel_endpoint_stct { pub array : * mut aeron_send_channel_endpoint_entry_t , pub length : size_t , pub capacity : size_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_receive_channel_endpoint_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_channel_endpoint_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_publication_image_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_linger_resource_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct > ( ) , 1000usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_driver_commands as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_driver_commands ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_clients as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . error_log as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . counters_manager as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . system_counters as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . name_resolver as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( name_resolver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoint_by_channel_map as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoint_by_channel_map as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clients as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_subscriptions as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_publications as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_subscriptions as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . spy_subscriptions as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( spy_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_publications as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoints as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoints as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_images as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . lingering_resources as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( lingering_resources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . errors_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . unblocked_commands_counter as * const _ as usize } , 872usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( unblocked_commands_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . client_timeouts_counter as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( client_timeouts_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clock_update_deadline_ns as * const _ as usize } , 888usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clock_update_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . next_session_id as * const _ as usize } , 896usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( next_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 900usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 904usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_timeout_check_ns as * const _ as usize } , 912usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_timeout_check_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_to_driver_position_change_ns as * const _ as usize } , 920usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_to_driver_position_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . last_consumer_command_position as * const _ as usize } , 928usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( last_consumer_command_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . padding as * const _ as usize } , 936usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_client_on_time_event ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_client_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t ) -> bool ; } extern "C" { pub fn aeron_client_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_client_t ) ; } extern "C" { pub fn aeron_ipc_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_ipc_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_ipc_publication_entry_t ) ; } extern "C" { pub fn aeron_network_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_network_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_network_publication_entry_t ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_send_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_receive_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_publication_image_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_publication_image_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t ) -> bool ; } extern "C" { pub fn aeron_publication_image_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_publication_image_entry_t ) ; } extern "C" { pub fn aeron_linger_resource_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_linger_resource_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t ) -> bool ; } extern "C" { pub fn aeron_linger_resource_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_linger_resource_entry_t ) ; } extern "C" { pub fn aeron_driver_conductor_image_transition_to_linger ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_conductor_init ( conductor : * mut aeron_driver_conductor_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_client_transmit ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_available_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , stream_id : i32 , session_id : i32 , log_file_name : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , subscriber_position_id : i32 , subscriber_registration_id : i64 , source_identity : * const :: std :: os :: raw :: c_char , source_identity_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , subscription_registration_id : i64 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_counter_ready ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_counter ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_client_timeout ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_spies ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_network_publication ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_command ( msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_link_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t , original_registration_id : i64 , session_id : i32 , stream_id : i32 , join_position : i64 , now_ns : i64 , source_identity_length : size_t , source_identity : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , log_file_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_unlink_subscribable ( link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t ) ; } extern "C" { pub fn aeron_driver_conductor_unlink_all_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_spy_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_keepalive ( conductor : * mut aeron_driver_conductor_t , client_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_delete_receive_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_delete_send_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_counter_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_close ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_correlated_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_terminate_driver ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_terminate_driver_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_create_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_linger_buffer ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_control ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_receive_endpoint_removed ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_find_send_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_send_channel_endpoint_t ; } extern "C" { pub fn aeron_driver_conductor_find_receive_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_receive_channel_endpoint_t ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_entry_stct { pub transport : * mut aeron_udp_channel_transport_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_entry_stct > ( ) ) ) . transport as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) , "::" , stringify ! ( transport ) ) ) ; } pub type aeron_udp_channel_transport_entry_t = aeron_udp_channel_transport_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct { pub transports : aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct { pub array : * mut aeron_udp_channel_transport_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . transports as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( transports ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_transport_poller_init ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_close ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_add ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_remove ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_poll ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_send_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_receive_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_driver_sender_network_publication_entry_t = aeron_driver_sender_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct { pub sender_proxy : aeron_driver_sender_proxy_t , pub poller : aeron_udp_transport_poller_t , pub network_publications : aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct , pub recv_buffers : aeron_driver_sender_stct_aeron_driver_sender_buffers_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub total_bytes_sent_counter : * mut i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub status_messages_received_counter : * mut i64 , pub nak_messages_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub status_message_read_timeout_ns : i64 , pub control_poll_timeout_ns : i64 , pub re_resolution_deadline_ns : i64 , pub round_robin_index : size_t , pub duty_cycle_counter : size_t , pub duty_cycle_ratio : size_t , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct { pub array : * mut aeron_driver_sender_network_publication_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct > ( ) , 624usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . network_publications as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . data_paths as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . total_bytes_sent_counter as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( total_bytes_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . errors_counter as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_messages_received_counter as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . nak_messages_received_counter as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( nak_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . context as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . error_log as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_message_read_timeout_ns as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_message_read_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . control_poll_timeout_ns as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( control_poll_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . round_robin_index as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( round_robin_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_counter as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_ratio as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . padding as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_driver_sender_init ( sender : * mut aeron_driver_sender_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_do_send ( sender : * mut aeron_driver_sender_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_proxy_stct { pub receiver : * mut aeron_driver_receiver_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . receiver as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_delete_cmd ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , cmd : * mut aeron_command_base_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_subscription_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub stream_id : i32 , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_subscription_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_subscription_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_subscription_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . session_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_command_subscription_t = aeron_command_subscription_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_add_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_add_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_add_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_add_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_add_rcv_destination_t = aeron_command_add_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_remove_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_remove_rcv_destination_t = aeron_command_remove_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_publication_image_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub image : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_publication_image_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . image as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_command_publication_image_t = aeron_command_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_cool_down_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_remove_cool_down_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_cool_down_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_cool_down_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . session_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . stream_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_command_remove_cool_down_t = aeron_command_remove_cool_down_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_cool_down ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , session_id : i32 , stream_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_receiver_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_receiver_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_receiver_resolution_change_t = aeron_command_receiver_resolution_change_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_resolution_change ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_driver_receiver_image_entry_t = aeron_driver_receiver_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_pending_setup_entry_stct { pub is_periodic : bool , pub session_id : i32 , pub stream_id : i32 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub destination : * mut aeron_receive_destination_t , pub time_of_status_message_ns : i64 , pub control_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_pending_setup_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . is_periodic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( is_periodic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . time_of_status_message_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( time_of_status_message_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . control_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( control_addr ) ) ) ; } pub type aeron_driver_receiver_pending_setup_entry_t = aeron_driver_receiver_pending_setup_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct { pub receiver_proxy : aeron_driver_receiver_proxy_t , pub poller : aeron_udp_transport_poller_t , pub recv_buffers : aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct , pub images : aeron_driver_receiver_stct_aeron_driver_receiver_images_stct , pub pending_setups : aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub re_resolution_deadline_ns : i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub total_bytes_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_images_stct { pub array : * mut aeron_driver_receiver_image_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct { pub array : * mut aeron_driver_receiver_pending_setup_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct > ( ) , 528usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . images as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . pending_setups as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( pending_setups ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . data_paths as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . context as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . error_log as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . errors_counter as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . total_bytes_received_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( total_bytes_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_init ( receiver : * mut aeron_driver_receiver_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_cool_down ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_add_pending_setup ( receiver : * mut aeron_driver_receiver_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , session_id : i32 , stream_id : i32 , control_addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_stct { pub context : * mut aeron_driver_context_t , pub conductor : aeron_driver_conductor_t , pub sender : aeron_driver_sender_t , pub receiver : aeron_driver_receiver_t , pub runners : [ aeron_agent_runner_t ; 3usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_stct > ( ) , 2400usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . conductor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . sender as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . receiver as * const _ as usize } , 1632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . runners as * const _ as usize } , 2160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( runners ) ) ) ; } extern "C" { pub fn aeron_is_driver_active_with_cnc ( cnc_map : * mut aeron_mapped_file_t , timeout_ms : i64 , now_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stderr] [INFO] [stderr] error: reference to packed field is unaligned [INFO] [stderr] --> /opt/rustwide/target/debug/build/libaeron_driver-sys-a8b4d3a9f05df5ef/out/bindings.rs:3:94585 [INFO] [stderr] | [INFO] [stderr] 3 | pub const AERON_NULL_VALUE : i32 = -1 ; pub const AERON_DIR_ENV_VAR : & 'static [ u8 ; 10usize ] = b"AERON_DIR\0" ; pub const AERON_DRIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_DRIVER_TIMEOUT\0" ; pub const AERON_CLIENT_RESOURCE_LINGER_DURATION_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_CLIENT_RESOURCE_LINGER_DURATION\0" ; pub const AERON_AGENT_ON_START_FUNCTION_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_AGENT_ON_START_FUNCTION\0" ; pub const AERON_PUBLICATION_NOT_CONNECTED : i32 = -1 ; pub const AERON_PUBLICATION_BACK_PRESSURED : i32 = -2 ; pub const AERON_PUBLICATION_ADMIN_ACTION : i32 = -3 ; pub const AERON_PUBLICATION_CLOSED : i32 = -4 ; pub const AERON_PUBLICATION_MAX_POSITION_EXCEEDED : i32 = -5 ; pub const AERON_PUBLICATION_ERROR : i32 = -6 ; pub const AERON_COMPILER_GCC : u32 = 1 ; pub const AERON_COMPILER_LLVM : u32 = 1 ; pub const AERON_CPU_X64 : u32 = 1 ; pub const AERON_CACHE_LINE_LENGTH : u32 = 64 ; pub const AERON_INIT_ONCE_VALUE : u32 = 0 ; pub const AERON_MAX_PATH : u32 = 384 ; pub const AERON_CHANNEL_STATUS_INDICATOR_NOT_ALLOCATED : i32 = -1 ; pub const AERON_URI_INVALID_TAG : i32 = -1 ; pub const AERON_DIR_WARN_IF_EXISTS_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_DIR_WARN_IF_EXISTS\0" ; pub const AERON_THREADING_MODE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_THREADING_MODE\0" ; pub const AERON_DIR_DELETE_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_DIR_DELETE_ON_START\0" ; pub const AERON_DIR_DELETE_ON_SHUTDOWN_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_DIR_DELETE_ON_SHUTDOWN\0" ; pub const AERON_TO_CONDUCTOR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_BUFFER_LENGTH\0" ; pub const AERON_TO_CLIENTS_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 28usize ] = b"AERON_CLIENTS_BUFFER_LENGTH\0" ; pub const AERON_COUNTERS_VALUES_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_COUNTERS_BUFFER_LENGTH\0" ; pub const AERON_ERROR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_ERROR_BUFFER_LENGTH\0" ; pub const AERON_CLIENT_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CLIENT_LIVENESS_TIMEOUT\0" ; pub const AERON_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_TERM_BUFFER_LENGTH\0" ; pub const AERON_IPC_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IPC_TERM_BUFFER_LENGTH\0" ; pub const AERON_TERM_BUFFER_SPARSE_FILE_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_TERM_BUFFER_SPARSE_FILE\0" ; pub const AERON_PERFORM_STORAGE_CHECKS_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_PERFORM_STORAGE_CHECKS\0" ; pub const AERON_SPIES_SIMULATE_CONNECTION_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SPIES_SIMULATE_CONNECTION\0" ; pub const AERON_FILE_PAGE_SIZE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_FILE_PAGE_SIZE\0" ; pub const AERON_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 17usize ] = b"AERON_MTU_LENGTH\0" ; pub const AERON_IPC_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_IPC_MTU_LENGTH\0" ; pub const AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_LINGER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_PUBLICATION_LINGER_TIMEOUT\0" ; pub const AERON_SOCKET_SO_RCVBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_RCVBUF\0" ; pub const AERON_SOCKET_SO_SNDBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_SNDBUF\0" ; pub const AERON_SOCKET_MULTICAST_TTL_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SOCKET_MULTICAST_TTL\0" ; pub const AERON_SEND_TO_STATUS_POLL_RATIO_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SEND_TO_STATUS_POLL_RATIO\0" ; pub const AERON_RCV_STATUS_MESSAGE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_RCV_STATUS_MESSAGE_TIMEOUT\0" ; pub const AERON_MULTICAST_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_min\0" ; pub const AERON_MULTICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_max\0" ; pub const AERON_MULTICAST_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 17usize ] = b"multicast_tagged\0" ; pub const AERON_UNICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 12usize ] = b"unicast_max\0" ; pub const AERON_MULTICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_MULTICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_UNICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_UNICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_IMAGE_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IMAGE_LIVENESS_TIMEOUT\0" ; pub const AERON_RCV_INITIAL_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RCV_INITIAL_WINDOW_LENGTH\0" ; pub const AERON_CONGESTIONCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_CONGESTIONCONTROL_SUPPLIER\0" ; pub const AERON_LOSS_REPORT_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_LOSS_REPORT_BUFFER_LENGTH\0" ; pub const AERON_PUBLICATION_UNBLOCK_TIMEOUT_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_PUBLICATION_UNBLOCK_TIMEOUT\0" ; pub const AERON_PUBLICATION_CONNECTION_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_CONNECTION_TIMEOUT\0" ; pub const AERON_TIMER_INTERVAL_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_TIMER_INTERVAL\0" ; pub const AERON_SENDER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SENDER_IDLE_STRATEGY\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_RECEIVER_IDLE_STRATEGY\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SHARED_IDLE_STRATEGY\0" ; pub const AERON_SENDER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SENDER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 39usize ] = b"AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 44usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_INIT_ARGS_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SHARED_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT\0" ; pub const AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 50usize ] = b"AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT\0" ; pub const AERON_FLOW_CONTROL_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_FLOW_CONTROL_GROUP_TAG\0" ; pub const AERON_FLOW_CONTROL_GROUP_MIN_SIZE_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_FLOW_CONTROL_GROUP_MIN_SIZE\0" ; pub const AERON_RECEIVER_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_RECEIVER_GROUP_TAG\0" ; pub const AERON_DRIVER_TERMINATION_VALIDATOR_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_DRIVER_TERMINATION_VALIDATOR\0" ; pub const AERON_PRINT_CONFIGURATION_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_PRINT_CONFIGURATION\0" ; pub const AERON_RELIABLE_STREAM_ENV_VAR : & 'static [ u8 ; 22usize ] = b"AERON_RELIABLE_STREAM\0" ; pub const AERON_TETHER_SUBSCRIPTIONS_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_TETHER_SUBSCRIPTIONS\0" ; pub const AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT\0" ; pub const AERON_UNTETHERED_RESTING_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_UNTETHERED_RESTING_TIMEOUT\0" ; pub const AERON_NAK_MULTICAST_GROUP_SIZE_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_NAK_MULTICAST_GROUP_SIZE\0" ; pub const AERON_NAK_MULTICAST_MAX_BACKOFF_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_NAK_MULTICAST_MAX_BACKOFF\0" ; pub const AERON_NAK_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 24usize ] = b"AERON_NAK_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_RETRANSMIT_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_LINGER_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RETRANSMIT_UNICAST_LINGER\0" ; pub const AERON_RECEIVER_GROUP_CONSIDERATION_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_RECEIVER_GROUP_CONSIDERATION\0" ; pub const AERON_REJOIN_STREAM_ENV_VAR : & 'static [ u8 ; 20usize ] = b"AERON_REJOIN_STREAM\0" ; pub const AERON_IPC_CHANNEL : & 'static [ u8 ; 10usize ] = b"aeron:ipc\0" ; pub const AERON_SPY_PREFIX : & 'static [ u8 ; 11usize ] = b"aeron-spy:\0" ; pub const AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA\0" ; pub const AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS\0" ; pub const AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_LOW_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_LOW\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH\0" ; pub const AERON_DRIVER_RESOLVER_NAME_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_DRIVER_RESOLVER_NAME\0" ; pub const AERON_DRIVER_RESOLVER_INTERFACE_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_DRIVER_RESOLVER_INTERFACE\0" ; pub const AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_NAME_RESOLVER_SUPPLIER\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_DEFAULT : & 'static [ u8 ; 8usize ] = b"default\0" ; pub const AERON_NAME_RESOLVER_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_NAME_RESOLVER_INIT_ARGS\0" ; pub const AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL\0" ; pub const AERON_UDP_CHANNEL_RELIABLE_KEY : & 'static [ u8 ; 9usize ] = b"reliable\0" ; pub const AERON_UDP_CHANNEL_TTL_KEY : & 'static [ u8 ; 4usize ] = b"ttl\0" ; pub const AERON_UDP_CHANNEL_ENDPOINT_KEY : & 'static [ u8 ; 9usize ] = b"endpoint\0" ; pub const AERON_UDP_CHANNEL_INTERFACE_KEY : & 'static [ u8 ; 10usize ] = b"interface\0" ; pub const AERON_UDP_CHANNEL_CONTROL_KEY : & 'static [ u8 ; 8usize ] = b"control\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_KEY : & 'static [ u8 ; 13usize ] = b"control-mode\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_MANUAL_VALUE : & 'static [ u8 ; 7usize ] = b"manual\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_DYNAMIC_VALUE : & 'static [ u8 ; 8usize ] = b"dynamic\0" ; pub const AERON_URI_INITIAL_TERM_ID_KEY : & 'static [ u8 ; 13usize ] = b"init-term-id\0" ; pub const AERON_URI_TERM_ID_KEY : & 'static [ u8 ; 8usize ] = b"term-id\0" ; pub const AERON_URI_TERM_OFFSET_KEY : & 'static [ u8 ; 12usize ] = b"term-offset\0" ; pub const AERON_URI_TERM_LENGTH_KEY : & 'static [ u8 ; 12usize ] = b"term-length\0" ; pub const AERON_URI_LINGER_TIMEOUT_KEY : & 'static [ u8 ; 7usize ] = b"linger\0" ; pub const AERON_URI_MTU_LENGTH_KEY : & 'static [ u8 ; 4usize ] = b"mtu\0" ; pub const AERON_URI_SPARSE_TERM_KEY : & 'static [ u8 ; 7usize ] = b"sparse\0" ; pub const AERON_URI_EOS_KEY : & 'static [ u8 ; 4usize ] = b"eos\0" ; pub const AERON_URI_TETHER_KEY : & 'static [ u8 ; 7usize ] = b"tether\0" ; pub const AERON_URI_TAGS_KEY : & 'static [ u8 ; 5usize ] = b"tags\0" ; pub const AERON_URI_SESSION_ID_KEY : & 'static [ u8 ; 11usize ] = b"session-id\0" ; pub const AERON_URI_GROUP_KEY : & 'static [ u8 ; 6usize ] = b"group\0" ; pub const AERON_URI_REJOIN_KEY : & 'static [ u8 ; 7usize ] = b"rejoin\0" ; pub const AERON_URI_FC_KEY : & 'static [ u8 ; 3usize ] = b"fc\0" ; pub const AERON_URI_GTAG_KEY : & 'static [ u8 ; 5usize ] = b"gtag\0" ; pub const AERON_URI_CC_KEY : & 'static [ u8 ; 3usize ] = b"cc\0" ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP4 : u32 = 4 ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP6 : u32 = 16 ; pub const AERON_FRAME_HEADER_VERSION : u32 = 0 ; pub const AERON_HDR_TYPE_PAD : u32 = 0 ; pub const AERON_HDR_TYPE_DATA : u32 = 1 ; pub const AERON_HDR_TYPE_NAK : u32 = 2 ; pub const AERON_HDR_TYPE_SM : u32 = 3 ; pub const AERON_HDR_TYPE_ERR : u32 = 4 ; pub const AERON_HDR_TYPE_SETUP : u32 = 5 ; pub const AERON_HDR_TYPE_RTTM : u32 = 6 ; pub const AERON_HDR_TYPE_RES : u32 = 7 ; pub const AERON_HDR_TYPE_EXT : u32 = 65535 ; pub const AERON_DATA_HEADER_DEFAULT_RESERVED_VALUE : u32 = 0 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD : u32 = 1 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD : u32 = 2 ; pub const AERON_FRAME_MAX_MESSAGE_LENGTH : u32 = 16777216 ; pub const AERON_LOGBUFFER_PARTITION_COUNT : u32 = 3 ; pub const AERON_LOGBUFFER_TERM_MIN_LENGTH : u32 = 65536 ; pub const AERON_LOGBUFFER_TERM_MAX_LENGTH : u32 = 1073741824 ; pub const AERON_PAGE_MIN_SIZE : u32 = 4096 ; pub const AERON_PAGE_MAX_SIZE : u32 = 1073741824 ; pub const AERON_LOGBUFFER_DEFAULT_FRAME_HEADER_MAX_LENGTH : u32 = 128 ; pub const AERON_MAX_UDP_PAYLOAD_LENGTH : u32 = 65504 ; pub const AERON_LOGBUFFER_FRAME_ALIGNMENT : u32 = 32 ; pub const AERON_LOG_META_DATA_SECTION_INDEX : u32 = 3 ; pub const AERON_PUBLICATIONS_DIR : & 'static [ u8 ; 13usize ] = b"publications\0" ; pub const AERON_IMAGES_DIR : & 'static [ u8 ; 7usize ] = b"images\0" ; pub const AERON_RB_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"max\0" ; pub const AERON_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"min\0" ; pub const AERON_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 7usize ] = b"tagged\0" ; pub const AERON_AGENT_STATE_UNUSED : u32 = 0 ; pub const AERON_AGENT_STATE_INITED : u32 = 1 ; pub const AERON_AGENT_STATE_STARTED : u32 = 2 ; pub const AERON_AGENT_STATE_MANUAL : u32 = 3 ; pub const AERON_AGENT_STATE_STOPPING : u32 = 4 ; pub const AERON_AGENT_STATE_STOPPED : u32 = 5 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_SPINS : u32 = 10 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_YIELDS : u32 = 20 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MIN_PARK_PERIOD_NS : u32 = 1000 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_PARK_PERIOD_NS : u32 = 1000000 ; pub const AERON_COUNTER_RECORD_UNUSED : u32 = 0 ; pub const AERON_COUNTER_RECORD_ALLOCATED : u32 = 1 ; pub const AERON_COUNTER_RECORD_RECLAIMED : i32 = -1 ; pub const AERON_NULL_COUNTER_ID : i32 = -1 ; pub const AERON_COUNTER_PUBLISHER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"pub-lmt\0" ; pub const AERON_COUNTER_PUBLISHER_LIMIT_TYPE_ID : u32 = 1 ; pub const AERON_COUNTER_SENDER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"snd-pos\0" ; pub const AERON_COUNTER_SENDER_POSITION_TYPE_ID : u32 = 2 ; pub const AERON_COUNTER_SENDER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"snd-lmt\0" ; pub const AERON_COUNTER_SENDER_LIMIT_TYPE_ID : u32 = 9 ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"sub-pos\0" ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_TYPE_ID : u32 = 4 ; pub const AERON_COUNTER_RECEIVER_HWM_NAME : & 'static [ u8 ; 8usize ] = b"rcv-hwm\0" ; pub const AERON_COUNTER_RECEIVER_HWM_TYPE_ID : u32 = 3 ; pub const AERON_COUNTER_RECEIVER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"rcv-pos\0" ; pub const AERON_COUNTER_RECEIVER_POSITION_TYPE_ID : u32 = 5 ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"snd-channel\0" ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_TYPE_ID : u32 = 6 ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"rcv-channel\0" ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_TYPE_ID : u32 = 7 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_INITIALIZING : u32 = 0 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_ERRORED : i32 = -1 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_NO_ID_ALLOCATED : i32 = -1 ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_NAME : & 'static [ u8 ; 17usize ] = b"client-heartbeat\0" ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_TYPE_ID : u32 = 11 ; pub const AERON_COUNTER_PUBLISHER_POSITION_NAME : & 'static [ u8 ; 18usize ] = b"pub-pos (sampled)\0" ; pub const AERON_COUNTER_PUBLISHER_POSITION_TYPE_ID : u32 = 12 ; pub const AERON_COUNTER_SENDER_BPE_NAME : & 'static [ u8 ; 8usize ] = b"snd-bpe\0" ; pub const AERON_COUNTER_SENDER_BPE_TYPE_ID : u32 = 13 ; pub const AERON_COUNTER_RCV_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"rcv-local-sockaddr\0" ; pub const AERON_COUNTER_SND_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"snd-local-sockaddr\0" ; pub const AERON_COUNTER_LOCAL_SOCKADDR_TYPE_ID : u32 = 14 ; pub const AERON_SYSTEM_COUNTER_TYPE_ID : u32 = 0 ; pub const AERON_NAME_RESOLVER_CSV_TABLE : & 'static [ u8 ; 10usize ] = b"csv_table\0" ; pub const AERON_NAME_RESOLVER_DRIVER : & 'static [ u8 ; 7usize ] = b"driver\0" ; pub const AERON_NAME_RESOLVER_CSV_TABLE_ARGS_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_NAME_RESOLVER_CSV_LOOKUP_TABLE_ARGS\0" ; pub const AERON_CNC_FILE : & 'static [ u8 ; 8usize ] = b"cnc.dat\0" ; pub const AERON_LOSS_REPORT_FILE : & 'static [ u8 ; 16usize ] = b"loss-report.dat\0" ; pub const AERON_COMMAND_QUEUE_CAPACITY : u32 = 256 ; pub const AERON_BROADCAST_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_COMMAND_ADD_PUBLICATION : u32 = 1 ; pub const AERON_COMMAND_REMOVE_PUBLICATION : u32 = 2 ; pub const AERON_COMMAND_ADD_EXCLUSIVE_PUBLICATION : u32 = 3 ; pub const AERON_COMMAND_ADD_SUBSCRIPTION : u32 = 4 ; pub const AERON_COMMAND_REMOVE_SUBSCRIPTION : u32 = 5 ; pub const AERON_COMMAND_CLIENT_KEEPALIVE : u32 = 6 ; pub const AERON_COMMAND_ADD_DESTINATION : u32 = 7 ; pub const AERON_COMMAND_REMOVE_DESTINATION : u32 = 8 ; pub const AERON_COMMAND_ADD_COUNTER : u32 = 9 ; pub const AERON_COMMAND_REMOVE_COUNTER : u32 = 10 ; pub const AERON_COMMAND_CLIENT_CLOSE : u32 = 11 ; pub const AERON_COMMAND_ADD_RCV_DESTINATION : u32 = 12 ; pub const AERON_COMMAND_REMOVE_RCV_DESTINATION : u32 = 13 ; pub const AERON_COMMAND_TERMINATE_DRIVER : u32 = 14 ; pub const AERON_RESPONSE_ON_ERROR : u32 = 3841 ; pub const AERON_RESPONSE_ON_AVAILABLE_IMAGE : u32 = 3842 ; pub const AERON_RESPONSE_ON_PUBLICATION_READY : u32 = 3843 ; pub const AERON_RESPONSE_ON_OPERATION_SUCCESS : u32 = 3844 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_IMAGE : u32 = 3845 ; pub const AERON_RESPONSE_ON_EXCLUSIVE_PUBLICATION_READY : u32 = 3846 ; pub const AERON_RESPONSE_ON_SUBSCRIPTION_READY : u32 = 3847 ; pub const AERON_RESPONSE_ON_COUNTER_READY : u32 = 3848 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_COUNTER : u32 = 3849 ; pub const AERON_RESPONSE_ON_CLIENT_TIMEOUT : u32 = 3850 ; pub const AERON_ERROR_CODE_UNKNOWN_CODE_VALUE : i32 = -1 ; pub const AERON_ERROR_CODE_GENERIC_ERROR : u32 = 0 ; pub const AERON_ERROR_CODE_INVALID_CHANNEL : u32 = 1 ; pub const AERON_ERROR_CODE_UNKNOWN_SUBSCRIPTION : u32 = 2 ; pub const AERON_ERROR_CODE_UNKNOWN_PUBLICATION : u32 = 3 ; pub const AERON_ERROR_CODE_CHANNEL_ENDPOINT_ERROR : u32 = 4 ; pub const AERON_ERROR_CODE_UNKNOWN_COUNTER : u32 = 5 ; pub const AERON_ERROR_CODE_UNKNOWN_COMMAND_TYPE_ID : u32 = 6 ; pub const AERON_ERROR_CODE_MALFORMED_COMMAND : u32 = 7 ; pub const AERON_ERROR_CODE_NOT_SUPPORTED : u32 = 8 ; pub const AERON_ERROR_CODE_UNKNOWN_HOST : u32 = 9 ; pub const AERON_ERROR_CODE_RESOURCE_TEMPORARILY_UNAVAILABLE : u32 = 10 ; pub const AERON_MAP_DEFAULT_LOAD_FACTOR : f64 = 0.55 ; pub const AERON_NETUTIL_FORMATTED_MAX_LENGTH : u32 = 54 ; pub const AERON_RETRANSMIT_HANDLER_MAX_RETRANSMITS : u32 = 16 ; pub const AERON_NETWORK_PUBLICATION_HEARTBEAT_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_SETUP_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_MAX_MESSAGES_PER_SEND : u32 = 2 ; pub const AERON_UDP_DESTINATION_TRACKER_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_SEND_CHANNEL_ENDPOINT_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_RECEIVE_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_LOSS_DETECTOR_TIMER_INACTIVE : i32 = -1 ; pub const AERON_LOSS_DETECTOR_NAK_UNICAST_DELAY_NS : u32 = 60000000 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_GROUP_SIZE : f64 = 10.0 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_MAX_BACKOFF_NS : f64 = 60000000.0 ; pub const AERON_LOSS_REPORTER_ENTRY_ALIGNMENT : u32 = 64 ; pub const AERON_DRIVER_CONDUCTOR_LINGER_RESOURCE_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_DRIVER_CONDUCTOR_CLOCK_UPDATE_DURATION_NS : u32 = 1000000 ; pub const AERON_UDP_TRANSPORT_POLLER_ITERATION_THRESHOLD : u32 = 5 ; pub const AERON_DRIVER_SENDER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_MAX_UDP_PACKET_LENGTH : u32 = 65536 ; pub const AERON_DRIVER_RECEIVER_PENDING_SETUP_TIMEOUT_NS : u32 = 1000000000 ; pub const AERON_AGENT_RUNNER_CONDUCTOR : u32 = 0 ; pub const AERON_AGENT_RUNNER_SENDER : u32 = 1 ; pub const AERON_AGENT_RUNNER_RECEIVER : u32 = 2 ; pub const AERON_AGENT_RUNNER_SHARED_NETWORK : u32 = 1 ; pub const AERON_AGENT_RUNNER_SHARED : u32 = 0 ; pub const AERON_AGENT_RUNNER_MAX : u32 = 3 ; pub type size_t = :: 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 __socklen_t = :: std :: os :: raw :: c_uint ; extern "C" { pub fn aeron_alloc_no_err ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc_aligned ( ptr : * mut * mut :: std :: os :: raw :: c_void , offset : * mut size_t , size : size_t , alignment : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_reallocf ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_free ( ptr : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_context_stct { _unused : [ u8 ; 0 ] , } pub type aeron_context_t = aeron_context_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stct { _unused : [ u8 ; 0 ] , } pub type aeron_t = aeron_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] pub type aeron_buffer_claim_t = aeron_buffer_claim_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_publication_t = aeron_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_exclusive_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_exclusive_publication_t = aeron_exclusive_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_header_stct { _unused : [ u8 ; 0 ] , } pub type aeron_header_t = aeron_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_stct { _unused : [ u8 ; 0 ] , } pub type aeron_subscription_t = aeron_subscription_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_t = aeron_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_stct { _unused : [ u8 ; 0 ] , } pub type aeron_counter_t = aeron_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_log_buffer_stct { _unused : [ u8 ; 0 ] , } pub type aeron_log_buffer_t = aeron_log_buffer_stct ; pub type aeron_counters_reader_t = aeron_counters_reader_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_registering_resource_stct { _unused : [ u8 ; 0 ] , } pub type aeron_async_add_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_exclusive_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_subscription_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_counter_t = aeron_client_registering_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_fragment_assembler_t = aeron_image_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_controlled_fragment_assembler_t = aeron_image_controlled_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_fragment_assembler_t = aeron_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_controlled_fragment_assembler_t = aeron_controlled_fragment_assembler_stct ; extern "C" { pub fn aeron_context_set_dir ( context : * mut aeron_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_dir ( context : * mut aeron_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_context_set_driver_timeout_ms ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_driver_timeout_ms ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_keepalive_interval_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_keepalive_interval_ns ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_resource_linger_duration_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_resource_linger_duration_ns ( context : * mut aeron_context_t ) -> u64 ; } # [ doc = " The error handler to be called when an error occurs." ] pub type aeron_error_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , errcode : :: std :: os :: raw :: c_int , message : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_error_handler ( context : * mut aeron_context_t , handler : aeron_error_handler_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_error_handler ( context : * mut aeron_context_t ) -> aeron_error_handler_t ; } extern "C" { pub fn aeron_context_get_error_handler_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_publication_t" ] # [ doc = " or aeron_exclusive_publication_t successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original add publication call" ] # [ doc = " @param channel of the publication" ] # [ doc = " @param stream_id within the channel of the publication" ] # [ doc = " @param session_id of the publication" ] # [ doc = " @param correlation_id used by the publication" ] pub type aeron_on_new_publication_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_publication_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_context_set_on_new_exclusive_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_subscription_t" ] # [ doc = " successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original aeron_add_async_subscription call" ] # [ doc = " @param channel of the subscirption" ] # [ doc = " @param stream_id within the channel of the subscription" ] # [ doc = " @param session_id of the subscription" ] # [ doc = " @param correlation_id used by the subscription" ] pub type aeron_on_new_subscription_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_subscription_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_subscription ( context : * mut aeron_context_t , handler : aeron_on_new_subscription_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_subscription ( context : * mut aeron_context_t ) -> aeron_on_new_subscription_t ; } extern "C" { pub fn aeron_context_get_on_new_subscription_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notifications that an aeron_image_t was added." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become available." ] pub type aeron_on_available_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; # [ doc = " Function called by aeron_client_t to deliver notifications than an aeron_image_t has been removed from use and" ] # [ doc = " should not be used any longer." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become unavailble." ] pub type aeron_on_unavailable_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; pub type aeron_on_available_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_unavailable_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_close_client_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Whether to use an invoker to control the conductor agent or spawn a thread." ] pub fn aeron_context_set_use_conductor_agent_invoker ( context : * mut aeron_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_use_conductor_agent_invoker ( context : * mut aeron_context_t ) -> bool ; } pub type aeron_agent_on_start_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , role_name : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_agent_on_start_function ( context : * mut aeron_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_agent_on_start_function ( context : * mut aeron_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_context_get_agent_on_start_state ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = " Create a aeron_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_init ( context : * mut * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_close ( context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_t client struct and initialize from the aeron_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_context_t struct will be used exclusively by the client. Do not reuse between clients." ] # [ doc = "" ] # [ doc = " @param aeron client to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_init ( client : * mut * mut aeron_t , context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_t. This may spawn a thread for the Client Conductor." ] # [ doc = "" ] # [ doc = " @param client to start." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_start ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Client must have been created with use conductor invoker set to true." ] # [ doc = "" ] # [ doc = " @param client to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_main_do_work ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor Idle Strategy." ] # [ doc = "" ] # [ doc = " @param client to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_main_idle_strategy ( client : * mut aeron_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_t struct." ] # [ doc = "" ] # [ doc = " @param client to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_close ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call stream_out to print the counter labels and values." ] # [ doc = "" ] # [ doc = " @param client to get the counters from" ] # [ doc = " @param stream_out to call for each label and value" ] pub fn aeron_print_counters ( client : * mut aeron_t , stream_out : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ) ; } extern "C" { # [ doc = " Return the aeron_context_t that is in use by the given client." ] # [ doc = "" ] # [ doc = " @param client to return the aeron_context_t for." ] # [ doc = " @return the aeron_context_t for the given client or NULL for an error." ] pub fn aeron_context ( client : * mut aeron_t ) -> * mut aeron_context_t ; } extern "C" { # [ doc = " Return the client id in use by the client." ] # [ doc = "" ] # [ doc = " @param client to return the client id for." ] # [ doc = " @return id value or -1 for an error." ] pub fn aeron_client_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Return a unique correlation id from the driver." ] # [ doc = "" ] # [ doc = " @param client to use to get the id." ] # [ doc = " @return unique correlation id or -1 for an error." ] pub fn aeron_next_correlation_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Asynchronously add a publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_publication ( async_ : * mut * mut aeron_async_add_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_publication_poll ( publication : * mut * mut aeron_publication_t , async_ : * mut aeron_async_add_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add an exclusive publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_exclusive_publication ( async_ : * mut * mut aeron_async_add_exclusive_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_exclusive_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_exclusive_publication_poll ( publication : * mut * mut aeron_exclusive_publication_t , async_ : * mut aeron_async_add_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add a subscription using the given client and return an object to use to determine when the" ] # [ doc = " subscription is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the subscription to." ] # [ doc = " @param uri for the channel of the subscription." ] # [ doc = " @param stream_id for the subscription." ] # [ doc = " @param on_available_image_handler to be called when images become available on the subscription." ] # [ doc = " @param on_available_image_clientd to be passed when images become available on the subscription." ] # [ doc = " @param on_unavailable_image_handler to be called when images go unavailable on the subscription." ] # [ doc = " @param on_available_image_clientd to be pacced when images go unavailable on the subscription." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_subscription ( async_ : * mut * mut aeron_async_add_subscription_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 , on_available_image_handler : aeron_on_available_image_t , on_available_image_clientd : * mut :: std :: os :: raw :: c_void , on_unavailable_image_handler : aeron_on_unavailable_image_t , on_unavailable_image_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_subscription call." ] # [ doc = "" ] # [ doc = " @param subscription to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_subscription_poll ( subscription : * mut * mut aeron_subscription_t , async_ : * mut aeron_async_add_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return a reference to the counters reader of the given client." ] # [ doc = "" ] # [ doc = " The aeron_counters_reader_t is maintained by the client. And should not be freed." ] # [ doc = "" ] # [ doc = " @param client that contains the counters reader." ] # [ doc = " @return aeron_counters_reader_t or NULL for error." ] pub fn aeron_counters_reader ( client : * mut aeron_t ) -> * mut aeron_counters_reader_t ; } extern "C" { # [ doc = " Asynchronously add a counter using the given client and return an object to use to determine when the" ] # [ doc = " counter is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the counter to." ] # [ doc = " @param type_id for the counter." ] # [ doc = " @param key_buffer for the counter." ] # [ doc = " @param key_buffer_length for the counter." ] # [ doc = " @param label_buffer for the counter." ] # [ doc = " @param label_buffer_length for the counter." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_counter ( async_ : * mut * mut aeron_async_add_counter_t , client : * mut aeron_t , type_id : i32 , key_buffer : * const u8 , key_buffer_length : size_t , label_buffer : * const :: std :: os :: raw :: c_char , label_buffer_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_counter call." ] # [ doc = "" ] # [ doc = " @param counter to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_counter_poll ( counter : * mut * mut aeron_counter_t , async_ : * mut aeron_async_add_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Function called by aeron_counters_reader_foreach_counter for each counter in the aeron_counters_reader_t." ] # [ doc = "" ] # [ doc = " @param value of the counter." ] # [ doc = " @param id of the counter." ] # [ doc = " @param label for the counter." ] # [ doc = " @param label_length for the counter." ] # [ doc = " @param clientd to be returned in the call" ] pub type aeron_counters_reader_foreach_counter_func_t = :: std :: option :: Option < unsafe extern "C" fn ( value : i64 , id : i32 , label : * const :: std :: os :: raw :: c_char , label_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Iterate over the coounters in the counters_reader and call the given function for each counter." ] # [ doc = "" ] # [ doc = " @param counters_reader to iterate over." ] # [ doc = " @param func to call for each counter." ] # [ doc = " @param clientd to pass for each call to func." ] pub fn aeron_counters_reader_foreach_counter ( counters_reader : * mut aeron_counters_reader_t , func : aeron_counters_reader_foreach_counter_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } # [ doc = " Function called when filling in the reserved value field of a message." ] # [ doc = "" ] # [ doc = " @param clientd passed to the offer function." ] # [ doc = " @param buffer of the entire frame, including Aeron data header." ] # [ doc = " @param frame_length of the enture frame." ] pub type aeron_reserved_value_supplier_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , frame_length : size_t ) -> i64 > ; # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_iovec_stct { pub iov_base : * mut u8 , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_aeron_iovec_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_iovec_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_iovec_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_len ) ) ) ; } # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] pub type aeron_iovec_t = aeron_iovec_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_buffer_claim_stct { pub frame_header : * mut u8 , pub data : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_buffer_claim_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_buffer_claim_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_buffer_claim_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( length ) ) ) ; } extern "C" { # [ doc = " Commit the given buffer_claim as a complete message available for consumption." ] # [ doc = "" ] # [ doc = " @param buffer_claim to commit." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_commit ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Abort the given buffer_claim and assign its position as padding." ] # [ doc = "" ] # [ doc = " @param buffer_claim to abort." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_abort ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offer ( publication : * mut aeron_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offerv ( publication : * mut aeron_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_publication_try_claim ( publication : * mut aeron_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { pub fn aeron_publication_channel_status ( publication : * mut aeron_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_add_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_remove_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_close ( publication : * mut aeron_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offerv ( publication : * mut aeron_exclusive_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_try_claim ( publication : * mut aeron_exclusive_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { # [ doc = " Append a padding record log of a given length to make up the log to a position." ] # [ doc = "" ] # [ doc = " @param length of the range to claim, in bytes." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_append_padding ( publication : * mut aeron_exclusive_publication_t , length : size_t ) -> i64 ; } extern "C" { # [ doc = " Offer a block of pre-formatted message fragments directly into the current term." ] # [ doc = "" ] # [ doc = " @param buffer containing the pre-formatted block of message fragments." ] # [ doc = " @param offset offset in the buffer at which the first fragment begins." ] # [ doc = " @param length in bytes of the encoded block." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer_block ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_channel_status ( publication : * mut aeron_exclusive_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_add_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_remove_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_close ( publication : * mut aeron_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " The frame will either contain a whole message or a fragment of a message to be reassembled. Messages are fragmented" ] # [ doc = " if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub type aeron_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) > ; # [ doc = " Abort the current polling operation and do not advance the position for this fragment." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_ABORT : aeron_controlled_fragment_handler_action_en = 0 ; # [ doc = " Break from the current polling operation and commit the position as of the end of the current fragment" ] # [ doc = " being handled." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_BREAK : aeron_controlled_fragment_handler_action_en = 1 ; # [ doc = " Continue processing but commit the position as of the end of the current fragment so that" ] # [ doc = " flow control is applied to this point." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_COMMIT : aeron_controlled_fragment_handler_action_en = 2 ; # [ doc = " Continue processing until fragment limit or no fragments with position commit at end of poll as in" ] # [ doc = " aeron_fragment_handler_t." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_CONTINUE : aeron_controlled_fragment_handler_action_en = 3 ; pub type aeron_controlled_fragment_handler_action_en = u32 ; pub use self :: aeron_controlled_fragment_handler_action_en as aeron_controlled_fragment_handler_action_t ; # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " Handler for reading data that is coming from a log buffer. The frame will either contain a whole message" ] # [ doc = " or a fragment of a message to be reassembled. Messages are fragmented if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the controlled poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub type aeron_controlled_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t > ; # [ doc = " Callback for handling a block of messages being read from a log." ] # [ doc = "" ] # [ doc = " @param clientd passed to the block poll function." ] # [ doc = " @param buffer containing the block of message fragments." ] # [ doc = " @param offset at which the block begins, including any frame headers." ] # [ doc = " @param length of the block in bytes, including any frame headers that is aligned." ] # [ doc = " @param session_id of the stream containing this block of message fragments." ] # [ doc = " @param term_id of the stream containing this block of message fragments." ] pub type aeron_block_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , session_id : i32 , term_id : i32 ) > ; extern "C" { # [ doc = " Poll the images under the subscription for available message fragments." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_fragment_asssembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_poll ( subscription : * mut aeron_subscription_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll in a controlled manner the images under the subscription for available message fragments." ] # [ doc = " Control is applied to fragments in the stream. If more fragments can be read on another stream" ] # [ doc = " they will even if BREAK or ABORT is returned from the fragment handler." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_controlled_fragment_assembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_controlled_poll ( subscription : * mut aeron_subscription_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the images under the subscription for available message fragments in blocks." ] # [ doc = "

" ] # [ doc = " This method is useful for operations like bulk archiving and messaging indexing." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler to receive a block of fragments from each image." ] # [ doc = " @param block_length_limit for each image polled." ] # [ doc = " @return the number of bytes consumed or -1 for error." ] pub fn aeron_subscription_block_poll ( subscription : * mut aeron_subscription_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ doc = " Is this subscription connected by having at least one open publication image." ] # [ doc = "" ] # [ doc = " @param subscription to check." ] # [ doc = " @return true if this subscription connected by having at least one open publication image." ] pub fn aeron_subscription_is_connected ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { # [ doc = " Count of images associated to this subscription." ] # [ doc = "" ] # [ doc = " @param subscription to count images for." ] # [ doc = " @return count of count associated to this subscription or -1 for error." ] pub fn aeron_subscription_image_count ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the image associated with the given session_id under the given subscription." ] # [ doc = "" ] # [ doc = " Note: the returned image is considered retained by the application and thus must be released via" ] # [ doc = " aeron_image_release when finished or if the image becomes unavailable." ] # [ doc = "" ] # [ doc = " @param subscription to search." ] # [ doc = " @param session_id associated with the image." ] # [ doc = " @return image associated with the given session_id or NULL if no image exists." ] pub fn aeron_subscription_image_by_session_id ( subscription : * mut aeron_subscription_t , session_id : i32 ) -> * mut aeron_image_t ; } extern "C" { # [ doc = " Iterate over the images for this subscription calling the given function." ] # [ doc = "" ] # [ doc = " @param subscription to iterate over." ] # [ doc = " @param handler to be called for each image." ] pub fn aeron_subscription_for_each_image ( subscription : * mut aeron_subscription_t , handler : :: std :: option :: Option < unsafe extern "C" fn ( image : * mut aeron_image_t ) > ) ; } extern "C" { pub fn aeron_subscription_is_closed ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { pub fn aeron_subscription_channel_status ( subscription : * mut aeron_subscription_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_add_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination from a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_remove_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the subscription." ] # [ doc = "" ] # [ doc = " @param subscription to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_subscription_close ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Retain the given image for access in the application." ] # [ doc = "" ] # [ doc = " Note: A retain call must have a corresponding release call." ] # [ doc = "" ] # [ doc = " @param image to retain" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_retain ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Release the given image and relinquish desire to use the image directly." ] # [ doc = "" ] # [ doc = " Note: Images are not threadsafe and should not be shared between subscribers." ] # [ doc = "" ] # [ doc = " @param image to release" ] # [ doc = " @return 0 for succes and -1 for error." ] pub fn aeron_image_release ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The position this image has been consumed to by the subscriber." ] # [ doc = "" ] # [ doc = " @param image to query position of." ] # [ doc = " @return the position this image has been consumed to by the subscriber." ] pub fn aeron_image_position ( image : * mut aeron_image_t ) -> i64 ; } extern "C" { # [ doc = " Set the subscriber position for this image to indicate where it has been consumed to." ] # [ doc = "" ] # [ doc = " @param image to set the position of." ] # [ doc = " @param new_position for the consumption point." ] pub fn aeron_image_set_position ( image : * mut aeron_image_t , position : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Peek for new messages in a stream by scanning forward from an initial position. If new messages are found then" ] # [ doc = " they will be delivered to the handler up to a limited position." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments. Scans must also" ] # [ doc = " start at the beginning of a message so that the assembler is reset." ] # [ doc = "" ] # [ doc = " @param image to peek." ] # [ doc = " @param initial_position from which to peek forward." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position up to which can be scanned." ] # [ doc = " @return the resulting position after the scan terminates which is a complete message or -1 for error." ] pub fn aeron_image_controlled_peek ( image : * mut aeron_image_t , initial_position : i64 , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 ) -> i64 ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of bytes." ] # [ doc = "

" ] # [ doc = " A scan will terminate if a padding frame is encountered. If first frame in a scan is padding then a block" ] # [ doc = " for the padding is notified. If the padding comes after the first frame in a scan then the scan terminates" ] # [ doc = " at the offset the padding frame begins. Padding frames are delivered singularly in a block." ] # [ doc = "

" ] # [ doc = " Padding frames may be for a greater range than the limit offset but only the header needs to be valid so" ] # [ doc = " relevant length of the frame is data header length." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which block is delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param block_length_limit up to which a block may be in length." ] # [ doc = " @return the number of bytes that have been consumed or -1 for error." ] pub fn aeron_image_block_poll ( image : * mut aeron_image_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_image_is_closed ( image : * mut aeron_image_t ) -> bool ; } extern "C" { # [ doc = " Create an image fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_fragment_assembler_create ( assembler : * mut * mut aeron_image_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_fragment_assembler_delete ( assembler : * mut aeron_image_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create an image controlled fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_image_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_delete ( assembler : * mut aeron_image_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Create a fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_fragment_assembler_create ( assembler : * mut * mut aeron_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_fragment_assembler_delete ( assembler : * mut aeron_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create a controlled fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_controlled_fragment_assembler_delete ( assembler : * mut aeron_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Return a pointer to the counter value." ] # [ doc = "" ] # [ doc = " @param counter to pointer to." ] # [ doc = " @return pointer to the counter value." ] pub fn aeron_counter_addr ( counter : * mut aeron_counter_t ) -> * mut i64 ; } extern "C" { # [ doc = " Asynchronously close the counter." ] # [ doc = "" ] # [ doc = " @param counter to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_counter_close ( counter : * mut aeron_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return full version and build string." ] # [ doc = "" ] # [ doc = " @return full version and build string." ] pub fn aeron_version_full ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = " Return major version number." ] # [ doc = "" ] # [ doc = " @return major version number." ] pub fn aeron_version_major ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return minor version number." ] # [ doc = "" ] # [ doc = " @return minor version number." ] pub fn aeron_version_minor ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return patch version number." ] # [ doc = "" ] # [ doc = " @return patch version number." ] pub fn aeron_version_patch ( ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Clock function used by aeron." ] pub type aeron_clock_func_t = :: std :: option :: Option < unsafe extern "C" fn ( ) -> i64 > ; extern "C" { # [ doc = " Return time in nanoseconds for machine. Is not wall clock time." ] # [ doc = "" ] # [ doc = " @return nanoseconds since epoch for machine." ] pub fn aeron_nano_clock ( ) -> i64 ; } extern "C" { # [ doc = " Return time in milliseconds since epoch. Is wall clock time." ] # [ doc = "" ] # [ doc = " @return milliseconds since epoch." ] pub fn aeron_epoch_clock ( ) -> i64 ; } # [ doc = " Function to return logging information." ] pub type aeron_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ; extern "C" { # [ doc = " Determine if an aeron driver is using a given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname for aeron directory" ] # [ doc = " @param timeout_ms to use to determine activity for aeron directory" ] # [ doc = " @param log_func to call during activity check to log diagnostic information." ] # [ doc = " @return true for active driver or false for no active driver." ] pub fn aeron_is_driver_active ( dirname : * const :: std :: os :: raw :: c_char , timeout_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } extern "C" { # [ doc = " Load properties from a string containing name=value pairs and set appropriate environment variables for the" ] # [ doc = " process so that subsequent calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param buffer containing properties and values." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_buffer_load ( buffer : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties file and set appropriate environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param filename to load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_file_load ( filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties from HTTP URL and set environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param url to attempt to retrieve and load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_http_load ( url : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties based on URL or filename. If string contains file or http URL, it will attempt" ] # [ doc = " to load properties from a file or http as indicated. If not a URL, then it will try to load the string" ] # [ doc = " as a filename." ] # [ doc = "" ] # [ doc = " @param url_or_filename to load properties from." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_load ( url_or_filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return current aeron error code (errno) for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error code for calling thread." ] pub fn aeron_errcode ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the current aeron error message for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error message for calling thread." ] pub fn aeron_errmsg ( ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_clock_cache_stct { _unused : [ u8 ; 0 ] , } # [ doc = " Opaque reference to a cached clock instance." ] pub type aeron_clock_cache_t = aeron_clock_cache_stct ; extern "C" { # [ doc = " Update the cached clock with the current epoch and nano time values." ] # [ doc = "" ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @param epoch_time current ms since epoch." ] # [ doc = " @param nano_time current ns time." ] pub fn aeron_clock_update_cached_time ( cached_time : * mut aeron_clock_cache_t , epoch_time : i64 , nano_time : i64 ) ; } extern "C" { # [ doc = " Retrieves the cached epoch time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the epoch time." ] pub fn aeron_clock_cached_epoch_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Retrieves the cached nano time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the nano time." ] pub fn aeron_clock_cached_nano_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Allocate a cached clock" ] # [ doc = " @param cached_time Pointer to the pointer to be initialised with the new cached clock" ] # [ doc = " @return -1 if allocation fails, e.g. out of memory." ] pub fn aeron_clock_cache_alloc ( cached_time : * mut * mut aeron_clock_cache_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Free a cached clock." ] # [ doc = " @param cached_time" ] pub fn aeron_clock_cache_free ( cached_time : * mut aeron_clock_cache_t ) ; } extern "C" { pub fn aeron_randomised_int32 ( ) -> i32 ; } extern "C" { pub fn aeron_thread_set_name ( role_name : * const :: std :: os :: raw :: c_char ) ; } pub type aeron_mutex_t = pthread_mutex_t ; pub type aeron_thread_t = pthread_t ; extern "C" { pub fn aeron_nano_sleep ( nanoseconds : u64 ) ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_log_entry_stct { pub length : i32 , pub observation_count : i32 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , } # [ test ] fn bindgen_test_layout_aeron_error_log_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_log_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_log_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; } pub type aeron_error_log_entry_t = aeron_error_log_entry_stct ; pub type aeron_resource_linger_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , resource : * mut u8 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_observation_stct { pub description : * const :: std :: os :: raw :: c_char , pub error_code : :: std :: os :: raw :: c_int , pub offset : size_t , pub description_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_observation_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_observation_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_observation_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description_length ) ) ) ; } pub type aeron_distinct_observation_t = aeron_distinct_observation_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_observation_list_stct { pub num_observations : u64 , pub observations : * mut aeron_distinct_observation_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_observation_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . num_observations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( num_observations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . observations as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( observations ) ) ) ; } pub type aeron_distinct_error_log_observation_list_t = aeron_distinct_error_log_observation_list_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_stct { pub buffer : * mut u8 , pub observation_list : * mut aeron_distinct_error_log_observation_list_t , pub buffer_capacity : size_t , pub next_offset : size_t , pub clock : aeron_clock_func_t , pub linger_resource : aeron_resource_linger_func_t , pub linger_resource_clientd : * mut :: std :: os :: raw :: c_void , pub mutex : aeron_mutex_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_stct > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . observation_list as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( observation_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer_capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer_capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . next_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( next_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource_clientd as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . mutex as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( mutex ) ) ) ; } pub type aeron_distinct_error_log_t = aeron_distinct_error_log_stct ; extern "C" { pub fn aeron_distinct_error_log_init ( log : * mut aeron_distinct_error_log_t , buffer : * mut u8 , buffer_size : size_t , clock : aeron_clock_func_t , linger : aeron_resource_linger_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_distinct_error_log_close ( log : * mut aeron_distinct_error_log_t ) ; } extern "C" { pub fn aeron_distinct_error_log_record ( log : * mut aeron_distinct_error_log_t , error_code : :: std :: os :: raw :: c_int , description : * const :: std :: os :: raw :: c_char , message : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub type aeron_error_log_reader_func_t = :: std :: option :: Option < unsafe extern "C" fn ( observation_count : i32 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , error : * const :: std :: os :: raw :: c_char , error_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_error_log_exists ( buffer : * const u8 , buffer_size : size_t ) -> bool ; } extern "C" { pub fn aeron_error_log_read ( buffer : * const u8 , buffer_size : size_t , reader : aeron_error_log_reader_func_t , clientd : * mut :: std :: os :: raw :: c_void , since_timestamp : i64 ) -> size_t ; } extern "C" { pub fn aeron_distinct_error_log_num_observations ( log : * mut aeron_distinct_error_log_t ) -> size_t ; } pub type aeron_idle_strategy_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) > ; pub type aeron_idle_strategy_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , init_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_managed_resource_stct { pub registration_id : i64 , pub time_of_last_state_change : i64 , pub clientd : * mut :: std :: os :: raw :: c_void , pub decref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub incref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_managed_resource_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_managed_resource_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_managed_resource_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . time_of_last_state_change as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( time_of_last_state_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . decref as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( decref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . incref as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( incref ) ) ) ; } pub type aeron_driver_managed_resource_t = aeron_driver_managed_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_position_stct { pub counter_id : i32 , pub value_addr : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_position_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; } pub type aeron_position_t = aeron_position_stct ; pub type aeron_atomic_counter_t = aeron_position_stct ; pub mod aeron_subscription_tether_state_enum { pub type Type = u32 ; pub const AERON_SUBSCRIPTION_TETHER_ACTIVE : Type = 0 ; pub const AERON_SUBSCRIPTION_TETHER_LINGER : Type = 1 ; pub const AERON_SUBSCRIPTION_TETHER_RESTING : Type = 2 ; } pub use self :: aeron_subscription_tether_state_enum :: Type as aeron_subscription_tether_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_tetherable_position_stct { pub is_tether : bool , pub state : aeron_subscription_tether_state_t , pub counter_id : i32 , pub value_addr : * mut i64 , pub subscription_registration_id : i64 , pub time_of_last_update_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_tetherable_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_tetherable_position_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_tetherable_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . is_tether as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . time_of_last_update_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( time_of_last_update_ns ) ) ) ; } pub type aeron_tetherable_position_t = aeron_tetherable_position_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_tetherable_position_t , pub add_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub remove_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_subscribable_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . add_position_hook_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( add_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . remove_position_hook_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( remove_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . clientd as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( clientd ) ) ) ; } pub type aeron_subscribable_t = aeron_subscribable_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_base_stct { pub func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) > , pub item : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_base_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_base_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_base_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . item as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( item ) ) ) ; } pub type aeron_command_base_t = aeron_command_base_stct ; pub type aeron_feedback_delay_generator_state_t = aeron_feedback_delay_generator_state_stct ; pub type aeron_feedback_delay_generator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct { pub static_delay : aeron_feedback_delay_generator_state_stct_static_delay_stct , pub optimal_delay : aeron_feedback_delay_generator_state_stct_optimal_delay_stct , pub should_immediate_feedback : bool , pub delay_generator : aeron_feedback_delay_generator_func_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_static_delay_stct { pub delay_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_static_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) ) ) . delay_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) , "::" , stringify ! ( delay_ns ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_optimal_delay_stct { pub rand_max : f64 , pub base_x : f64 , pub constant_t : f64 , pub factor_t : f64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_optimal_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . rand_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( rand_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . base_x as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( base_x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . constant_t as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( constant_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . factor_t as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( factor_t ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . static_delay as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( static_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . optimal_delay as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( optimal_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . should_immediate_feedback as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( should_immediate_feedback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . delay_generator as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( delay_generator ) ) ) ; } extern "C" { pub fn aeron_driver_subscribable_remove_position ( subscribable : * mut aeron_subscribable_t , counter_id : i32 ) ; } extern "C" { pub fn aeron_command_on_delete_cmd ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } pub type aeron_driver_context_t = aeron_driver_context_stct ; pub type aeron_driver_t = aeron_driver_stct ; extern "C" { pub fn aeron_driver_context_set_dir ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_dir_warn_if_exists ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_warn_if_exists ( context : * mut aeron_driver_context_t ) -> bool ; } pub mod aeron_threading_mode_enum { pub type Type = u32 ; pub const AERON_THREADING_MODE_DEDICATED : Type = 0 ; pub const AERON_THREADING_MODE_SHARED_NETWORK : Type = 1 ; pub const AERON_THREADING_MODE_SHARED : Type = 2 ; pub const AERON_THREADING_MODE_INVOKER : Type = 3 ; } pub use self :: aeron_threading_mode_enum :: Type as aeron_threading_mode_t ; extern "C" { pub fn aeron_driver_context_set_threading_mode ( context : * mut aeron_driver_context_t , mode : aeron_threading_mode_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_threading_mode ( context : * mut aeron_driver_context_t ) -> aeron_threading_mode_t ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_start ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_start ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_to_conductor_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_conductor_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_to_clients_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_clients_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_counters_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_error_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_error_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_sparse_file ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_sparse_file ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_perform_storage_checks ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_perform_storage_checks ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_spies_simulate_connection ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_spies_simulate_connection ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_file_page_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_file_page_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_socket_so_rcvbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_rcvbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_so_sndbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_sndbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_multicast_ttl ( context : * mut aeron_driver_context_t , value : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_multicast_ttl ( context : * mut aeron_driver_context_t ) -> u8 ; } extern "C" { pub fn aeron_driver_context_set_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub type aeron_flow_control_strategy_t = aeron_flow_control_strategy_stct ; pub type aeron_udp_channel_t = aeron_udp_channel_stct ; pub type aeron_flow_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { # [ doc = " Return a flow control strategy supplier function pointer associated with the given name. This only will find" ] # [ doc = " strategies built into the driver and will not try to dynamically load nor find any in the current executable." ] # [ doc = "" ] # [ doc = " @param name of the strategy" ] # [ doc = " @return function pointer to supplier associated with the name" ] pub fn aeron_flow_control_strategy_supplier_by_name ( name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_rcv_initial_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_initial_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } pub type aeron_congestion_control_strategy_t = aeron_congestion_control_strategy_stct ; pub type aeron_counters_manager_t = aeron_counters_manager_stct ; pub type aeron_congestion_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_congestioncontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_congestion_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_congestioncontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_loss_report_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_loss_report_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_timer_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_timer_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_agent_on_start_function ( context : * mut aeron_driver_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_function ( context : * mut aeron_driver_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_tag ( context : * mut aeron_driver_context_t , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_tag ( context : * mut aeron_driver_context_t ) -> i64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_min_size ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_min_size ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_receiver_group_tag ( context : * mut aeron_driver_context_t , is_present : bool , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_is_present ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_value ( context : * mut aeron_driver_context_t ) -> i64 ; } pub type aeron_driver_termination_validator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : i32 ) -> bool > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_validator ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_validator_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_validator_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } pub type aeron_driver_termination_hook_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_hook ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_hook_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_hook_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_print_configuration ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_print_configuration ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_reliable_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_reliable_stream ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_tether_subscriptions ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_tether_subscriptions ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_driver_timeout_ms ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_timeout_ms ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_group_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_group_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub mod aeron_inferable_boolean_enum { pub type Type = u32 ; pub const AERON_FORCE_FALSE : Type = 0 ; pub const AERON_FORCE_TRUE : Type = 1 ; pub const AERON_INFER : Type = 2 ; } pub use self :: aeron_inferable_boolean_enum :: Type as aeron_inferable_boolean_t ; extern "C" { pub fn aeron_driver_context_set_receiver_group_consideration ( context : * mut aeron_driver_context_t , value : aeron_inferable_boolean_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_consideration ( context : * mut aeron_driver_context_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_set_rejoin_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rejoin_stream ( context : * mut aeron_driver_context_t ) -> bool ; } pub type aeron_udp_channel_transport_bindings_t = aeron_udp_channel_transport_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_transport_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_t = aeron_udp_channel_interceptor_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t ) -> i32 ; } pub type aeron_name_resolver_t = aeron_name_resolver_stct ; pub type aeron_name_resolver_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_resolver_name ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_name ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_interface ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_interface ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_supplier ( context : * mut aeron_driver_context_t , value : aeron_name_resolver_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_supplier ( context : * mut aeron_driver_context_t ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { # [ doc = " Create a aeron_driver_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_init ( context : * mut * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_close ( context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_driver_t struct and initialize from the aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_driver_context_t struct will be used exclusively by the driver. Do not reuse between drivers." ] # [ doc = "" ] # [ doc = " @param driver to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_init ( driver : * mut * mut aeron_driver_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_driver_t given the threading mode. This may spawn threads for the Sender, Receiver, and Conductor" ] # [ doc = " depending on threading mode used." ] # [ doc = "" ] # [ doc = " @param driver to start." ] # [ doc = " @param manual_main_loop to be called by the caller for the Conductor do_work cycle." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_start ( driver : * mut aeron_driver_t , manual_main_loop : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Driver must have been created with manual_main_loop set to true." ] # [ doc = "" ] # [ doc = " @param driver to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_main_do_work ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) Idle Strategy." ] # [ doc = "" ] # [ doc = " @param driver to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_driver_main_idle_strategy ( driver : * mut aeron_driver_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_driver_t struct." ] # [ doc = "" ] # [ doc = " @param driver to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_close ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete the given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname to delete." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_delete_directory ( dirname : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_param_stct { pub key : * const :: std :: os :: raw :: c_char , pub value : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_aeron_uri_param_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_param_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_param_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . key as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( value ) ) ) ; } pub type aeron_uri_param_t = aeron_uri_param_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_params_stct { pub length : size_t , pub array : * mut aeron_uri_param_t , } # [ test ] fn bindgen_test_layout_aeron_uri_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . array as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( array ) ) ) ; } pub type aeron_uri_params_t = aeron_uri_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_publication_params_stct { pub has_position : bool , pub is_sparse : bool , pub signal_eos : bool , pub mtu_length : size_t , pub term_length : size_t , pub term_offset : size_t , pub initial_term_id : i32 , pub term_id : i32 , pub linger_timeout_ns : u64 , pub has_session_id : bool , pub session_id : i32 , pub entity_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_uri_publication_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_publication_params_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_publication_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_position as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . signal_eos as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . mtu_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . session_id as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; } pub type aeron_uri_publication_params_t = aeron_uri_publication_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_subscription_params_stct { pub is_reliable : bool , pub is_sparse : bool , pub is_tether : bool , pub is_rejoin : bool , pub group : aeron_inferable_boolean_t , pub has_session_id : bool , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_uri_subscription_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_subscription_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_subscription_params_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_tether as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . group as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_uri_subscription_params_t = aeron_uri_subscription_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_params_stct { pub endpoint : * const :: std :: os :: raw :: c_char , pub bind_interface : * const :: std :: os :: raw :: c_char , pub control : * const :: std :: os :: raw :: c_char , pub control_mode : * const :: std :: os :: raw :: c_char , pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub ttl : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_params_stct > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . bind_interface as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( bind_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . ttl as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_udp_channel_params_t = aeron_udp_channel_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_channel_params_stct { pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_channel_params_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_ipc_channel_params_t = aeron_ipc_channel_params_stct ; pub mod aeron_uri_type_enum { pub type Type = u32 ; pub const AERON_URI_UDP : Type = 0 ; pub const AERON_URI_IPC : Type = 1 ; pub const AERON_URI_UNKNOWN : Type = 2 ; } pub use self :: aeron_uri_type_enum :: Type as aeron_uri_type_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_stct { pub mutable_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub type_ : aeron_uri_type_t , pub params : aeron_uri_stct__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union aeron_uri_stct__bindgen_ty_1 { pub udp : aeron_udp_channel_params_t , pub ipc : aeron_ipc_channel_params_t , _bindgen_union_align : [ u64 ; 9usize ] , } # [ test ] fn bindgen_test_layout_aeron_uri_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . ipc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( ipc ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_uri_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . mutable_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( mutable_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . type_ as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . params as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( params ) ) ) ; } pub type aeron_uri_t = aeron_uri_stct ; pub type aeron_uri_parse_callback_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_uri_parse_params ( uri : * mut :: std :: os :: raw :: c_char , param_func : aeron_uri_parse_callback_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_udp_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_ipc_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , params : * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_close ( params : * mut aeron_uri_t ) ; } extern "C" { pub fn aeron_uri_multicast_ttl ( uri : * mut aeron_uri_t ) -> u8 ; } extern "C" { pub fn aeron_uri_find_param_value ( uri_params : * const aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_uri_get_int64 ( uri_params : * mut aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char , retval : * mut i64 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_driver_conductor_t = aeron_driver_conductor_stct ; extern "C" { pub fn aeron_uri_publication_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_publication_params_t , context : * mut aeron_driver_conductor_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_subscription_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_subscription_params_t , conductor : * mut aeron_driver_conductor_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse_tag ( tag_str : * const :: std :: os :: raw :: c_char ) -> i64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type socklen_t = __socklen_t ; pub type sa_family_t = :: std :: os :: raw :: c_ushort ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr { pub sa_family : sa_family_t , pub sa_data : [ :: std :: os :: raw :: c_char ; 14usize ] , } # [ test ] fn bindgen_test_layout_sockaddr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_data as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr_storage { pub ss_family : sa_family_t , pub __ss_padding : [ :: std :: os :: raw :: c_char ; 118usize ] , pub __ss_align : :: std :: os :: raw :: c_ulong , } # [ test ] fn bindgen_test_layout_sockaddr_storage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr_storage > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr_storage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . ss_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( ss_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_padding as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_align as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct msghdr { pub msg_name : * mut :: std :: os :: raw :: c_void , pub msg_namelen : socklen_t , pub msg_iov : * mut iovec , pub msg_iovlen : size_t , pub msg_control : * mut :: std :: os :: raw :: c_void , pub msg_controllen : size_t , pub msg_flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_msghdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < msghdr > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < msghdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_namelen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_namelen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iovlen as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iovlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_control as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_controllen as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_controllen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_flags ) ) ) ; } pub type in_addr_t = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in_addr { pub s_addr : in_addr_t , } # [ test ] fn bindgen_test_layout_in_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in_addr > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in_addr > ( ) ) ) . s_addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in_addr ) , "::" , stringify ! ( s_addr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in6_addr { pub __in6_u : in6_addr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union in6_addr__bindgen_ty_1 { pub __u6_addr8 : [ u8 ; 16usize ] , pub __u6_addr16 : [ u16 ; 8usize ] , pub __u6_addr32 : [ u32 ; 4usize ] , _bindgen_union_align : [ u32 ; 4usize ] , } # [ test ] fn bindgen_test_layout_in6_addr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr8 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr16 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr32 ) ) ) ; } # [ test ] fn bindgen_test_layout_in6_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr > ( ) ) ) . __in6_u as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr ) , "::" , stringify ! ( __in6_u ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct addrinfo { pub ai_flags : :: std :: os :: raw :: c_int , pub ai_family : :: std :: os :: raw :: c_int , pub ai_socktype : :: std :: os :: raw :: c_int , pub ai_protocol : :: std :: os :: raw :: c_int , pub ai_addrlen : socklen_t , pub ai_addr : * mut sockaddr , pub ai_canonname : * mut :: std :: os :: raw :: c_char , pub ai_next : * mut addrinfo , } # [ test ] fn bindgen_test_layout_addrinfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < addrinfo > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < addrinfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_family as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_socktype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_socktype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_protocol as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_protocol ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addrlen as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addrlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_canonname as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_canonname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_next as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_next ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ifaddrs { pub ifa_next : * mut ifaddrs , pub ifa_name : * mut :: std :: os :: raw :: c_char , pub ifa_flags : :: std :: os :: raw :: c_uint , pub ifa_addr : * mut sockaddr , pub ifa_netmask : * mut sockaddr , pub ifa_ifu : ifaddrs__bindgen_ty_1 , pub ifa_data : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ifaddrs__bindgen_ty_1 { pub ifu_broadaddr : * mut sockaddr , pub ifu_dstaddr : * mut sockaddr , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ifaddrs__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_broadaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_broadaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_dstaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_dstaddr ) ) ) ; } # [ test ] fn bindgen_test_layout_ifaddrs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_netmask as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_netmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_ifu as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_ifu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_data ) ) ) ; } pub type aeron_socket_t = :: std :: os :: raw :: c_int ; extern "C" { pub fn aeron_socket ( domain : :: std :: os :: raw :: c_int , type_ : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> aeron_socket_t ; } extern "C" { pub fn aeron_close_socket ( socket : aeron_socket_t ) ; } extern "C" { pub fn aeron_net_init ( ) ; } extern "C" { pub fn aeron_getsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * mut :: std :: os :: raw :: c_void , optlen : * mut socklen_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_setsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * const :: std :: os :: raw :: c_void , optlen : socklen_t ) -> :: std :: os :: raw :: c_int ; } pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_SENDER : aeron_udp_channel_transport_affinity_en = 0 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_RECEIVER : aeron_udp_channel_transport_affinity_en = 1 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_CONDUCTOR : aeron_udp_channel_transport_affinity_en = 2 ; pub type aeron_udp_channel_transport_affinity_en = u32 ; pub use self :: aeron_udp_channel_transport_affinity_en as aeron_udp_channel_transport_affinity_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct mmsghdr { _unused : [ u8 ; 0 ] , } pub type aeron_udp_channel_transport_t = aeron_udp_channel_transport_stct ; pub type aeron_udp_transport_poller_t = aeron_udp_transport_poller_stct ; pub type aeron_udp_channel_data_paths_t = aeron_udp_channel_data_paths_stct ; pub type aeron_udp_channel_transport_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_recv_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_transport_recvmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_get_so_rcvbuf_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_bind_addr_and_port_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_add_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_remove_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_poll_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct { pub init_func : aeron_udp_channel_transport_init_func_t , pub close_func : aeron_udp_channel_transport_close_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub get_so_rcvbuf_func : aeron_udp_channel_transport_get_so_rcvbuf_func_t , pub bind_addr_and_port_func : aeron_udp_channel_transport_bind_addr_and_port_func_t , pub poller_init_func : aeron_udp_transport_poller_init_func_t , pub poller_close_func : aeron_udp_transport_poller_close_func_t , pub poller_add_func : aeron_udp_transport_poller_add_func_t , pub poller_remove_func : aeron_udp_transport_poller_remove_func_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub meta_info : aeron_udp_channel_transport_bindings_stct_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_binding : * const aeron_udp_channel_transport_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . next_binding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( next_binding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . close_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . get_so_rcvbuf_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( get_so_rcvbuf_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . bind_addr_and_port_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( bind_addr_and_port_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_init_func as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_close_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_add_func as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_add_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_remove_func as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_remove_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_bindings_load_media ( bindings_name : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_load_func_t = :: std :: option :: Option < unsafe extern "C" fn ( delegate_bindings : * mut aeron_udp_channel_interceptor_bindings_t ) -> * mut aeron_udp_channel_interceptor_bindings_t > ; extern "C" { pub fn aeron_udp_channel_interceptor_bindings_load ( existing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , interceptors : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } pub type aeron_udp_channel_outgoing_interceptor_t = aeron_udp_channel_outgoing_interceptor_stct ; pub type aeron_udp_channel_incoming_interceptor_t = aeron_udp_channel_incoming_interceptor_stct ; pub type aeron_udp_channel_interceptor_outgoing_mmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_outgoing_msg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_incoming_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_incoming_interceptor_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_interceptor_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut * mut :: std :: os :: raw :: c_void , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct { pub outgoing_init_func : aeron_udp_channel_interceptor_init_func_t , pub incoming_init_func : aeron_udp_channel_interceptor_init_func_t , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub outgoing_close_func : aeron_udp_channel_interceptor_close_func_t , pub incoming_close_func : aeron_udp_channel_interceptor_close_func_t , pub meta_info : aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_interceptor_bindings : * const aeron_udp_channel_interceptor_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . next_interceptor_bindings as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( next_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_init_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_close_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_close_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_outgoing_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_outgoing_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_outgoing_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_incoming_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_incoming_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_incoming_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . incoming_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_data_paths_stct { pub outgoing_interceptors : * mut aeron_udp_channel_outgoing_interceptor_t , pub incoming_interceptors : * mut aeron_udp_channel_incoming_interceptor_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub recv_func : aeron_udp_transport_recv_func_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_data_paths_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_data_paths_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_data_paths_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . outgoing_interceptors as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( outgoing_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . incoming_interceptors as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( incoming_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . recv_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( recv_func ) ) ) ; } extern "C" { pub fn aeron_udp_channel_data_paths_init ( data_paths : * mut aeron_udp_channel_data_paths_t , outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , media_bindings : * mut aeron_udp_channel_transport_bindings_t , recv_func : aeron_udp_transport_recv_func_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_data_paths_delete ( data_paths : * mut aeron_udp_channel_data_paths_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_frame_header_stct { pub frame_length : i32 , pub version : i8 , pub flags : u8 , pub type_ : i16 , } # [ test ] fn bindgen_test_layout_aeron_frame_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_frame_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_frame_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . frame_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( frame_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . version as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . flags as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . type_ as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( type_ ) ) ) ; } pub type aeron_frame_header_t = aeron_frame_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_setup_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_length : i32 , pub mtu : i32 , pub ttl : i32 , } # [ test ] fn bindgen_test_layout_aeron_setup_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_setup_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_setup_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . active_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . mtu as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( mtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . ttl as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( ttl ) ) ) ; } pub type aeron_setup_header_t = aeron_setup_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub reserved_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_data_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_header_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . reserved_value as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( reserved_value ) ) ) ; } pub type aeron_data_header_t = aeron_data_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_nak_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub term_offset : i32 , pub length : i32 , } # [ test ] fn bindgen_test_layout_aeron_nak_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_nak_header_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_nak_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_nak_header_t = aeron_nak_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub consumption_term_id : i32 , pub consumption_term_offset : i32 , pub receiver_window : i32 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_header_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_window as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_status_message_header_t = aeron_status_message_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_optional_header_stct { pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_optional_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_optional_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_optional_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_optional_header_stct > ( ) ) ) . group_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_optional_header_stct ) , "::" , stringify ! ( group_tag ) ) ) ; } pub type aeron_status_message_optional_header_t = aeron_status_message_optional_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rttm_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub echo_timestamp : i64 , pub reception_delta : i64 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_rttm_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rttm_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rttm_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . echo_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( echo_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . reception_delta as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( reception_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_rttm_header_t = aeron_rttm_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_stct { pub res_type : i8 , pub res_flags : u8 , pub udp_port : u16 , pub age_in_ms : i32 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . udp_port as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( udp_port ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . age_in_ms as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( age_in_ms ) ) ) ; } pub type aeron_resolution_header_t = aeron_resolution_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv4_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 4usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv4_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv4_stct > ( ) , 14usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv4_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . name_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv4_t = aeron_resolution_header_ipv4_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv6_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 16usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv6_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv6_stct > ( ) , 26usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv6_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . name_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv6_t = aeron_resolution_header_ipv6_stct ; extern "C" { pub fn aeron_udp_protocol_group_tag ( sm : * mut aeron_status_message_header_t , group_tag : * mut i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_res_header_entry_length_ipv4 ( header : * mut aeron_resolution_header_ipv4_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length_ipv6 ( header : * mut aeron_resolution_header_ipv6_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length ( res : * mut :: std :: os :: raw :: c_void , remaining : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_logbuffer_metadata_stct { pub term_tail_counters : [ i64 ; 3usize ] , pub active_term_count : i32 , pub pad1 : [ u8 ; 100usize ] , pub end_of_stream_position : i64 , pub is_connected : i32 , pub active_transport_count : i32 , pub pad2 : [ u8 ; 112usize ] , pub correlation_id : i64 , pub initial_term_id : i32 , pub default_frame_header_length : i32 , pub mtu_length : i32 , pub term_length : i32 , pub page_size : i32 , pub pad3 : [ u8 ; 36usize ] , } # [ test ] fn bindgen_test_layout_aeron_logbuffer_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_logbuffer_metadata_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_logbuffer_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_tail_counters as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_tail_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_term_count as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_term_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . end_of_stream_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( end_of_stream_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . is_connected as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_transport_count as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_transport_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad2 as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . correlation_id as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . default_frame_header_length as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( default_frame_header_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . mtu_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_length as * const _ as usize } , 276usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad3 as * const _ as usize } , 284usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad3 ) ) ) ; } pub type aeron_logbuffer_metadata_t = aeron_logbuffer_metadata_stct ; extern "C" { pub fn aeron_logbuffer_check_term_length ( term_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_logbuffer_check_page_size ( page_size : u64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_file_stct { pub addr : * mut :: std :: os :: raw :: c_void , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_file_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_file_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_file_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_file_t = aeron_mapped_file_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_buffer_stct { pub addr : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_buffer_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_buffer_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_buffer_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_buffer_t = aeron_mapped_buffer_stct ; extern "C" { pub fn aeron_is_directory ( path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_new_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char , fill_with_zeroes : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unmap ( mapped_file : * mut aeron_mapped_file_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_usable_fs_space_func_t = :: std :: option :: Option < unsafe extern "C" fn ( path : * const :: std :: os :: raw :: c_char ) -> u64 > ; extern "C" { pub fn aeron_file_length ( path : * const :: std :: os :: raw :: c_char ) -> i64 ; } extern "C" { pub fn aeron_usable_fs_space ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } extern "C" { pub fn aeron_usable_fs_space_disabled ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_raw_log_stct { pub term_buffers : [ aeron_mapped_buffer_t ; 3usize ] , pub log_meta_data : aeron_mapped_buffer_t , pub mapped_file : aeron_mapped_file_t , pub term_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_raw_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_raw_log_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_raw_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . mapped_file as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( mapped_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_length as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_length ) ) ) ; } pub type aeron_mapped_raw_log_t = aeron_mapped_raw_log_stct ; extern "C" { pub fn aeron_ipc_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_temp_filename ( filename : * mut :: std :: os :: raw :: c_char , length : size_t ) -> size_t ; } pub type aeron_map_raw_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , arg2 : * const :: std :: os :: raw :: c_char , arg3 : bool , arg4 : u64 , arg5 : u64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_map_raw_log_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_map_raw_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , use_sparse_files : bool , term_length : u64 , page_size : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , pre_touch : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_raw_log_close ( mapped_raw_log : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub const aeron_queue_offer_result_stct_AERON_OFFER_SUCCESS : aeron_queue_offer_result_stct = 0 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_ERROR : aeron_queue_offer_result_stct = -2 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_FULL : aeron_queue_offer_result_stct = -1 ; pub type aeron_queue_offer_result_stct = i32 ; pub use self :: aeron_queue_offer_result_stct as aeron_queue_offer_result_t ; pub type aeron_queue_drain_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub padding : [ i8 ; 48usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_spsc_concurrent_array_queue_t = aeron_spsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_spsc_concurrent_array_queue_init ( queue : * mut aeron_spsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_spsc_concurrent_array_queue_close ( queue : * mut aeron_spsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub shared_head_cache : u64 , pub padding : [ i8 ; 40usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . shared_head_cache as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( shared_head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_mpsc_concurrent_array_queue_t = aeron_mpsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_mpsc_concurrent_array_queue_init ( queue : * mut aeron_mpsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_concurrent_array_queue_close ( queue : * mut aeron_mpsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_descriptor_stct { pub begin_pad : [ u8 ; 128usize ] , pub tail_position : i64 , pub tail_pad : [ u8 ; 120usize ] , pub head_cache_position : i64 , pub head_cache_pad : [ u8 ; 120usize ] , pub head_position : i64 , pub head_pad : [ u8 ; 120usize ] , pub correlation_counter : i64 , pub correlation_counter_pad : [ u8 ; 120usize ] , pub consumer_heartbeat : i64 , pub consumer_heartbeat_pad : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_rb_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_descriptor_stct > ( ) , 768usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . begin_pad as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( begin_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_pad as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_position as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_pad as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_position as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_pad as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter_pad as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat_pad as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat_pad ) ) ) ; } pub type aeron_rb_descriptor_t = aeron_rb_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_rb_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_rb_record_descriptor_t = aeron_rb_record_descriptor_stct ; pub const aeron_rb_write_result_stct_AERON_RB_SUCCESS : aeron_rb_write_result_stct = 0 ; pub const aeron_rb_write_result_stct_AERON_RB_ERROR : aeron_rb_write_result_stct = -2 ; pub const aeron_rb_write_result_stct_AERON_RB_FULL : aeron_rb_write_result_stct = -1 ; pub type aeron_rb_write_result_stct = i32 ; pub use self :: aeron_rb_write_result_stct as aeron_rb_write_result_t ; pub type aeron_rb_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : * const :: std :: os :: raw :: c_void , arg3 : size_t , arg4 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_rb_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_rb_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mpsc_rb_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_rb_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_rb_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_mpsc_rb_t = aeron_mpsc_rb_stct ; extern "C" { pub fn aeron_mpsc_rb_init ( ring_buffer : * mut aeron_mpsc_rb_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_rb_write ( ring_buffer : * mut aeron_mpsc_rb_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> aeron_rb_write_result_t ; } extern "C" { pub fn aeron_mpsc_rb_read ( ring_buffer : * mut aeron_mpsc_rb_t , handler : aeron_rb_handler_t , clientd : * mut :: std :: os :: raw :: c_void , message_count_limit : size_t ) -> size_t ; } extern "C" { pub fn aeron_mpsc_rb_next_correlation_id ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time ( ring_buffer : * mut aeron_mpsc_rb_t , now_ms : i64 ) ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time_value ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_unblock ( ring_buffer : * mut aeron_mpsc_rb_t ) -> bool ; } pub type aeron_flow_control_strategy_on_idle_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , snd_lmt : i64 , snd_pos : i64 , is_end_of_stream : bool ) -> i64 > ; pub type aeron_flow_control_strategy_on_sm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , sm : * const u8 , length : size_t , recv_addr : * mut sockaddr_storage , snd_lmt : i64 , initial_term_id : i32 , position_bits_to_shift : size_t , now_ns : i64 ) -> i64 > ; pub type aeron_flow_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_flow_control_strategy_has_required_receivers = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_stct { pub on_status_message : aeron_flow_control_strategy_on_sm_func_t , pub on_idle : aeron_flow_control_strategy_on_idle_func_t , pub fini : aeron_flow_control_strategy_fini_func_t , pub has_required_receivers : aeron_flow_control_strategy_has_required_receivers , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_status_message as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_status_message ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_idle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . has_required_receivers as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( has_required_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_flow_control_strategy_has_required_receivers_default ( strategy : * mut aeron_flow_control_strategy_t ) -> bool ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct { pub strategy_name_length : size_t , pub strategy_name : * const :: std :: os :: raw :: c_char , pub group_tag : aeron_flow_control_tagged_options_stct__bindgen_ty_1 , pub timeout_ns : aeron_flow_control_tagged_options_stct__bindgen_ty_2 , pub group_min_size : aeron_flow_control_tagged_options_stct__bindgen_ty_3 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_2 { pub is_present : bool , pub value : u64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_3 { pub is_present : bool , pub value : i32 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . value as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_min_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_min_size ) ) ) ; } pub type aeron_flow_control_tagged_options_t = aeron_flow_control_tagged_options_stct ; extern "C" { pub fn aeron_flow_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_max_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_min_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_to_string ( strategy : * mut aeron_flow_control_strategy_t , buffer : * mut :: std :: os :: raw :: c_char , buffer_len : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_supplier_func_table_entry_stct { pub name : * const :: std :: os :: raw :: c_char , pub supplier_func : aeron_flow_control_strategy_supplier_func_t , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_supplier_func_table_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . supplier_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( supplier_func ) ) ) ; } pub type aeron_flow_control_strategy_supplier_func_table_entry_t = aeron_flow_control_strategy_supplier_func_table_entry_stct ; extern "C" { pub fn aeron_flow_control_parse_tagged_options ( options_length : size_t , options : * const :: std :: os :: raw :: c_char , flow_control_options : * mut aeron_flow_control_tagged_options_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_congestion_control_strategy_should_measure_rtt_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 ) -> bool > ; pub type aeron_congestion_control_strategy_on_rttm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , rtt_ns : i64 , source_address : * mut sockaddr_storage ) > ; pub type aeron_congestion_control_strategy_on_track_rebuild_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , should_force_sm : * mut bool , now_ns : i64 , new_consumption_position : i64 , last_sm_position : i64 , hwm_position : i64 , starting_rebuild_position : i64 , ending_rebuild_position : i64 , loss_occurred : bool ) -> i32 > ; pub type aeron_congestion_control_strategy_initial_window_length_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void ) -> i32 > ; pub type aeron_congestion_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_congestion_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_congestion_control_strategy_stct { pub should_measure_rtt : aeron_congestion_control_strategy_should_measure_rtt_func_t , pub on_rttm : aeron_congestion_control_strategy_on_rttm_func_t , pub on_track_rebuild : aeron_congestion_control_strategy_on_track_rebuild_func_t , pub initial_window_length : aeron_congestion_control_strategy_initial_window_length_func_t , pub fini : aeron_congestion_control_strategy_fini_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_congestion_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_congestion_control_strategy_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_congestion_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . should_measure_rtt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( should_measure_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_rttm as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_rttm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_track_rebuild as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_track_rebuild ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_congestion_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_static_window_congestion_control_strategy_supplier ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_semantic_version_compose ( major : u8 , minor : u8 , patch : u8 ) -> i32 ; } extern "C" { pub fn aeron_semantic_version_major ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_minor ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_patch ( version : i32 ) -> u8 ; } pub type aeron_agent_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_agent_on_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_idle_strategy_stct { pub idle : aeron_idle_strategy_func_t , pub init : aeron_idle_strategy_init_func_t , } # [ test ] fn bindgen_test_layout_aeron_idle_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_idle_strategy_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_idle_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . init as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( init ) ) ) ; } pub type aeron_idle_strategy_t = aeron_idle_strategy_stct ; extern "C" { pub fn aeron_idle_strategy_sleeping_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_yielding_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_busy_spinning_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_noop_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_state_init ( state : * mut * mut :: std :: os :: raw :: c_void , max_spins : u64 , max_yields : u64 , min_park_period_ns : u64 , max_park_period_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_idle_strategy_init_null ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_agent_runner_stct { pub role_name : * const :: std :: os :: raw :: c_char , pub agent_state : * mut :: std :: os :: raw :: c_void , pub idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub on_start_state : * mut :: std :: os :: raw :: c_void , pub on_start : aeron_agent_on_start_func_t , pub do_work : aeron_agent_do_work_func_t , pub on_close : aeron_agent_on_close_func_t , pub idle_strategy : aeron_idle_strategy_func_t , pub thread : aeron_thread_t , pub running : bool , pub state : u8 , } # [ test ] fn bindgen_test_layout_aeron_agent_runner_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_agent_runner_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_agent_runner_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . role_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( role_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . agent_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( agent_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy_state as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start_state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . do_work as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( do_work ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_close as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_close ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . thread as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( thread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . running as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( running ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . state as * const _ as usize } , 73usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_agent_runner_t = aeron_agent_runner_stct ; extern "C" { pub fn aeron_idle_strategy_load ( idle_strategy_name : * const :: std :: os :: raw :: c_char , idle_strategy_state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> aeron_idle_strategy_func_t ; } extern "C" { pub fn aeron_agent_on_start_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_agent_init ( runner : * mut aeron_agent_runner_t , role_name : * const :: std :: os :: raw :: c_char , state : * mut :: std :: os :: raw :: c_void , on_start : aeron_agent_on_start_func_t , on_start_state : * mut :: std :: os :: raw :: c_void , do_work : aeron_agent_do_work_func_t , on_close : aeron_agent_on_close_func_t , idle_strategy_func : aeron_idle_strategy_func_t , idle_strategy_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_start ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_stop ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_close ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_value_descriptor_stct { pub counter_value : i64 , pub pad1 : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_value_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_value_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_value_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . counter_value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( counter_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . pad1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( pad1 ) ) ) ; } pub type aeron_counter_value_descriptor_t = aeron_counter_value_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_metadata_descriptor_stct { pub state : i32 , pub type_id : i32 , pub free_to_reuse_deadline : i64 , pub key : [ u8 ; 112usize ] , pub label_length : i32 , pub label : [ u8 ; 380usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_metadata_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( type_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . free_to_reuse_deadline as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( free_to_reuse_deadline ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . key as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label_length as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label ) ) ) ; } pub type aeron_counter_metadata_descriptor_t = aeron_counter_metadata_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stream_position_counter_key_layout_stct { pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 92usize ] , } # [ test ] fn bindgen_test_layout_aeron_stream_position_counter_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_stream_position_counter_key_layout_t = aeron_stream_position_counter_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_channel_endpoint_status_key_layout_stct { pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 108usize ] , } # [ test ] fn bindgen_test_layout_aeron_channel_endpoint_status_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_channel_endpoint_status_key_layout_t = aeron_channel_endpoint_status_key_layout_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_heartbeat_timestamp_key_layout_stct { pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_heartbeat_timestamp_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_heartbeat_timestamp_key_layout_t = aeron_heartbeat_timestamp_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_local_sockaddr_key_layout_stct { pub channel_status_id : i32 , pub local_sockaddr_len : i32 , pub local_sockaddr : [ :: std :: os :: raw :: c_char ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_local_sockaddr_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . channel_status_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( channel_status_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr ) ) ) ; } pub type aeron_local_sockaddr_key_layout_t = aeron_local_sockaddr_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_manager_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub id_high_water_mark : i32 , pub free_list : * mut i32 , pub free_list_index : i32 , pub free_list_length : size_t , pub clock_func : aeron_clock_func_t , pub free_to_reuse_timeout_ms : i64 , } # [ test ] fn bindgen_test_layout_aeron_counters_manager_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_manager_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_manager_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . id_high_water_mark as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( id_high_water_mark ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_index as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_length as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . clock_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( clock_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_to_reuse_timeout_ms as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_to_reuse_timeout_ms ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_reader_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub max_counter_id : size_t , } # [ test ] fn bindgen_test_layout_aeron_counters_reader_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_reader_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_reader_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . max_counter_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( max_counter_id ) ) ) ; } extern "C" { pub fn aeron_counters_manager_init ( manager : * mut aeron_counters_manager_t , metadata_buffer : * mut u8 , metadata_length : size_t , values_buffer : * mut u8 , values_length : size_t , clock_func : aeron_clock_func_t , free_to_reuse_timeout_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_counters_manager_close ( manager : * mut aeron_counters_manager_t ) ; } extern "C" { pub fn aeron_counters_manager_allocate ( manager : * mut aeron_counters_manager_t , type_id : i32 , key : * const u8 , key_length : size_t , label : * const :: std :: os :: raw :: c_char , label_length : size_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_update_label ( manager : * mut aeron_counters_manager_t , counter_id : i32 , label_length : size_t , label : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn aeron_counters_manager_next_counter_id ( manager : * mut aeron_counters_manager_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_free ( manager : * mut aeron_counters_manager_t , counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_counters_reader_foreach_metadata_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : i32 , arg3 : * const u8 , arg4 : size_t , arg5 : * const u8 , arg6 : size_t , arg7 : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_counters_reader_foreach_metadata ( metadata_buffer : * mut u8 , metadata_length : size_t , func : aeron_counters_reader_foreach_metadata_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_SENT : aeron_system_counter_enum_stct = 0 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_RECEIVED : aeron_system_counter_enum_stct = 1 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RECEIVER_PROXY_FAILS : aeron_system_counter_enum_stct = 2 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_PROXY_FAILS : aeron_system_counter_enum_stct = 3 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONDUCTOR_PROXY_FAILS : aeron_system_counter_enum_stct = 4 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_SENT : aeron_system_counter_enum_stct = 5 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 6 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_SENT : aeron_system_counter_enum_stct = 7 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 8 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_SENT : aeron_system_counter_enum_stct = 9 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_RECEIVED : aeron_system_counter_enum_stct = 10 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RETRANSMITS_SENT : aeron_system_counter_enum_stct = 11 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_UNDER_RUNS : aeron_system_counter_enum_stct = 12 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_OVER_RUNS : aeron_system_counter_enum_stct = 13 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_INVALID_PACKETS : aeron_system_counter_enum_stct = 14 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_ERRORS : aeron_system_counter_enum_stct = 15 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SHORT_SENDS : aeron_system_counter_enum_stct = 16 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FREE_FAILS : aeron_system_counter_enum_stct = 17 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_FLOW_CONTROL_LIMITS : aeron_system_counter_enum_stct = 18 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_PUBLICATIONS : aeron_system_counter_enum_stct = 19 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_COMMANDS : aeron_system_counter_enum_stct = 20 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_POSSIBLE_TTL_ASYMMETRY : aeron_system_counter_enum_stct = 21 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONTROLLABLE_IDLE_STRATEGY : aeron_system_counter_enum_stct = 22 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_LOSS_GAP_FILLS : aeron_system_counter_enum_stct = 23 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CLIENT_TIMEOUTS : aeron_system_counter_enum_stct = 24 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RESOLUTION_CHANGES : aeron_system_counter_enum_stct = 25 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_DUMMY_LAST : aeron_system_counter_enum_stct = 26 ; pub type aeron_system_counter_enum_stct = u32 ; pub use self :: aeron_system_counter_enum_stct as aeron_system_counter_enum_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counter_stct { pub label : * const :: std :: os :: raw :: c_char , pub id : i32 , } # [ test ] fn bindgen_test_layout_aeron_system_counter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counter_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . label as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( label ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( id ) ) ) ; } pub type aeron_system_counter_t = aeron_system_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counters_stct { pub counter_ids : * mut i32 , pub manager : * mut aeron_counters_manager_t , } # [ test ] fn bindgen_test_layout_aeron_system_counters_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counters_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counters_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . counter_ids as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( counter_ids ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . manager as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( manager ) ) ) ; } pub type aeron_system_counters_t = aeron_system_counters_stct ; extern "C" { pub fn aeron_system_counters_init ( counters : * mut aeron_system_counters_t , manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_system_counters_close ( counters : * mut aeron_system_counters_t ) ; } pub type aeron_name_resolver_resolve_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int > ; # [ doc = " Resolves a name to a host:port string." ] # [ doc = "" ] # [ doc = " @return 0 if not found, 1 if found, -1 on error." ] pub type aeron_name_resolver_lookup_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_name_resolver_stct { pub lookup_func : aeron_name_resolver_lookup_func_t , pub resolve_func : aeron_name_resolver_resolve_func_t , pub do_work_func : aeron_name_resolver_do_work_func_t , pub close_func : aeron_name_resolver_close_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_name_resolver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_name_resolver_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_name_resolver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . lookup_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( lookup_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . resolve_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( resolve_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . do_work_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( do_work_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_name_resolver_supplier_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_name_resolver_init ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_supplier ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_resolve ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_lookup ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_do_work ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_close ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_name_resolver_resolve_host_and_port ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_cnc_metadata_stct { pub cnc_version : i32 , pub to_driver_buffer_length : i32 , pub to_clients_buffer_length : i32 , pub counter_metadata_buffer_length : i32 , pub counter_values_buffer_length : i32 , pub error_log_buffer_length : i32 , pub client_liveness_timeout : i64 , pub start_timestamp : i64 , pub pid : i64 , } # [ test ] fn bindgen_test_layout_aeron_cnc_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_cnc_metadata_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_cnc_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . cnc_version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( cnc_version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_metadata_buffer_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_metadata_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_values_buffer_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . error_log_buffer_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( error_log_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . client_liveness_timeout as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( client_liveness_timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . start_timestamp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( start_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . pid as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( pid ) ) ) ; } pub type aeron_cnc_metadata_t = aeron_cnc_metadata_stct ; extern "C" { pub fn aeron_cnc_version_volatile ( metadata : * mut aeron_cnc_metadata_t ) -> i32 ; } pub type aeron_driver_conductor_proxy_t = aeron_driver_conductor_proxy_stct ; pub type aeron_driver_sender_proxy_t = aeron_driver_sender_proxy_stct ; pub type aeron_driver_receiver_proxy_t = aeron_driver_receiver_proxy_stct ; pub type aeron_driver_conductor_to_driver_interceptor_func_t = aeron_rb_handler_t ; pub type aeron_driver_conductor_to_client_interceptor_func_t = :: std :: option :: Option < unsafe extern "C" fn ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct { pub aeron_dir : * mut :: std :: os :: raw :: c_char , pub threading_mode : aeron_threading_mode_t , pub receiver_group_consideration : aeron_inferable_boolean_t , pub dirs_delete_on_start : bool , pub dirs_delete_on_shutdown : bool , pub warn_if_dirs_exist : bool , pub term_buffer_sparse_file : bool , pub perform_storage_checks : bool , pub spies_simulate_connection : bool , pub print_configuration_on_start : bool , pub reliable_stream : bool , pub tether_subscriptions : bool , pub rejoin_stream : bool , pub driver_timeout_ms : u64 , pub client_liveness_timeout_ns : u64 , pub publication_linger_timeout_ns : u64 , pub status_message_timeout_ns : u64 , pub image_liveness_timeout_ns : u64 , pub publication_unblock_timeout_ns : u64 , pub publication_connection_timeout_ns : u64 , pub timer_interval_ns : u64 , pub counter_free_to_reuse_ns : u64 , pub untethered_window_limit_timeout_ns : u64 , pub untethered_resting_timeout_ns : u64 , pub retransmit_unicast_delay_ns : u64 , pub retransmit_unicast_linger_ns : u64 , pub nak_unicast_delay_ns : u64 , pub nak_multicast_max_backoff_ns : u64 , pub re_resolution_check_interval_ns : u64 , pub to_driver_buffer_length : size_t , pub to_clients_buffer_length : size_t , pub counters_values_buffer_length : size_t , pub error_buffer_length : size_t , pub term_buffer_length : size_t , pub ipc_term_buffer_length : size_t , pub mtu_length : size_t , pub ipc_mtu_length : size_t , pub ipc_publication_window_length : size_t , pub publication_window_length : size_t , pub socket_rcvbuf : size_t , pub socket_sndbuf : size_t , pub send_to_sm_poll_ratio : size_t , pub initial_window_length : size_t , pub loss_report_length : size_t , pub file_page_size : size_t , pub nak_multicast_group_size : size_t , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub multicast_ttl : u8 , pub receiver_group_tag : aeron_driver_context_stct__bindgen_ty_1 , pub flow_control : aeron_driver_context_stct__bindgen_ty_2 , pub cnc_map : aeron_mapped_file_t , pub loss_report : aeron_mapped_file_t , pub to_driver_buffer : * mut u8 , pub to_clients_buffer : * mut u8 , pub counters_values_buffer : * mut u8 , pub counters_metadata_buffer : * mut u8 , pub error_buffer : * mut u8 , pub nano_clock : aeron_clock_func_t , pub epoch_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub sender_command_queue : aeron_spsc_concurrent_array_queue_t , pub receiver_command_queue : aeron_spsc_concurrent_array_queue_t , pub conductor_command_queue : aeron_mpsc_concurrent_array_queue_t , pub agent_on_start_func : aeron_agent_on_start_func_t , pub agent_on_start_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_func : aeron_idle_strategy_func_t , pub conductor_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub conductor_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_network_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_network_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub sender_idle_strategy_func : aeron_idle_strategy_func_t , pub sender_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub sender_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub sender_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub receiver_idle_strategy_func : aeron_idle_strategy_func_t , pub receiver_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub receiver_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub receiver_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub usable_fs_space_func : aeron_usable_fs_space_func_t , pub map_raw_log_func : aeron_map_raw_log_func_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub multicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub congestion_control_supplier_func : aeron_congestion_control_strategy_supplier_func_t , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub counters_manager : * mut aeron_counters_manager_t , pub system_counters : * mut aeron_system_counters_t , pub error_log : * mut aeron_distinct_error_log_t , pub to_driver_interceptor_func : aeron_driver_conductor_to_driver_interceptor_func_t , pub to_client_interceptor_func : aeron_driver_conductor_to_client_interceptor_func_t , pub termination_validator_func : aeron_driver_termination_validator_func_t , pub termination_validator_state : * mut :: std :: os :: raw :: c_void , pub termination_hook_func : aeron_driver_termination_hook_func_t , pub termination_hook_state : * mut :: std :: os :: raw :: c_void , pub udp_channel_transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub udp_channel_outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub udp_channel_incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub next_receiver_id : i64 , pub unicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub multicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub resolver_name : * const :: std :: os :: raw :: c_char , pub resolver_interface : * const :: std :: os :: raw :: c_char , pub resolver_bootstrap_neighbor : * const :: std :: os :: raw :: c_char , pub name_resolver_supplier_func : aeron_name_resolver_supplier_func_t , pub name_resolver_init_args : * const :: std :: os :: raw :: c_char , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_2 { pub group_min_size : i32 , pub receiver_timeout_ns : u64 , pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_min_size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_min_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . receiver_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( receiver_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_tag ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct > ( ) , 1600usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . aeron_dir as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( aeron_dir ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_consideration as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_consideration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_start as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_shutdown as * const _ as usize } , 17usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . warn_if_dirs_exist as * const _ as usize } , 18usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( warn_if_dirs_exist ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_sparse_file as * const _ as usize } , 19usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_sparse_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . perform_storage_checks as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( perform_storage_checks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 21usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . print_configuration_on_start as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( print_configuration_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . reliable_stream as * const _ as usize } , 23usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( reliable_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . tether_subscriptions as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( tether_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . rejoin_stream as * const _ as usize } , 25usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( rejoin_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . driver_timeout_ms as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( driver_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . client_liveness_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( client_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_linger_timeout_ns as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . status_message_timeout_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( status_message_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . image_liveness_timeout_ns as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( image_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_unblock_timeout_ns as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_connection_timeout_ns as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . timer_interval_ns as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( timer_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counter_free_to_reuse_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counter_free_to_reuse_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_window_limit_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_window_limit_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_resting_timeout_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_resting_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_delay_ns as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_linger_ns as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_linger_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_unicast_delay_ns as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_max_backoff_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_max_backoff_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . re_resolution_check_interval_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( re_resolution_check_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer_length as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer_length as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_term_buffer_length as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . mtu_length as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_mtu_length as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_publication_window_length as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_window_length as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_rcvbuf as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_sndbuf as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_sndbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . send_to_sm_poll_ratio as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( send_to_sm_poll_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . file_page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( file_page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_group_size as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_group_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 300usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_tag as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . flow_control as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cnc_map as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cnc_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_metadata_buffer as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_metadata_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nano_clock as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . epoch_clock as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( epoch_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cached_clock as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_command_queue as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_command_queue as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_command_queue as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_func as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_state as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_func as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_state as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_init_args as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_name as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_func as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_state as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_init_args as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_name as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_func as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_state as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_init_args as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_name as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_func as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_state as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_init_args as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_name as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_func as * const _ as usize } , 1240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_state as * const _ as usize } , 1248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_init_args as * const _ as usize } , 1256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_name as * const _ as usize } , 1264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . usable_fs_space_func as * const _ as usize } , 1272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( usable_fs_space_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_func as * const _ as usize } , 1280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_flow_control_supplier_func as * const _ as usize } , 1296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_flow_control_supplier_func as * const _ as usize } , 1304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . congestion_control_supplier_func as * const _ as usize } , 1312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( congestion_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 1320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 1328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 1336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_manager as * const _ as usize } , 1344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . system_counters as * const _ as usize } , 1352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_log as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_interceptor_func as * const _ as usize } , 1368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_client_interceptor_func as * const _ as usize } , 1376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_client_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_func as * const _ as usize } , 1384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_state as * const _ as usize } , 1392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_func as * const _ as usize } , 1400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_state as * const _ as usize } , 1408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_transport_bindings as * const _ as usize } , 1416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_outgoing_interceptor_bindings as * const _ as usize } , 1424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_outgoing_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_incoming_interceptor_bindings as * const _ as usize } , 1432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_incoming_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . next_receiver_id as * const _ as usize } , 1440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( next_receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_delay_feedback_generator as * const _ as usize } , 1448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_delay_feedback_generator as * const _ as usize } , 1504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_name as * const _ as usize } , 1560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_interface as * const _ as usize } , 1568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_bootstrap_neighbor as * const _ as usize } , 1576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_bootstrap_neighbor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_supplier_func as * const _ as usize } , 1584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_init_args as * const _ as usize } , 1592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_init_args ) ) ) ; } extern "C" { pub fn aeron_config_parse_inferable_boolean ( inferable_boolean : * const :: std :: os :: raw :: c_char , def : aeron_inferable_boolean_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_print_configuration ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_fill_cnc_metadata ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_context_validate_mtu_length ( mtu_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_cnc_length ( context : * mut aeron_driver_context_t ) -> size_t ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_descriptor_stct { pub tail_intent_counter : i64 , pub tail_counter : i64 , pub latest_counter : i64 , pub pad : [ u8 ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_broadcast_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_intent_counter as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_intent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_counter as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . latest_counter as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( latest_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . pad as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( pad ) ) ) ; } pub type aeron_broadcast_descriptor_t = aeron_broadcast_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_broadcast_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_broadcast_record_descriptor_t = aeron_broadcast_record_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_transmitter_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_broadcast_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_broadcast_transmitter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_transmitter_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_transmitter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_broadcast_transmitter_t = aeron_broadcast_transmitter_stct ; extern "C" { pub fn aeron_broadcast_transmitter_init ( transmitter : * mut aeron_broadcast_transmitter_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_broadcast_transmitter_transmit ( transmitter : * mut aeron_broadcast_transmitter_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_correlated_command_stct { pub client_id : i64 , pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_correlated_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_correlated_command_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_correlated_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . correlation_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_correlated_command_t = aeron_correlated_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_command_stct { pub correlated : aeron_correlated_command_t , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_publication_command_t = aeron_publication_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_buffers_ready_stct { pub correlation_id : i64 , pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub position_limit_counter_id : i32 , pub channel_status_indicator_id : i32 , pub log_file_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_buffers_ready_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . position_limit_counter_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( position_limit_counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . log_file_length as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( log_file_length ) ) ) ; } pub type aeron_publication_buffers_ready_t = aeron_publication_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_command_stct { pub correlated : aeron_correlated_command_t , pub registration_correlation_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_command_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . registration_correlation_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( registration_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_subscription_command_t = aeron_subscription_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_ready_stct { pub correlation_id : i64 , pub channel_status_indicator_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_ready_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; } pub type aeron_subscription_ready_t = aeron_subscription_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_buffers_ready_stct { pub correlation_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub subscriber_registration_id : i64 , pub subscriber_position_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_buffers_ready_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_position_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_position_id ) ) ) ; } pub type aeron_image_buffers_ready_t = aeron_image_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_operation_succeeded_stct { pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_operation_succeeded_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_operation_succeeded_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_operation_succeeded_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_operation_succeeded_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_operation_succeeded_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_operation_succeeded_t = aeron_operation_succeeded_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_response_stct { pub offending_command_correlation_id : i64 , pub error_code : i32 , pub error_message_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_error_response_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_response_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_response_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . offending_command_correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( offending_command_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_message_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_message_length ) ) ) ; } pub type aeron_error_response_t = aeron_error_response_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_remove_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_remove_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_remove_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_remove_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_remove_command_t = aeron_remove_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_message_stct { pub correlation_id : i64 , pub subscription_registration_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_message_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_message_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_message_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_image_message_t = aeron_image_message_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_destination_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_destination_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_destination_command_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_destination_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_destination_command_t = aeron_destination_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_command_stct { pub correlated : aeron_correlated_command_t , pub type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . type_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( type_id ) ) ) ; } pub type aeron_counter_command_t = aeron_counter_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_update_stct { pub correlation_id : i64 , pub counter_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_update_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_update_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_update_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( counter_id ) ) ) ; } pub type aeron_counter_update_t = aeron_counter_update_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_timeout_stct { pub client_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_client_timeout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_timeout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_timeout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_timeout_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_timeout_stct ) , "::" , stringify ! ( client_id ) ) ) ; } pub type aeron_client_timeout_t = aeron_client_timeout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_terminate_driver_command_stct { pub correlated : aeron_correlated_command_t , pub token_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_terminate_driver_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_terminate_driver_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_terminate_driver_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . token_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( token_length ) ) ) ; } pub type aeron_terminate_driver_command_t = aeron_terminate_driver_command_stct ; pub mod aeron_ipc_publication_state_enum { pub type Type = u32 ; pub const AERON_IPC_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_IPC_PUBLICATION_STATE_INACTIVE : Type = 1 ; pub const AERON_IPC_PUBLICATION_STATE_LINGER : Type = 2 ; } pub use self :: aeron_ipc_publication_state_enum :: Type as aeron_ipc_publication_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct { pub mapped_raw_log : aeron_mapped_raw_log_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub pub_lmt_position : aeron_position_t , pub pub_pos_position : aeron_position_t , pub conductor_fields : aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_window_length : i64 , pub trip_gain : i64 , pub unblock_timeout_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub is_exclusive : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_ipc_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub trip_limit : i64 , pub clean_position : i64 , pub consumer_position : i64 , pub last_consumer_position : i64 , pub time_of_last_consumer_position_change : i64 , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . trip_limit as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( trip_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . consumer_position as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . last_consumer_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( last_consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . time_of_last_consumer_position_change as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_consumer_position_change ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . tag as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 316usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_ipc_publication_t = aeron_ipc_publication_stct ; extern "C" { pub fn aeron_ipc_publication_create ( publication : * mut * mut aeron_ipc_publication_t , context : * mut aeron_driver_context_t , session_id : i32 , stream_id : i32 , registration_id : i64 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , initial_term_id : i32 , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_ipc_publication_t ) ; } extern "C" { pub fn aeron_ipc_publication_update_pub_lmt ( publication : * mut aeron_ipc_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_clean_buffer ( publication : * mut aeron_ipc_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_ipc_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_check_for_blocked_publisher ( publication : * mut aeron_ipc_publication_t , producer_position : i64 , now_ns : i64 ) ; } extern "C" { pub fn aeron_format_date ( str : * mut :: std :: os :: raw :: c_char , count : size_t , timestamp : i64 ) ; } extern "C" { pub fn aeron_format_to_hex ( str : * mut :: std :: os :: raw :: c_char , str_length : size_t , data : * mut u8 , data_len : size_t ) ; } extern "C" { pub fn aeron_tokenise ( input : * mut :: std :: os :: raw :: c_char , delimiter : :: std :: os :: raw :: c_char , max_tokens : :: std :: os :: raw :: c_int , tokens : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_per_thread_error_stct { pub errcode : :: std :: os :: raw :: c_int , pub errmsg : [ :: std :: os :: raw :: c_char ; 384usize ] , } # [ test ] fn bindgen_test_layout_aeron_per_thread_error_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_per_thread_error_stct > ( ) , 388usize , concat ! ( "Size of: " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_per_thread_error_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errmsg as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errmsg ) ) ) ; } pub type aeron_per_thread_error_t = aeron_per_thread_error_stct ; extern "C" { pub fn aeron_set_err ( errcode : :: std :: os :: raw :: c_int , format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_set_err_from_last_err_code ( format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_error_code_str ( errcode : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_key_stct { pub str : * const :: std :: os :: raw :: c_char , pub hash_code : u64 , pub str_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_key_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . hash_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( hash_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str_length ) ) ) ; } pub type aeron_str_to_ptr_hash_map_key_t = aeron_str_to_ptr_hash_map_key_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_stct { pub keys : * mut aeron_str_to_ptr_hash_map_key_t , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_str_to_ptr_hash_map_t = aeron_str_to_ptr_hash_map_stct ; pub type aeron_str_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , key_len : size_t , value : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_ptr_hash_map_stct { pub keys : * mut i64 , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_ptr_hash_map_t = aeron_int64_to_ptr_hash_map_stct ; pub type aeron_int64_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; pub type aeron_uri_hostname_resolver_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , host : * const :: std :: os :: raw :: c_char , hints : * mut addrinfo , info : * mut * mut addrinfo ) -> :: std :: os :: raw :: c_int > ; pub type aeron_getifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut * mut ifaddrs ) -> :: std :: os :: raw :: c_int > ; pub type aeron_freeifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ifaddrs ) > ; pub type aeron_ifaddr_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr , netmask : * mut sockaddr , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_ip_addr_resolver ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , family_hint : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_port_resolver ( port_str : * const :: std :: os :: raw :: c_char , optional : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv4 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv4_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv6 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv6_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces_from_ifaddrs ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void , ifaddrs : * mut ifaddrs ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_getifaddrs ( get_func : aeron_getifaddrs_func_t , free_func : aeron_freeifaddrs_func_t ) ; } extern "C" { pub fn aeron_interface_parse_and_resolve ( interface_str : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , prefixlen : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_ipv4_wildcard_host_and_port ( sockaddr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_ipv4_does_prefix_match ( in_addr1 : * mut in_addr , in_addr2 : * mut in_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv6_does_prefix_match ( in6_addr1 : * mut in6_addr , in6_addr2 : * mut in6_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv4_netmask_to_prefixlen ( netmask : * mut in_addr ) -> size_t ; } extern "C" { pub fn aeron_ipv6_netmask_to_prefixlen ( netmask : * mut in6_addr ) -> size_t ; } extern "C" { pub fn aeron_find_interface ( interface_str : * const :: std :: os :: raw :: c_char , if_addr : * mut sockaddr_storage , if_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_find_unicast_interface ( family : :: std :: os :: raw :: c_int , interface_str : * const :: std :: os :: raw :: c_char , interface_addr : * mut sockaddr_storage , interface_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_is_addr_multicast ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_addr ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_port ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_format_source_identity ( buffer : * mut :: std :: os :: raw :: c_char , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_retransmit_action_state_enum { pub type Type = u32 ; pub const AERON_RETRANSMIT_ACTION_STATE_DELAYED : Type = 0 ; pub const AERON_RETRANSMIT_ACTION_STATE_LINGERING : Type = 1 ; pub const AERON_RETRANSMIT_ACTION_STATE_INACTIVE : Type = 2 ; } pub use self :: aeron_retransmit_action_state_enum :: Type as aeron_retransmit_action_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_action_stct { pub expiry_ns : i64 , pub term_id : i32 , pub term_offset : i32 , pub length : size_t , pub state : aeron_retransmit_action_state_t , } # [ test ] fn bindgen_test_layout_aeron_retransmit_action_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_action_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_action_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_retransmit_action_t = aeron_retransmit_action_stct ; pub type aeron_retransmit_handler_resend_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_handler_stct { pub retransmit_action_pool : [ aeron_retransmit_action_t ; 16usize ] , pub active_retransmits_map : aeron_int64_to_ptr_hash_map_t , pub delay_timeout_ns : u64 , pub linger_timeout_ns : u64 , pub invalid_packets_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_retransmit_handler_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_handler_stct > ( ) , 584usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_handler_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . retransmit_action_pool as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( retransmit_action_pool ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . active_retransmits_map as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( active_retransmits_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . delay_timeout_ns as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( delay_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . invalid_packets_counter as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( invalid_packets_counter ) ) ) ; } pub type aeron_retransmit_handler_t = aeron_retransmit_handler_stct ; extern "C" { pub fn aeron_retransmit_handler_init ( handler : * mut aeron_retransmit_handler_t , invalid_packets_counter : * mut i64 , delay_timeout_ns : u64 , linger_timeout_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_close ( handler : * mut aeron_retransmit_handler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_on_nak ( handler : * mut aeron_retransmit_handler_t , term_id : i32 , term_offset : i32 , length : size_t , term_length : size_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_process_timeouts ( handler : * mut aeron_retransmit_handler_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_network_publication_state_enum { pub type Type = u32 ; pub const AERON_NETWORK_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_NETWORK_PUBLICATION_STATE_DRAINING : Type = 1 ; pub const AERON_NETWORK_PUBLICATION_STATE_LINGER : Type = 2 ; pub const AERON_NETWORK_PUBLICATION_STATE_CLOSING : Type = 3 ; } pub use self :: aeron_network_publication_state_enum :: Type as aeron_network_publication_state_t ; pub type aeron_send_channel_endpoint_t = aeron_send_channel_endpoint_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct { pub conductor_fields : aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct , pub conductor_fields_pad : [ u8 ; 128usize ] , pub mapped_raw_log : aeron_mapped_raw_log_t , pub pub_pos_position : aeron_position_t , pub pub_lmt_position : aeron_position_t , pub snd_pos_position : aeron_position_t , pub snd_lmt_position : aeron_position_t , pub snd_bpe_counter : aeron_atomic_counter_t , pub retransmit_handler : aeron_retransmit_handler_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_send_channel_endpoint_t , pub flow_control : * mut aeron_flow_control_strategy_t , pub cached_clock : * mut aeron_clock_cache_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_buffer_length : i64 , pub term_window_length : i64 , pub trip_gain : i64 , pub linger_timeout_ns : i64 , pub unblock_timeout_ns : i64 , pub connection_timeout_ns : i64 , pub time_of_last_send_or_heartbeat_ns : i64 , pub time_of_last_setup_ns : i64 , pub status_message_deadline_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub mtu_length : size_t , pub is_exclusive : bool , pub spies_simulate_connection : bool , pub signal_eos : bool , pub should_send_setup_frame : bool , pub has_receivers : bool , pub has_spies : bool , pub is_connected : bool , pub is_end_of_stream : bool , pub track_sender_limits : bool , pub has_sender_released : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub short_sends_counter : * mut i64 , pub heartbeats_sent_counter : * mut i64 , pub sender_flow_control_limits_counter : * mut i64 , pub retransmits_sent_counter : * mut i64 , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_network_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub clean_position : i64 , pub time_of_last_activity_ns : i64 , pub last_snd_pos : i64 , } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . last_snd_pos as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( last_snd_pos ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct > ( ) , 1232usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields_pad as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_pos_position as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_lmt_position as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_bpe_counter as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_bpe_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmit_handler as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmit_handler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . endpoint as * const _ as usize } , 1016usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . flow_control as * const _ as usize } , 1024usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . cached_clock as * const _ as usize } , 1032usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 1040usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 1048usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 1056usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 1064usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 1072usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 1080usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . connection_timeout_ns as * const _ as usize } , 1088usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_send_or_heartbeat_ns as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_send_or_heartbeat_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_setup_ns as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_setup_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . status_message_deadline_ns as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( status_message_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . tag as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 1132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 1140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mtu_length as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 1169usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . signal_eos as * const _ as usize } , 1170usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . should_send_setup_frame as * const _ as usize } , 1171usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( should_send_setup_frame ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_receivers as * const _ as usize } , 1172usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_spies as * const _ as usize } , 1173usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_spies ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_connected as * const _ as usize } , 1174usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 1175usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . track_sender_limits as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( track_sender_limits ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 1177usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . heartbeats_sent_counter as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( heartbeats_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . sender_flow_control_limits_counter as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( sender_flow_control_limits_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmits_sent_counter as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmits_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_network_publication_t = aeron_network_publication_stct ; extern "C" { pub fn aeron_network_publication_create ( publication : * mut * mut aeron_network_publication_t , endpoint : * mut aeron_send_channel_endpoint_t , context : * mut aeron_driver_context_t , registration_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , snd_pos_position : * mut aeron_position_t , snd_lmt_position : * mut aeron_position_t , snd_bpe_counter : * mut aeron_atomic_counter_t , flow_control_strategy : * mut aeron_flow_control_strategy_t , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , spies_simulate_connection : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_network_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_send ( publication : * mut aeron_network_publication_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_resend ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_send_data ( publication : * mut aeron_network_publication_t , now_ns : i64 , snd_pos : i64 , term_offset : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_on_nak ( publication : * mut aeron_network_publication_t , term_id : i32 , term_offset : i32 , length : i32 ) ; } extern "C" { pub fn aeron_network_publication_on_status_message ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_on_rttm ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_clean_buffer ( publication : * mut aeron_network_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_network_publication_update_pub_lmt ( publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_check_for_blocked_publisher ( publication : * mut aeron_network_publication_t , now_ns : i64 , producer_position : i64 , snd_pos : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_stct { pub original_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub canonical_form : [ :: std :: os :: raw :: c_char ; 384usize ] , pub uri : aeron_uri_t , pub remote_data : sockaddr_storage , pub local_data : sockaddr_storage , pub remote_control : sockaddr_storage , pub local_control : sockaddr_storage , pub tag_id : i64 , pub interface_index : :: std :: os :: raw :: c_uint , pub uri_length : size_t , pub canonical_length : size_t , pub multicast_ttl : u8 , pub has_explicit_endpoint : bool , pub has_explicit_control : bool , pub is_manual_control_mode : bool , pub is_dynamic_control_mode : bool , pub is_multicast : bool , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_stct > ( ) , 1784usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . original_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( original_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_form as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_form ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_data as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_data as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_control as * const _ as usize } , 1488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_control as * const _ as usize } , 1616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . tag_id as * const _ as usize } , 1744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( tag_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . interface_index as * const _ as usize } , 1752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( interface_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri_length as * const _ as usize } , 1760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_length as * const _ as usize } , 1768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 1776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_endpoint as * const _ as usize } , 1777usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_control as * const _ as usize } , 1778usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 1779usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_dynamic_control_mode as * const _ as usize } , 1780usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_dynamic_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_multicast as * const _ as usize } , 1781usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_multicast ) ) ) ; } extern "C" { pub fn aeron_udp_channel_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , resolver : * mut aeron_name_resolver_t , channel : * mut * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_delete ( channel : * const aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_stct { pub fd : aeron_socket_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub dispatch_clientd : * mut :: std :: os :: raw :: c_void , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , pub destination_clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . fd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . data_paths as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . dispatch_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( dispatch_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . destination_clientd as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( destination_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_init ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_close ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_recvmmsg ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_get_so_rcvbuf ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_bind_addr_and_port ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_entry_stct { pub time_of_last_activity_ns : i64 , pub destination_timeout_ns : i64 , pub receiver_id : i64 , pub is_receiver_id_valid : bool , pub uri : * mut aeron_uri_t , pub addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . receiver_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . is_receiver_id_valid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( is_receiver_id_valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . uri as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( addr ) ) ) ; } pub type aeron_udp_destination_entry_t = aeron_udp_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct { pub destinations : aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct , pub is_manual_control_mode : bool , pub cached_clock : * mut aeron_clock_cache_t , pub destination_timeout_ns : i64 , pub data_paths : * mut aeron_udp_channel_data_paths_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct { pub array : * mut aeron_udp_destination_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destinations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . cached_clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( data_paths ) ) ) ; } pub type aeron_udp_destination_tracker_t = aeron_udp_destination_tracker_stct ; extern "C" { pub fn aeron_udp_destination_tracker_init ( tracker : * mut aeron_udp_destination_tracker_t , data_paths : * mut aeron_udp_channel_data_paths_t , cached_clock : * mut aeron_clock_cache_t , is_manual_control_model : bool , timeout_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_close ( tracker : * mut aeron_udp_destination_tracker_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_on_status_message ( tracker : * mut aeron_udp_destination_tracker_t , buffer : * const u8 , len : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_manual_add_destination ( tracker : * mut aeron_udp_destination_tracker_t , now_ns : i64 , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_remove_destination ( tracker : * mut aeron_udp_destination_tracker_t , addr : * mut sockaddr_storage , removed_uri : * mut * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_check_for_re_resolution ( tracker : * mut aeron_udp_destination_tracker_t , endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_udp_destination_tracker_resolution_change ( tracker : * mut aeron_udp_destination_tracker_t , endpoint_name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr_storage ) ; } pub type aeron_driver_sender_t = aeron_driver_sender_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_proxy_stct { pub sender : * mut aeron_driver_sender_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . sender as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_resolution_change ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut aeron_send_channel_endpoint_t , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_destination_stct { pub base : aeron_command_base_t , pub control_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub uri : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_destination_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . control_address as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . uri as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( uri ) ) ) ; } pub type aeron_command_destination_t = aeron_command_destination_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_sender_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_sender_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_sender_resolution_change_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_sender_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_sender_resolution_change_t = aeron_command_sender_resolution_change_stct ; extern "C" { pub fn aeron_driver_sender_proxy_on_add_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_delete_cmd ( sender_proxy : * mut aeron_driver_sender_proxy_t , cmd : * mut aeron_command_base_t ) ; } pub mod aeron_send_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; } pub use self :: aeron_send_channel_endpoint_status_enum :: Type as aeron_send_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct { pub conductor_fields : aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct , pub has_sender_released : bool , pub transport : aeron_udp_channel_transport_t , pub channel_status : aeron_atomic_counter_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub destination_tracker : * mut aeron_udp_destination_tracker_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub publication_dispatch_map : aeron_int64_to_ptr_hash_map_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub current_data_addr : sockaddr_storage , pub cached_clock : * mut aeron_clock_cache_t , pub time_of_last_sm_ns : i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub refcnt : i32 , pub has_reached_end_of_life : bool , pub udp_channel : * const aeron_udp_channel_t , pub status : aeron_send_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . destination_tracker as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( destination_tracker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . publication_dispatch_map as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( publication_dispatch_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . data_paths as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . current_data_addr as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( current_data_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . time_of_last_sm_ns as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( time_of_last_sm_ns ) ) ) ; } extern "C" { pub fn aeron_send_channel_endpoint_create ( endpoint : * mut * mut aeron_send_channel_endpoint_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_send_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_endpoint_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_sendmmsg ( endpoint : * mut aeron_send_channel_endpoint_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_sendmsg ( endpoint : * mut aeron_send_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_add_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_remove_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , sender_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_nak ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_status_message ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_rttm ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_resolution_change ( endpoint : * mut aeron_send_channel_endpoint_t , endpoint_name : * const :: std :: os :: raw :: c_char , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_counter_map_stct { pub entries : * mut i64 , pub load_factor : f32 , pub entries_length : size_t , pub size : size_t , pub resize_threshold : size_t , pub initial_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_int64_counter_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_counter_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_counter_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . initial_value as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( initial_value ) ) ) ; } pub type aeron_int64_counter_map_t = aeron_int64_counter_map_stct ; pub type aeron_int64_counter_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : i64 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_entry_stct { pub value : * mut :: std :: os :: raw :: c_void , pub internal_flags : u32 , pub tag : u32 , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . internal_flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( internal_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . tag as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( tag ) ) ) ; } pub type aeron_int64_to_tagged_ptr_entry_t = aeron_int64_to_tagged_ptr_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_hash_map_stct { pub keys : * mut i64 , pub entries : * mut aeron_int64_to_tagged_ptr_entry_t , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . entries as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_tagged_ptr_hash_map_t = aeron_int64_to_tagged_ptr_hash_map_stct ; pub type aeron_int64_to_tagged_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_tagged_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_proxy_stct { pub conductor : * mut aeron_driver_conductor_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_mpsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . conductor as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , cmd : * mut aeron_command_base_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_create_publication_image_stct { pub base : aeron_command_base_t , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub control_address : sockaddr_storage , pub src_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_create_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_create_publication_image_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_create_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_offset as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . control_address as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . src_address as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( src_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . destination as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_create_publication_image_t = aeron_command_create_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_re_resolve_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub existing_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_re_resolve_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_re_resolve_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_re_resolve_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . existing_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( existing_addr ) ) ) ; } pub type aeron_command_re_resolve_t = aeron_command_re_resolve_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_delete_destination_stct { pub base : aeron_command_base_t , pub destination : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_delete_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_delete_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_delete_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . destination as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_delete_destination_t = aeron_command_delete_destination_stct ; extern "C" { pub fn aeron_driver_conductor_proxy_on_create_publication_image_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , term_offset : i32 , term_length : i32 , mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_linger_buffer ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , buffer : * mut u8 ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_endpoint ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_control ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_receive_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , destination : * mut :: std :: os :: raw :: c_void , channel : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_conductor_proxy_on_delete_send_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , removed_uri : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_receive_endpoint_removed ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct { pub conductor_fields : aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct , pub transport : aeron_udp_channel_transport_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub current_control_addr : sockaddr_storage , pub so_rcvbuf : size_t , pub time_of_last_activity_ns : i64 , pub has_control_addr : bool , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct { pub udp_channel : * mut aeron_udp_channel_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . transport as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . current_control_addr as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( current_control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . so_rcvbuf as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( so_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . has_control_addr as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( has_control_addr ) ) ) ; } pub type aeron_receive_destination_t = aeron_receive_destination_stct ; extern "C" { pub fn aeron_receive_destination_create ( destination : * mut * mut aeron_receive_destination_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t , channel_status_counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_destination_delete ( destination : * mut aeron_receive_destination_t , counters_manager : * mut aeron_counters_manager_t ) ; } pub type aeron_publication_image_t = aeron_publication_image_stct ; pub type aeron_receive_channel_endpoint_t = aeron_receive_channel_endpoint_stct ; pub type aeron_driver_receiver_t = aeron_driver_receiver_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct { pub ignored_sessions_map : aeron_int64_to_ptr_hash_map_t , pub session_by_stream_id_map : aeron_int64_to_ptr_hash_map_t , pub tokens : aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub receiver : * mut aeron_driver_receiver_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct { pub subscribed : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) ) ) . subscribed as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) , "::" , stringify ! ( subscribed ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . ignored_sessions_map as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( ignored_sessions_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . session_by_stream_id_map as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( session_by_stream_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . tokens as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( tokens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . receiver as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( receiver ) ) ) ; } pub type aeron_data_packet_dispatcher_t = aeron_data_packet_dispatcher_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_init ( dispatcher : * mut aeron_data_packet_dispatcher_t , conductor_proxy : * mut aeron_driver_conductor_proxy_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_close ( dispatcher : * mut aeron_data_packet_dispatcher_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stream_interest_stct { pub is_all_sessions : bool , pub image_by_session_id_map : aeron_int64_to_tagged_ptr_hash_map_t , pub subscribed_sessions : aeron_int64_to_ptr_hash_map_t , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stream_interest_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . is_all_sessions as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( is_all_sessions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . image_by_session_id_map as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( image_by_session_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . subscribed_sessions as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( subscribed_sessions ) ) ) ; } pub type aeron_data_packet_dispatcher_stream_interest_t = aeron_data_packet_dispatcher_stream_interest_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_data ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_data_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_setup ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_setup_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_rttm ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_rttm_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_elicit_setup_from_source ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_interest : * mut aeron_data_packet_dispatcher_stream_interest_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_receive_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSED : Type = 2 ; } pub use self :: aeron_receive_channel_endpoint_status_enum :: Type as aeron_receive_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_entry_stct { pub destination : * mut aeron_receive_destination_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_entry_stct > ( ) ) ) . destination as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_receive_destination_entry_t = aeron_receive_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct { pub conductor_fields : aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct , pub destinations : aeron_receive_channel_endpoint_stct_destination_stct , pub dispatcher : aeron_data_packet_dispatcher_t , pub stream_id_to_refcnt_map : aeron_int64_counter_map_t , pub stream_and_session_id_to_refcnt_map : aeron_int64_counter_map_t , pub channel_status : aeron_atomic_counter_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub cached_clock : * mut aeron_clock_cache_t , pub receiver_id : i64 , pub has_receiver_released : bool , pub group_tag : aeron_receive_channel_endpoint_stct__bindgen_ty_1 , pub short_sends_counter : * mut i64 , pub possible_ttl_asymmetry_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub udp_channel : * mut aeron_udp_channel_t , pub status : aeron_receive_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_destination_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_destination_entry_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . destinations as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . dispatcher as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( dispatcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_id_to_refcnt_map as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_and_session_id_to_refcnt_map as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_and_session_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_id as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . has_receiver_released as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_receiver_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . group_tag as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . possible_ttl_asymmetry_counter as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( possible_ttl_asymmetry_counter ) ) ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_create ( endpoint : * mut * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , straight_through_destination : * mut aeron_receive_destination_t , status_indicator : * mut aeron_atomic_counter_t , system_counters : * mut aeron_system_counters_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_close ( endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_sendmsg ( endpoint : * mut aeron_receive_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_sm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , receiver_window : i32 , flags : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_nak ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , length : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , echo_timestamp : i64 , reception_delta : i64 , is_reply : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_data ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , destination_out : * mut * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receiver_channel_endpoint_validate_sender_mtu_length ( endpoint : * mut aeron_receive_channel_endpoint_t , sender_mtu_length : size_t , window_max_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_receive_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_update_control_address ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , address : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_term_gap_scanner_on_gap_detected_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_gap_stct { pub term_id : i32 , pub term_offset : i32 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_gap_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_gap_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_gap_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_loss_detector_gap_t = aeron_loss_detector_gap_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_stct { pub on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , pub feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , pub on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void , pub scanned_gap : aeron_loss_detector_gap_t , pub active_gap : aeron_loss_detector_gap_t , pub expiry_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . feedback_delay_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( feedback_delay_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . scanned_gap as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( scanned_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . active_gap as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( active_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; } pub type aeron_loss_detector_t = aeron_loss_detector_stct ; extern "C" { pub fn aeron_loss_detector_init ( detector : * mut aeron_loss_detector_t , feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_scan ( detector : * mut aeron_loss_detector_t , loss_found : * mut bool , buffer : * const u8 , rebuild_position : i64 , hwm_position : i64 , now_ns : i64 , term_length_mask : size_t , position_bits_to_shift : size_t , initial_term_id : i32 ) -> i32 ; } extern "C" { pub fn aeron_feedback_delay_state_init ( state : * mut aeron_feedback_delay_generator_state_t , delay_generator : aeron_feedback_delay_generator_func_t , delay_ns : i64 , multicast_group_size : size_t , should_immediate_feedback : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_nak_multicast_delay_generator ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_entry_stct { pub observation_count : i64 , pub total_bytes_lost : i64 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_entry_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . total_bytes_lost as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( total_bytes_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_loss_reporter_entry_t = aeron_loss_reporter_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_stct { pub buffer : * mut u8 , pub next_record_offset : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . next_record_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( next_record_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( capacity ) ) ) ; } pub type aeron_loss_reporter_t = aeron_loss_reporter_stct ; pub type aeron_loss_reporter_entry_offset_t = i64 ; extern "C" { pub fn aeron_loss_reporter_init ( reporter : * mut aeron_loss_reporter_t , buffer : * mut u8 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_reporter_create_entry ( reporter : * mut aeron_loss_reporter_t , initial_bytes_lost : i64 , timestamp_ms : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t , source : * const :: std :: os :: raw :: c_char , source_length : size_t ) -> aeron_loss_reporter_entry_offset_t ; } pub type aeron_loss_reporter_read_entry_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , observation_count : i64 , total_bytes_lost : i64 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : i32 , source : * const :: std :: os :: raw :: c_char , source_length : i32 ) > ; extern "C" { pub fn aeron_loss_reporter_read ( buffer : * const u8 , capacity : size_t , entry_func : aeron_loss_reporter_read_entry_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> size_t ; } pub mod aeron_publication_image_state_enum { pub type Type = u32 ; pub const AERON_PUBLICATION_IMAGE_STATE_INACTIVE : Type = 0 ; pub const AERON_PUBLICATION_IMAGE_STATE_ACTIVE : Type = 1 ; pub const AERON_PUBLICATION_IMAGE_STATE_LINGER : Type = 2 ; pub const AERON_PUBLICATION_IMAGE_STATE_DONE : Type = 3 ; } pub use self :: aeron_publication_image_state_enum :: Type as aeron_publication_image_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_connection_stct { pub resolved_control_address_for_implicit_unicast_channels : sockaddr_storage , pub destination : * mut aeron_receive_destination_t , pub control_addr : * mut sockaddr_storage , pub time_of_last_activity_ns : i64 , pub time_of_last_frame_ns : i64 , pub is_eos : bool , } # [ test ] fn bindgen_test_layout_aeron_publication_image_connection_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_connection_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_connection_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . resolved_control_address_for_implicit_unicast_channels as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( resolved_control_address_for_implicit_unicast_channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . destination as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . control_addr as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_frame_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_frame_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . is_eos as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( is_eos ) ) ) ; } pub type aeron_publication_image_connection_t = aeron_publication_image_connection_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct { pub padding_before : [ u8 ; 64usize ] , pub conductor_fields : aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct , pub padding_after : [ u8 ; 64usize ] , pub connections : aeron_publication_image_stct_image_connection_entries , pub source_address : sockaddr_storage , pub loss_detector : aeron_loss_detector_t , pub mapped_raw_log : aeron_mapped_raw_log_t , pub rcv_hwm_position : aeron_position_t , pub rcv_pos_position : aeron_position_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub congestion_control : * mut aeron_congestion_control_strategy_t , pub nano_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub loss_reporter : * mut aeron_loss_reporter_t , pub loss_reporter_offset : aeron_loss_reporter_entry_offset_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub initial_term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub begin_loss_change : i64 , pub end_loss_change : i64 , pub loss_term_id : i32 , pub loss_term_offset : i32 , pub loss_length : size_t , pub begin_sm_change : i64 , pub end_sm_change : i64 , pub next_sm_position : i64 , pub next_sm_receiver_window_length : i32 , pub last_status_message_timestamp : i64 , pub last_packet_timestamp_ns : i64 , pub last_sm_change_number : i64 , pub last_sm_position : i64 , pub last_sm_position_window_limit : i64 , pub last_loss_change_number : i64 , pub is_end_of_stream : bool , pub heartbeats_received_counter : * mut i64 , pub flow_control_under_runs_counter : * mut i64 , pub flow_control_over_runs_counter : * mut i64 , pub status_messages_sent_counter : * mut i64 , pub nak_messages_sent_counter : * mut i64 , pub loss_gap_fills_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct { pub is_reliable : bool , pub state : aeron_publication_image_state_t , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub time_of_last_state_change_ns : i64 , pub liveness_timeout_ns : i64 , pub clean_position : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . time_of_last_state_change_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_state_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . liveness_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_image_connection_entries { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_connection_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_image_connection_entries ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct > ( ) , 872usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_before as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_before ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_after as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_after ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . connections as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( connections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . source_address as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( source_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_detector as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_detector ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_hwm_position as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_hwm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_pos_position as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . congestion_control as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( congestion_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nano_clock as * const _ as usize } , 608usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . cached_clock as * const _ as usize } , 616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter_offset as * const _ as usize } , 632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 652usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 656usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 660usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_offset as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 668usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 676usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 680usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 688usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 696usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_loss_change as * const _ as usize } , 704usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_loss_change as * const _ as usize } , 712usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_id as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_offset as * const _ as usize } , 724usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_length as * const _ as usize } , 728usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_sm_change as * const _ as usize } , 736usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_sm_change as * const _ as usize } , 744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_position as * const _ as usize } , 752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_receiver_window_length as * const _ as usize } , 760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_receiver_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_status_message_timestamp as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_status_message_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_packet_timestamp_ns as * const _ as usize } , 776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_packet_timestamp_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_change_number as * const _ as usize } , 784usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position as * const _ as usize } , 792usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position_window_limit as * const _ as usize } , 800usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position_window_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_loss_change_number as * const _ as usize } , 808usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_loss_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . heartbeats_received_counter as * const _ as usize } , 824usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( heartbeats_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_under_runs_counter as * const _ as usize } , 832usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_under_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_over_runs_counter as * const _ as usize } , 840usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_over_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . status_messages_sent_counter as * const _ as usize } , 848usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( status_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nak_messages_sent_counter as * const _ as usize } , 856usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nak_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_gap_fills_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_gap_fills_counter ) ) ) ; } extern "C" { pub fn aeron_publication_image_create ( image : * mut * mut aeron_publication_image_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , context : * mut aeron_driver_context_t , correlation_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , initial_term_offset : i32 , rcv_hwm_position : * mut aeron_position_t , rcv_pos_position : * mut aeron_position_t , congestion_control : * mut aeron_congestion_control_strategy_t , control_address : * mut sockaddr_storage , source_address : * mut sockaddr_storage , term_buffer_length : i32 , sender_mtu_length : i32 , loss_reporter : * mut aeron_loss_reporter_t , is_reliable : bool , is_sparse : bool , treat_as_multicast : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_close ( counters_manager : * mut aeron_counters_manager_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_clean_buffer_to ( image : * mut aeron_publication_image_t , position : i64 ) ; } extern "C" { pub fn aeron_publication_image_on_gap_detected ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) ; } extern "C" { pub fn aeron_publication_image_track_rebuild ( image : * mut aeron_publication_image_t , now_ns : i64 , status_message_timeout : i64 ) ; } extern "C" { pub fn aeron_publication_image_insert_packet ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , term_id : i32 , term_offset : i32 , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_on_rttm ( image : * mut aeron_publication_image_t , header : * mut aeron_rttm_header_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_status_message ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_loss ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_initiate_rttm ( image : * mut aeron_publication_image_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_destination ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_remove_destination ( image : * mut aeron_publication_image_t , channel : * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_connection_if_unknown ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , src_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_publication_image_on_time_event ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t , now_ns : i64 , now_ms : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_link_stct { pub resource : * mut aeron_driver_managed_resource_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_publication_link_t = aeron_publication_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_link_stct { pub counter_id : i32 , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_counter_link_t = aeron_counter_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct { pub reached_end_of_life : bool , pub closed_by_command : bool , pub client_id : i64 , pub client_liveness_timeout_ms : i64 , pub heartbeat_timestamp : aeron_atomic_counter_t , pub publication_links : aeron_client_stct_publication_link_stct , pub counter_links : aeron_client_stct_counter_link_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_publication_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_publication_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_counter_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_counter_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_counter_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . closed_by_command as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( closed_by_command ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_liveness_timeout_ms as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_liveness_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . heartbeat_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( heartbeat_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . publication_links as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( publication_links ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . counter_links as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( counter_links ) ) ) ; } pub type aeron_client_t = aeron_client_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_list_entry_stct { pub counter_id : i32 , pub subscribable : * mut aeron_subscribable_t , } # [ test ] fn bindgen_test_layout_aeron_subscribable_list_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_list_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_list_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . subscribable as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( subscribable ) ) ) ; } pub type aeron_subscribable_list_entry_t = aeron_subscribable_list_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct { pub channel : [ :: std :: os :: raw :: c_char ; 384usize ] , pub is_tether : bool , pub is_sparse : bool , pub is_reliable : bool , pub is_rejoin : bool , pub has_session_id : bool , pub group : aeron_inferable_boolean_t , pub stream_id : i32 , pub session_id : i32 , pub channel_length : i32 , pub registration_id : i64 , pub client_id : i64 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub spy_channel : * mut aeron_udp_channel_t , pub subscribable_list : aeron_subscription_link_stct_subscribable_list_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct_subscribable_list_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscribable_list_entry_t , } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct_subscribable_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_tether as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_sparse as * const _ as usize } , 385usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_reliable as * const _ as usize } , 386usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 387usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . has_session_id as * const _ as usize } , 388usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . group as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . stream_id as * const _ as usize } , 396usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . session_id as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel_length as * const _ as usize } , 404usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . client_id as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . endpoint as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . spy_channel as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( spy_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . subscribable_list as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( subscribable_list ) ) ) ; } pub type aeron_subscription_link_t = aeron_subscription_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_entry_stct { pub publication : * mut aeron_ipc_publication_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_ipc_publication_entry_t = aeron_ipc_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_network_publication_entry_t = aeron_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_entry_stct { pub endpoint : * mut aeron_send_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_send_channel_endpoint_entry_t = aeron_send_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_entry_stct { pub endpoint : * mut aeron_receive_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_receive_channel_endpoint_entry_t = aeron_receive_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_publication_image_entry_t = aeron_publication_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_linger_resource_entry_stct { pub has_reached_end_of_life : bool , pub buffer : * mut u8 , pub timeout_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_linger_resource_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_linger_resource_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_linger_resource_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . buffer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; } pub type aeron_linger_resource_entry_t = aeron_linger_resource_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct { pub context : * mut aeron_driver_context_t , pub to_driver_commands : aeron_mpsc_rb_t , pub to_clients : aeron_broadcast_transmitter_t , pub error_log : aeron_distinct_error_log_t , pub counters_manager : aeron_counters_manager_t , pub system_counters : aeron_system_counters_t , pub conductor_proxy : aeron_driver_conductor_proxy_t , pub loss_reporter : aeron_loss_reporter_t , pub name_resolver : aeron_name_resolver_t , pub send_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub receive_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub clients : aeron_driver_conductor_stct_client_stct , pub ipc_subscriptions : aeron_driver_conductor_stct_ipc_subscriptions_stct , pub ipc_publications : aeron_driver_conductor_stct_ipc_publication_stct , pub network_subscriptions : aeron_driver_conductor_stct_network_subscriptions_stct , pub spy_subscriptions : aeron_driver_conductor_stct_spy_subscriptions_stct , pub network_publications : aeron_driver_conductor_stct_network_publication_stct , pub send_channel_endpoints : aeron_driver_conductor_stct_send_channel_endpoint_stct , pub receive_channel_endpoints : aeron_driver_conductor_stct_receive_channel_endpoint_stct , pub publication_images : aeron_driver_conductor_stct_publication_image_stct , pub lingering_resources : aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct , pub errors_counter : * mut i64 , pub unblocked_commands_counter : * mut i64 , pub client_timeouts_counter : * mut i64 , pub clock_update_deadline_ns : i64 , pub next_session_id : i32 , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub time_of_last_timeout_check_ns : i64 , pub time_of_last_to_driver_position_change_ns : i64 , pub last_consumer_command_position : i64 , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_client_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_client_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_ipc_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_spy_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_spy_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_network_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_send_channel_endpoint_stct { pub array : * mut aeron_send_channel_endpoint_entry_t , pub length : size_t , pub capacity : size_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_receive_channel_endpoint_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_channel_endpoint_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_publication_image_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_linger_resource_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct > ( ) , 1000usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_driver_commands as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_driver_commands ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_clients as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . error_log as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . counters_manager as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . system_counters as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . name_resolver as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( name_resolver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoint_by_channel_map as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoint_by_channel_map as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clients as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_subscriptions as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_publications as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_subscriptions as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . spy_subscriptions as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( spy_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_publications as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoints as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoints as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_images as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . lingering_resources as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( lingering_resources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . errors_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . unblocked_commands_counter as * const _ as usize } , 872usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( unblocked_commands_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . client_timeouts_counter as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( client_timeouts_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clock_update_deadline_ns as * const _ as usize } , 888usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clock_update_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . next_session_id as * const _ as usize } , 896usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( next_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 900usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 904usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_timeout_check_ns as * const _ as usize } , 912usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_timeout_check_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_to_driver_position_change_ns as * const _ as usize } , 920usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_to_driver_position_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . last_consumer_command_position as * const _ as usize } , 928usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( last_consumer_command_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . padding as * const _ as usize } , 936usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_client_on_time_event ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_client_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t ) -> bool ; } extern "C" { pub fn aeron_client_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_client_t ) ; } extern "C" { pub fn aeron_ipc_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_ipc_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_ipc_publication_entry_t ) ; } extern "C" { pub fn aeron_network_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_network_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_network_publication_entry_t ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_send_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_receive_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_publication_image_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_publication_image_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t ) -> bool ; } extern "C" { pub fn aeron_publication_image_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_publication_image_entry_t ) ; } extern "C" { pub fn aeron_linger_resource_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_linger_resource_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t ) -> bool ; } extern "C" { pub fn aeron_linger_resource_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_linger_resource_entry_t ) ; } extern "C" { pub fn aeron_driver_conductor_image_transition_to_linger ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_conductor_init ( conductor : * mut aeron_driver_conductor_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_client_transmit ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_available_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , stream_id : i32 , session_id : i32 , log_file_name : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , subscriber_position_id : i32 , subscriber_registration_id : i64 , source_identity : * const :: std :: os :: raw :: c_char , source_identity_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , subscription_registration_id : i64 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_counter_ready ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_counter ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_client_timeout ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_spies ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_network_publication ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_command ( msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_link_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t , original_registration_id : i64 , session_id : i32 , stream_id : i32 , join_position : i64 , now_ns : i64 , source_identity_length : size_t , source_identity : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , log_file_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_unlink_subscribable ( link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t ) ; } extern "C" { pub fn aeron_driver_conductor_unlink_all_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_spy_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_keepalive ( conductor : * mut aeron_driver_conductor_t , client_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_delete_receive_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_delete_send_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_counter_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_close ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_correlated_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_terminate_driver ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_terminate_driver_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_create_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_linger_buffer ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_control ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_receive_endpoint_removed ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_find_send_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_send_channel_endpoint_t ; } extern "C" { pub fn aeron_driver_conductor_find_receive_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_receive_channel_endpoint_t ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_entry_stct { pub transport : * mut aeron_udp_channel_transport_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_entry_stct > ( ) ) ) . transport as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) , "::" , stringify ! ( transport ) ) ) ; } pub type aeron_udp_channel_transport_entry_t = aeron_udp_channel_transport_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct { pub transports : aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct { pub array : * mut aeron_udp_channel_transport_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . transports as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( transports ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_transport_poller_init ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_close ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_add ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_remove ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_poll ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_send_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_receive_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_driver_sender_network_publication_entry_t = aeron_driver_sender_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct { pub sender_proxy : aeron_driver_sender_proxy_t , pub poller : aeron_udp_transport_poller_t , pub network_publications : aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct , pub recv_buffers : aeron_driver_sender_stct_aeron_driver_sender_buffers_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub total_bytes_sent_counter : * mut i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub status_messages_received_counter : * mut i64 , pub nak_messages_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub status_message_read_timeout_ns : i64 , pub control_poll_timeout_ns : i64 , pub re_resolution_deadline_ns : i64 , pub round_robin_index : size_t , pub duty_cycle_counter : size_t , pub duty_cycle_ratio : size_t , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct { pub array : * mut aeron_driver_sender_network_publication_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct > ( ) , 624usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . network_publications as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . data_paths as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . total_bytes_sent_counter as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( total_bytes_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . errors_counter as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_messages_received_counter as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . nak_messages_received_counter as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( nak_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . context as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . error_log as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_message_read_timeout_ns as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_message_read_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . control_poll_timeout_ns as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( control_poll_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . round_robin_index as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( round_robin_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_counter as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_ratio as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . padding as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_driver_sender_init ( sender : * mut aeron_driver_sender_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_do_send ( sender : * mut aeron_driver_sender_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_proxy_stct { pub receiver : * mut aeron_driver_receiver_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . receiver as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_delete_cmd ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , cmd : * mut aeron_command_base_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_subscription_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub stream_id : i32 , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_subscription_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_subscription_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_subscription_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . session_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_command_subscription_t = aeron_command_subscription_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_add_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_add_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_add_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_add_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_add_rcv_destination_t = aeron_command_add_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_remove_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_remove_rcv_destination_t = aeron_command_remove_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_publication_image_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub image : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_publication_image_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . image as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_command_publication_image_t = aeron_command_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_cool_down_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_remove_cool_down_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_cool_down_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_cool_down_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . session_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . stream_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_command_remove_cool_down_t = aeron_command_remove_cool_down_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_cool_down ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , session_id : i32 , stream_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_receiver_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_receiver_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_receiver_resolution_change_t = aeron_command_receiver_resolution_change_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_resolution_change ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_driver_receiver_image_entry_t = aeron_driver_receiver_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_pending_setup_entry_stct { pub is_periodic : bool , pub session_id : i32 , pub stream_id : i32 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub destination : * mut aeron_receive_destination_t , pub time_of_status_message_ns : i64 , pub control_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_pending_setup_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . is_periodic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( is_periodic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . time_of_status_message_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( time_of_status_message_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . control_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( control_addr ) ) ) ; } pub type aeron_driver_receiver_pending_setup_entry_t = aeron_driver_receiver_pending_setup_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct { pub receiver_proxy : aeron_driver_receiver_proxy_t , pub poller : aeron_udp_transport_poller_t , pub recv_buffers : aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct , pub images : aeron_driver_receiver_stct_aeron_driver_receiver_images_stct , pub pending_setups : aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub re_resolution_deadline_ns : i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub total_bytes_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_images_stct { pub array : * mut aeron_driver_receiver_image_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct { pub array : * mut aeron_driver_receiver_pending_setup_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct > ( ) , 528usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . images as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . pending_setups as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( pending_setups ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . data_paths as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . context as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . error_log as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . errors_counter as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . total_bytes_received_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( total_bytes_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_init ( receiver : * mut aeron_driver_receiver_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_cool_down ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_add_pending_setup ( receiver : * mut aeron_driver_receiver_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , session_id : i32 , stream_id : i32 , control_addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_stct { pub context : * mut aeron_driver_context_t , pub conductor : aeron_driver_conductor_t , pub sender : aeron_driver_sender_t , pub receiver : aeron_driver_receiver_t , pub runners : [ aeron_agent_runner_t ; 3usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_stct > ( ) , 2400usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . conductor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . sender as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . receiver as * const _ as usize } , 1632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . runners as * const _ as usize } , 2160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( runners ) ) ) ; } extern "C" { pub fn aeron_is_driver_active_with_cnc ( cnc_map : * mut aeron_mapped_file_t , timeout_ms : i64 , now_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stderr] [INFO] [stderr] error: reference to packed field is unaligned [INFO] [stderr] --> /opt/rustwide/target/debug/build/libaeron_driver-sys-a8b4d3a9f05df5ef/out/bindings.rs:3:94878 [INFO] [stderr] | [INFO] [stderr] 3 | pub const AERON_NULL_VALUE : i32 = -1 ; pub const AERON_DIR_ENV_VAR : & 'static [ u8 ; 10usize ] = b"AERON_DIR\0" ; pub const AERON_DRIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_DRIVER_TIMEOUT\0" ; pub const AERON_CLIENT_RESOURCE_LINGER_DURATION_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_CLIENT_RESOURCE_LINGER_DURATION\0" ; pub const AERON_AGENT_ON_START_FUNCTION_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_AGENT_ON_START_FUNCTION\0" ; pub const AERON_PUBLICATION_NOT_CONNECTED : i32 = -1 ; pub const AERON_PUBLICATION_BACK_PRESSURED : i32 = -2 ; pub const AERON_PUBLICATION_ADMIN_ACTION : i32 = -3 ; pub const AERON_PUBLICATION_CLOSED : i32 = -4 ; pub const AERON_PUBLICATION_MAX_POSITION_EXCEEDED : i32 = -5 ; pub const AERON_PUBLICATION_ERROR : i32 = -6 ; pub const AERON_COMPILER_GCC : u32 = 1 ; pub const AERON_COMPILER_LLVM : u32 = 1 ; pub const AERON_CPU_X64 : u32 = 1 ; pub const AERON_CACHE_LINE_LENGTH : u32 = 64 ; pub const AERON_INIT_ONCE_VALUE : u32 = 0 ; pub const AERON_MAX_PATH : u32 = 384 ; pub const AERON_CHANNEL_STATUS_INDICATOR_NOT_ALLOCATED : i32 = -1 ; pub const AERON_URI_INVALID_TAG : i32 = -1 ; pub const AERON_DIR_WARN_IF_EXISTS_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_DIR_WARN_IF_EXISTS\0" ; pub const AERON_THREADING_MODE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_THREADING_MODE\0" ; pub const AERON_DIR_DELETE_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_DIR_DELETE_ON_START\0" ; pub const AERON_DIR_DELETE_ON_SHUTDOWN_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_DIR_DELETE_ON_SHUTDOWN\0" ; pub const AERON_TO_CONDUCTOR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_BUFFER_LENGTH\0" ; pub const AERON_TO_CLIENTS_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 28usize ] = b"AERON_CLIENTS_BUFFER_LENGTH\0" ; pub const AERON_COUNTERS_VALUES_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_COUNTERS_BUFFER_LENGTH\0" ; pub const AERON_ERROR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_ERROR_BUFFER_LENGTH\0" ; pub const AERON_CLIENT_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CLIENT_LIVENESS_TIMEOUT\0" ; pub const AERON_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_TERM_BUFFER_LENGTH\0" ; pub const AERON_IPC_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IPC_TERM_BUFFER_LENGTH\0" ; pub const AERON_TERM_BUFFER_SPARSE_FILE_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_TERM_BUFFER_SPARSE_FILE\0" ; pub const AERON_PERFORM_STORAGE_CHECKS_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_PERFORM_STORAGE_CHECKS\0" ; pub const AERON_SPIES_SIMULATE_CONNECTION_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SPIES_SIMULATE_CONNECTION\0" ; pub const AERON_FILE_PAGE_SIZE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_FILE_PAGE_SIZE\0" ; pub const AERON_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 17usize ] = b"AERON_MTU_LENGTH\0" ; pub const AERON_IPC_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_IPC_MTU_LENGTH\0" ; pub const AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_LINGER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_PUBLICATION_LINGER_TIMEOUT\0" ; pub const AERON_SOCKET_SO_RCVBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_RCVBUF\0" ; pub const AERON_SOCKET_SO_SNDBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_SNDBUF\0" ; pub const AERON_SOCKET_MULTICAST_TTL_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SOCKET_MULTICAST_TTL\0" ; pub const AERON_SEND_TO_STATUS_POLL_RATIO_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SEND_TO_STATUS_POLL_RATIO\0" ; pub const AERON_RCV_STATUS_MESSAGE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_RCV_STATUS_MESSAGE_TIMEOUT\0" ; pub const AERON_MULTICAST_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_min\0" ; pub const AERON_MULTICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_max\0" ; pub const AERON_MULTICAST_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 17usize ] = b"multicast_tagged\0" ; pub const AERON_UNICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 12usize ] = b"unicast_max\0" ; pub const AERON_MULTICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_MULTICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_UNICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_UNICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_IMAGE_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IMAGE_LIVENESS_TIMEOUT\0" ; pub const AERON_RCV_INITIAL_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RCV_INITIAL_WINDOW_LENGTH\0" ; pub const AERON_CONGESTIONCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_CONGESTIONCONTROL_SUPPLIER\0" ; pub const AERON_LOSS_REPORT_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_LOSS_REPORT_BUFFER_LENGTH\0" ; pub const AERON_PUBLICATION_UNBLOCK_TIMEOUT_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_PUBLICATION_UNBLOCK_TIMEOUT\0" ; pub const AERON_PUBLICATION_CONNECTION_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_CONNECTION_TIMEOUT\0" ; pub const AERON_TIMER_INTERVAL_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_TIMER_INTERVAL\0" ; pub const AERON_SENDER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SENDER_IDLE_STRATEGY\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_RECEIVER_IDLE_STRATEGY\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SHARED_IDLE_STRATEGY\0" ; pub const AERON_SENDER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SENDER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 39usize ] = b"AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 44usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_INIT_ARGS_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SHARED_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT\0" ; pub const AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 50usize ] = b"AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT\0" ; pub const AERON_FLOW_CONTROL_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_FLOW_CONTROL_GROUP_TAG\0" ; pub const AERON_FLOW_CONTROL_GROUP_MIN_SIZE_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_FLOW_CONTROL_GROUP_MIN_SIZE\0" ; pub const AERON_RECEIVER_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_RECEIVER_GROUP_TAG\0" ; pub const AERON_DRIVER_TERMINATION_VALIDATOR_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_DRIVER_TERMINATION_VALIDATOR\0" ; pub const AERON_PRINT_CONFIGURATION_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_PRINT_CONFIGURATION\0" ; pub const AERON_RELIABLE_STREAM_ENV_VAR : & 'static [ u8 ; 22usize ] = b"AERON_RELIABLE_STREAM\0" ; pub const AERON_TETHER_SUBSCRIPTIONS_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_TETHER_SUBSCRIPTIONS\0" ; pub const AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT\0" ; pub const AERON_UNTETHERED_RESTING_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_UNTETHERED_RESTING_TIMEOUT\0" ; pub const AERON_NAK_MULTICAST_GROUP_SIZE_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_NAK_MULTICAST_GROUP_SIZE\0" ; pub const AERON_NAK_MULTICAST_MAX_BACKOFF_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_NAK_MULTICAST_MAX_BACKOFF\0" ; pub const AERON_NAK_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 24usize ] = b"AERON_NAK_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_RETRANSMIT_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_LINGER_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RETRANSMIT_UNICAST_LINGER\0" ; pub const AERON_RECEIVER_GROUP_CONSIDERATION_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_RECEIVER_GROUP_CONSIDERATION\0" ; pub const AERON_REJOIN_STREAM_ENV_VAR : & 'static [ u8 ; 20usize ] = b"AERON_REJOIN_STREAM\0" ; pub const AERON_IPC_CHANNEL : & 'static [ u8 ; 10usize ] = b"aeron:ipc\0" ; pub const AERON_SPY_PREFIX : & 'static [ u8 ; 11usize ] = b"aeron-spy:\0" ; pub const AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA\0" ; pub const AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS\0" ; pub const AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_LOW_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_LOW\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH\0" ; pub const AERON_DRIVER_RESOLVER_NAME_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_DRIVER_RESOLVER_NAME\0" ; pub const AERON_DRIVER_RESOLVER_INTERFACE_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_DRIVER_RESOLVER_INTERFACE\0" ; pub const AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_NAME_RESOLVER_SUPPLIER\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_DEFAULT : & 'static [ u8 ; 8usize ] = b"default\0" ; pub const AERON_NAME_RESOLVER_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_NAME_RESOLVER_INIT_ARGS\0" ; pub const AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL\0" ; pub const AERON_UDP_CHANNEL_RELIABLE_KEY : & 'static [ u8 ; 9usize ] = b"reliable\0" ; pub const AERON_UDP_CHANNEL_TTL_KEY : & 'static [ u8 ; 4usize ] = b"ttl\0" ; pub const AERON_UDP_CHANNEL_ENDPOINT_KEY : & 'static [ u8 ; 9usize ] = b"endpoint\0" ; pub const AERON_UDP_CHANNEL_INTERFACE_KEY : & 'static [ u8 ; 10usize ] = b"interface\0" ; pub const AERON_UDP_CHANNEL_CONTROL_KEY : & 'static [ u8 ; 8usize ] = b"control\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_KEY : & 'static [ u8 ; 13usize ] = b"control-mode\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_MANUAL_VALUE : & 'static [ u8 ; 7usize ] = b"manual\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_DYNAMIC_VALUE : & 'static [ u8 ; 8usize ] = b"dynamic\0" ; pub const AERON_URI_INITIAL_TERM_ID_KEY : & 'static [ u8 ; 13usize ] = b"init-term-id\0" ; pub const AERON_URI_TERM_ID_KEY : & 'static [ u8 ; 8usize ] = b"term-id\0" ; pub const AERON_URI_TERM_OFFSET_KEY : & 'static [ u8 ; 12usize ] = b"term-offset\0" ; pub const AERON_URI_TERM_LENGTH_KEY : & 'static [ u8 ; 12usize ] = b"term-length\0" ; pub const AERON_URI_LINGER_TIMEOUT_KEY : & 'static [ u8 ; 7usize ] = b"linger\0" ; pub const AERON_URI_MTU_LENGTH_KEY : & 'static [ u8 ; 4usize ] = b"mtu\0" ; pub const AERON_URI_SPARSE_TERM_KEY : & 'static [ u8 ; 7usize ] = b"sparse\0" ; pub const AERON_URI_EOS_KEY : & 'static [ u8 ; 4usize ] = b"eos\0" ; pub const AERON_URI_TETHER_KEY : & 'static [ u8 ; 7usize ] = b"tether\0" ; pub const AERON_URI_TAGS_KEY : & 'static [ u8 ; 5usize ] = b"tags\0" ; pub const AERON_URI_SESSION_ID_KEY : & 'static [ u8 ; 11usize ] = b"session-id\0" ; pub const AERON_URI_GROUP_KEY : & 'static [ u8 ; 6usize ] = b"group\0" ; pub const AERON_URI_REJOIN_KEY : & 'static [ u8 ; 7usize ] = b"rejoin\0" ; pub const AERON_URI_FC_KEY : & 'static [ u8 ; 3usize ] = b"fc\0" ; pub const AERON_URI_GTAG_KEY : & 'static [ u8 ; 5usize ] = b"gtag\0" ; pub const AERON_URI_CC_KEY : & 'static [ u8 ; 3usize ] = b"cc\0" ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP4 : u32 = 4 ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP6 : u32 = 16 ; pub const AERON_FRAME_HEADER_VERSION : u32 = 0 ; pub const AERON_HDR_TYPE_PAD : u32 = 0 ; pub const AERON_HDR_TYPE_DATA : u32 = 1 ; pub const AERON_HDR_TYPE_NAK : u32 = 2 ; pub const AERON_HDR_TYPE_SM : u32 = 3 ; pub const AERON_HDR_TYPE_ERR : u32 = 4 ; pub const AERON_HDR_TYPE_SETUP : u32 = 5 ; pub const AERON_HDR_TYPE_RTTM : u32 = 6 ; pub const AERON_HDR_TYPE_RES : u32 = 7 ; pub const AERON_HDR_TYPE_EXT : u32 = 65535 ; pub const AERON_DATA_HEADER_DEFAULT_RESERVED_VALUE : u32 = 0 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD : u32 = 1 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD : u32 = 2 ; pub const AERON_FRAME_MAX_MESSAGE_LENGTH : u32 = 16777216 ; pub const AERON_LOGBUFFER_PARTITION_COUNT : u32 = 3 ; pub const AERON_LOGBUFFER_TERM_MIN_LENGTH : u32 = 65536 ; pub const AERON_LOGBUFFER_TERM_MAX_LENGTH : u32 = 1073741824 ; pub const AERON_PAGE_MIN_SIZE : u32 = 4096 ; pub const AERON_PAGE_MAX_SIZE : u32 = 1073741824 ; pub const AERON_LOGBUFFER_DEFAULT_FRAME_HEADER_MAX_LENGTH : u32 = 128 ; pub const AERON_MAX_UDP_PAYLOAD_LENGTH : u32 = 65504 ; pub const AERON_LOGBUFFER_FRAME_ALIGNMENT : u32 = 32 ; pub const AERON_LOG_META_DATA_SECTION_INDEX : u32 = 3 ; pub const AERON_PUBLICATIONS_DIR : & 'static [ u8 ; 13usize ] = b"publications\0" ; pub const AERON_IMAGES_DIR : & 'static [ u8 ; 7usize ] = b"images\0" ; pub const AERON_RB_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"max\0" ; pub const AERON_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"min\0" ; pub const AERON_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 7usize ] = b"tagged\0" ; pub const AERON_AGENT_STATE_UNUSED : u32 = 0 ; pub const AERON_AGENT_STATE_INITED : u32 = 1 ; pub const AERON_AGENT_STATE_STARTED : u32 = 2 ; pub const AERON_AGENT_STATE_MANUAL : u32 = 3 ; pub const AERON_AGENT_STATE_STOPPING : u32 = 4 ; pub const AERON_AGENT_STATE_STOPPED : u32 = 5 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_SPINS : u32 = 10 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_YIELDS : u32 = 20 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MIN_PARK_PERIOD_NS : u32 = 1000 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_PARK_PERIOD_NS : u32 = 1000000 ; pub const AERON_COUNTER_RECORD_UNUSED : u32 = 0 ; pub const AERON_COUNTER_RECORD_ALLOCATED : u32 = 1 ; pub const AERON_COUNTER_RECORD_RECLAIMED : i32 = -1 ; pub const AERON_NULL_COUNTER_ID : i32 = -1 ; pub const AERON_COUNTER_PUBLISHER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"pub-lmt\0" ; pub const AERON_COUNTER_PUBLISHER_LIMIT_TYPE_ID : u32 = 1 ; pub const AERON_COUNTER_SENDER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"snd-pos\0" ; pub const AERON_COUNTER_SENDER_POSITION_TYPE_ID : u32 = 2 ; pub const AERON_COUNTER_SENDER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"snd-lmt\0" ; pub const AERON_COUNTER_SENDER_LIMIT_TYPE_ID : u32 = 9 ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"sub-pos\0" ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_TYPE_ID : u32 = 4 ; pub const AERON_COUNTER_RECEIVER_HWM_NAME : & 'static [ u8 ; 8usize ] = b"rcv-hwm\0" ; pub const AERON_COUNTER_RECEIVER_HWM_TYPE_ID : u32 = 3 ; pub const AERON_COUNTER_RECEIVER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"rcv-pos\0" ; pub const AERON_COUNTER_RECEIVER_POSITION_TYPE_ID : u32 = 5 ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"snd-channel\0" ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_TYPE_ID : u32 = 6 ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"rcv-channel\0" ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_TYPE_ID : u32 = 7 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_INITIALIZING : u32 = 0 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_ERRORED : i32 = -1 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_NO_ID_ALLOCATED : i32 = -1 ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_NAME : & 'static [ u8 ; 17usize ] = b"client-heartbeat\0" ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_TYPE_ID : u32 = 11 ; pub const AERON_COUNTER_PUBLISHER_POSITION_NAME : & 'static [ u8 ; 18usize ] = b"pub-pos (sampled)\0" ; pub const AERON_COUNTER_PUBLISHER_POSITION_TYPE_ID : u32 = 12 ; pub const AERON_COUNTER_SENDER_BPE_NAME : & 'static [ u8 ; 8usize ] = b"snd-bpe\0" ; pub const AERON_COUNTER_SENDER_BPE_TYPE_ID : u32 = 13 ; pub const AERON_COUNTER_RCV_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"rcv-local-sockaddr\0" ; pub const AERON_COUNTER_SND_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"snd-local-sockaddr\0" ; pub const AERON_COUNTER_LOCAL_SOCKADDR_TYPE_ID : u32 = 14 ; pub const AERON_SYSTEM_COUNTER_TYPE_ID : u32 = 0 ; pub const AERON_NAME_RESOLVER_CSV_TABLE : & 'static [ u8 ; 10usize ] = b"csv_table\0" ; pub const AERON_NAME_RESOLVER_DRIVER : & 'static [ u8 ; 7usize ] = b"driver\0" ; pub const AERON_NAME_RESOLVER_CSV_TABLE_ARGS_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_NAME_RESOLVER_CSV_LOOKUP_TABLE_ARGS\0" ; pub const AERON_CNC_FILE : & 'static [ u8 ; 8usize ] = b"cnc.dat\0" ; pub const AERON_LOSS_REPORT_FILE : & 'static [ u8 ; 16usize ] = b"loss-report.dat\0" ; pub const AERON_COMMAND_QUEUE_CAPACITY : u32 = 256 ; pub const AERON_BROADCAST_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_COMMAND_ADD_PUBLICATION : u32 = 1 ; pub const AERON_COMMAND_REMOVE_PUBLICATION : u32 = 2 ; pub const AERON_COMMAND_ADD_EXCLUSIVE_PUBLICATION : u32 = 3 ; pub const AERON_COMMAND_ADD_SUBSCRIPTION : u32 = 4 ; pub const AERON_COMMAND_REMOVE_SUBSCRIPTION : u32 = 5 ; pub const AERON_COMMAND_CLIENT_KEEPALIVE : u32 = 6 ; pub const AERON_COMMAND_ADD_DESTINATION : u32 = 7 ; pub const AERON_COMMAND_REMOVE_DESTINATION : u32 = 8 ; pub const AERON_COMMAND_ADD_COUNTER : u32 = 9 ; pub const AERON_COMMAND_REMOVE_COUNTER : u32 = 10 ; pub const AERON_COMMAND_CLIENT_CLOSE : u32 = 11 ; pub const AERON_COMMAND_ADD_RCV_DESTINATION : u32 = 12 ; pub const AERON_COMMAND_REMOVE_RCV_DESTINATION : u32 = 13 ; pub const AERON_COMMAND_TERMINATE_DRIVER : u32 = 14 ; pub const AERON_RESPONSE_ON_ERROR : u32 = 3841 ; pub const AERON_RESPONSE_ON_AVAILABLE_IMAGE : u32 = 3842 ; pub const AERON_RESPONSE_ON_PUBLICATION_READY : u32 = 3843 ; pub const AERON_RESPONSE_ON_OPERATION_SUCCESS : u32 = 3844 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_IMAGE : u32 = 3845 ; pub const AERON_RESPONSE_ON_EXCLUSIVE_PUBLICATION_READY : u32 = 3846 ; pub const AERON_RESPONSE_ON_SUBSCRIPTION_READY : u32 = 3847 ; pub const AERON_RESPONSE_ON_COUNTER_READY : u32 = 3848 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_COUNTER : u32 = 3849 ; pub const AERON_RESPONSE_ON_CLIENT_TIMEOUT : u32 = 3850 ; pub const AERON_ERROR_CODE_UNKNOWN_CODE_VALUE : i32 = -1 ; pub const AERON_ERROR_CODE_GENERIC_ERROR : u32 = 0 ; pub const AERON_ERROR_CODE_INVALID_CHANNEL : u32 = 1 ; pub const AERON_ERROR_CODE_UNKNOWN_SUBSCRIPTION : u32 = 2 ; pub const AERON_ERROR_CODE_UNKNOWN_PUBLICATION : u32 = 3 ; pub const AERON_ERROR_CODE_CHANNEL_ENDPOINT_ERROR : u32 = 4 ; pub const AERON_ERROR_CODE_UNKNOWN_COUNTER : u32 = 5 ; pub const AERON_ERROR_CODE_UNKNOWN_COMMAND_TYPE_ID : u32 = 6 ; pub const AERON_ERROR_CODE_MALFORMED_COMMAND : u32 = 7 ; pub const AERON_ERROR_CODE_NOT_SUPPORTED : u32 = 8 ; pub const AERON_ERROR_CODE_UNKNOWN_HOST : u32 = 9 ; pub const AERON_ERROR_CODE_RESOURCE_TEMPORARILY_UNAVAILABLE : u32 = 10 ; pub const AERON_MAP_DEFAULT_LOAD_FACTOR : f64 = 0.55 ; pub const AERON_NETUTIL_FORMATTED_MAX_LENGTH : u32 = 54 ; pub const AERON_RETRANSMIT_HANDLER_MAX_RETRANSMITS : u32 = 16 ; pub const AERON_NETWORK_PUBLICATION_HEARTBEAT_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_SETUP_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_MAX_MESSAGES_PER_SEND : u32 = 2 ; pub const AERON_UDP_DESTINATION_TRACKER_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_SEND_CHANNEL_ENDPOINT_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_RECEIVE_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_LOSS_DETECTOR_TIMER_INACTIVE : i32 = -1 ; pub const AERON_LOSS_DETECTOR_NAK_UNICAST_DELAY_NS : u32 = 60000000 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_GROUP_SIZE : f64 = 10.0 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_MAX_BACKOFF_NS : f64 = 60000000.0 ; pub const AERON_LOSS_REPORTER_ENTRY_ALIGNMENT : u32 = 64 ; pub const AERON_DRIVER_CONDUCTOR_LINGER_RESOURCE_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_DRIVER_CONDUCTOR_CLOCK_UPDATE_DURATION_NS : u32 = 1000000 ; pub const AERON_UDP_TRANSPORT_POLLER_ITERATION_THRESHOLD : u32 = 5 ; pub const AERON_DRIVER_SENDER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_MAX_UDP_PACKET_LENGTH : u32 = 65536 ; pub const AERON_DRIVER_RECEIVER_PENDING_SETUP_TIMEOUT_NS : u32 = 1000000000 ; pub const AERON_AGENT_RUNNER_CONDUCTOR : u32 = 0 ; pub const AERON_AGENT_RUNNER_SENDER : u32 = 1 ; pub const AERON_AGENT_RUNNER_RECEIVER : u32 = 2 ; pub const AERON_AGENT_RUNNER_SHARED_NETWORK : u32 = 1 ; pub const AERON_AGENT_RUNNER_SHARED : u32 = 0 ; pub const AERON_AGENT_RUNNER_MAX : u32 = 3 ; pub type size_t = :: 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 __socklen_t = :: std :: os :: raw :: c_uint ; extern "C" { pub fn aeron_alloc_no_err ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc_aligned ( ptr : * mut * mut :: std :: os :: raw :: c_void , offset : * mut size_t , size : size_t , alignment : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_reallocf ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_free ( ptr : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_context_stct { _unused : [ u8 ; 0 ] , } pub type aeron_context_t = aeron_context_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stct { _unused : [ u8 ; 0 ] , } pub type aeron_t = aeron_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] pub type aeron_buffer_claim_t = aeron_buffer_claim_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_publication_t = aeron_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_exclusive_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_exclusive_publication_t = aeron_exclusive_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_header_stct { _unused : [ u8 ; 0 ] , } pub type aeron_header_t = aeron_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_stct { _unused : [ u8 ; 0 ] , } pub type aeron_subscription_t = aeron_subscription_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_t = aeron_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_stct { _unused : [ u8 ; 0 ] , } pub type aeron_counter_t = aeron_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_log_buffer_stct { _unused : [ u8 ; 0 ] , } pub type aeron_log_buffer_t = aeron_log_buffer_stct ; pub type aeron_counters_reader_t = aeron_counters_reader_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_registering_resource_stct { _unused : [ u8 ; 0 ] , } pub type aeron_async_add_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_exclusive_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_subscription_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_counter_t = aeron_client_registering_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_fragment_assembler_t = aeron_image_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_controlled_fragment_assembler_t = aeron_image_controlled_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_fragment_assembler_t = aeron_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_controlled_fragment_assembler_t = aeron_controlled_fragment_assembler_stct ; extern "C" { pub fn aeron_context_set_dir ( context : * mut aeron_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_dir ( context : * mut aeron_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_context_set_driver_timeout_ms ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_driver_timeout_ms ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_keepalive_interval_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_keepalive_interval_ns ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_resource_linger_duration_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_resource_linger_duration_ns ( context : * mut aeron_context_t ) -> u64 ; } # [ doc = " The error handler to be called when an error occurs." ] pub type aeron_error_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , errcode : :: std :: os :: raw :: c_int , message : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_error_handler ( context : * mut aeron_context_t , handler : aeron_error_handler_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_error_handler ( context : * mut aeron_context_t ) -> aeron_error_handler_t ; } extern "C" { pub fn aeron_context_get_error_handler_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_publication_t" ] # [ doc = " or aeron_exclusive_publication_t successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original add publication call" ] # [ doc = " @param channel of the publication" ] # [ doc = " @param stream_id within the channel of the publication" ] # [ doc = " @param session_id of the publication" ] # [ doc = " @param correlation_id used by the publication" ] pub type aeron_on_new_publication_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_publication_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_context_set_on_new_exclusive_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_subscription_t" ] # [ doc = " successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original aeron_add_async_subscription call" ] # [ doc = " @param channel of the subscirption" ] # [ doc = " @param stream_id within the channel of the subscription" ] # [ doc = " @param session_id of the subscription" ] # [ doc = " @param correlation_id used by the subscription" ] pub type aeron_on_new_subscription_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_subscription_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_subscription ( context : * mut aeron_context_t , handler : aeron_on_new_subscription_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_subscription ( context : * mut aeron_context_t ) -> aeron_on_new_subscription_t ; } extern "C" { pub fn aeron_context_get_on_new_subscription_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notifications that an aeron_image_t was added." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become available." ] pub type aeron_on_available_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; # [ doc = " Function called by aeron_client_t to deliver notifications than an aeron_image_t has been removed from use and" ] # [ doc = " should not be used any longer." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become unavailble." ] pub type aeron_on_unavailable_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; pub type aeron_on_available_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_unavailable_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_close_client_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Whether to use an invoker to control the conductor agent or spawn a thread." ] pub fn aeron_context_set_use_conductor_agent_invoker ( context : * mut aeron_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_use_conductor_agent_invoker ( context : * mut aeron_context_t ) -> bool ; } pub type aeron_agent_on_start_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , role_name : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_agent_on_start_function ( context : * mut aeron_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_agent_on_start_function ( context : * mut aeron_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_context_get_agent_on_start_state ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = " Create a aeron_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_init ( context : * mut * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_close ( context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_t client struct and initialize from the aeron_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_context_t struct will be used exclusively by the client. Do not reuse between clients." ] # [ doc = "" ] # [ doc = " @param aeron client to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_init ( client : * mut * mut aeron_t , context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_t. This may spawn a thread for the Client Conductor." ] # [ doc = "" ] # [ doc = " @param client to start." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_start ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Client must have been created with use conductor invoker set to true." ] # [ doc = "" ] # [ doc = " @param client to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_main_do_work ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor Idle Strategy." ] # [ doc = "" ] # [ doc = " @param client to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_main_idle_strategy ( client : * mut aeron_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_t struct." ] # [ doc = "" ] # [ doc = " @param client to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_close ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call stream_out to print the counter labels and values." ] # [ doc = "" ] # [ doc = " @param client to get the counters from" ] # [ doc = " @param stream_out to call for each label and value" ] pub fn aeron_print_counters ( client : * mut aeron_t , stream_out : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ) ; } extern "C" { # [ doc = " Return the aeron_context_t that is in use by the given client." ] # [ doc = "" ] # [ doc = " @param client to return the aeron_context_t for." ] # [ doc = " @return the aeron_context_t for the given client or NULL for an error." ] pub fn aeron_context ( client : * mut aeron_t ) -> * mut aeron_context_t ; } extern "C" { # [ doc = " Return the client id in use by the client." ] # [ doc = "" ] # [ doc = " @param client to return the client id for." ] # [ doc = " @return id value or -1 for an error." ] pub fn aeron_client_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Return a unique correlation id from the driver." ] # [ doc = "" ] # [ doc = " @param client to use to get the id." ] # [ doc = " @return unique correlation id or -1 for an error." ] pub fn aeron_next_correlation_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Asynchronously add a publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_publication ( async_ : * mut * mut aeron_async_add_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_publication_poll ( publication : * mut * mut aeron_publication_t , async_ : * mut aeron_async_add_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add an exclusive publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_exclusive_publication ( async_ : * mut * mut aeron_async_add_exclusive_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_exclusive_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_exclusive_publication_poll ( publication : * mut * mut aeron_exclusive_publication_t , async_ : * mut aeron_async_add_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add a subscription using the given client and return an object to use to determine when the" ] # [ doc = " subscription is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the subscription to." ] # [ doc = " @param uri for the channel of the subscription." ] # [ doc = " @param stream_id for the subscription." ] # [ doc = " @param on_available_image_handler to be called when images become available on the subscription." ] # [ doc = " @param on_available_image_clientd to be passed when images become available on the subscription." ] # [ doc = " @param on_unavailable_image_handler to be called when images go unavailable on the subscription." ] # [ doc = " @param on_available_image_clientd to be pacced when images go unavailable on the subscription." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_subscription ( async_ : * mut * mut aeron_async_add_subscription_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 , on_available_image_handler : aeron_on_available_image_t , on_available_image_clientd : * mut :: std :: os :: raw :: c_void , on_unavailable_image_handler : aeron_on_unavailable_image_t , on_unavailable_image_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_subscription call." ] # [ doc = "" ] # [ doc = " @param subscription to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_subscription_poll ( subscription : * mut * mut aeron_subscription_t , async_ : * mut aeron_async_add_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return a reference to the counters reader of the given client." ] # [ doc = "" ] # [ doc = " The aeron_counters_reader_t is maintained by the client. And should not be freed." ] # [ doc = "" ] # [ doc = " @param client that contains the counters reader." ] # [ doc = " @return aeron_counters_reader_t or NULL for error." ] pub fn aeron_counters_reader ( client : * mut aeron_t ) -> * mut aeron_counters_reader_t ; } extern "C" { # [ doc = " Asynchronously add a counter using the given client and return an object to use to determine when the" ] # [ doc = " counter is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the counter to." ] # [ doc = " @param type_id for the counter." ] # [ doc = " @param key_buffer for the counter." ] # [ doc = " @param key_buffer_length for the counter." ] # [ doc = " @param label_buffer for the counter." ] # [ doc = " @param label_buffer_length for the counter." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_counter ( async_ : * mut * mut aeron_async_add_counter_t , client : * mut aeron_t , type_id : i32 , key_buffer : * const u8 , key_buffer_length : size_t , label_buffer : * const :: std :: os :: raw :: c_char , label_buffer_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_counter call." ] # [ doc = "" ] # [ doc = " @param counter to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_counter_poll ( counter : * mut * mut aeron_counter_t , async_ : * mut aeron_async_add_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Function called by aeron_counters_reader_foreach_counter for each counter in the aeron_counters_reader_t." ] # [ doc = "" ] # [ doc = " @param value of the counter." ] # [ doc = " @param id of the counter." ] # [ doc = " @param label for the counter." ] # [ doc = " @param label_length for the counter." ] # [ doc = " @param clientd to be returned in the call" ] pub type aeron_counters_reader_foreach_counter_func_t = :: std :: option :: Option < unsafe extern "C" fn ( value : i64 , id : i32 , label : * const :: std :: os :: raw :: c_char , label_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Iterate over the coounters in the counters_reader and call the given function for each counter." ] # [ doc = "" ] # [ doc = " @param counters_reader to iterate over." ] # [ doc = " @param func to call for each counter." ] # [ doc = " @param clientd to pass for each call to func." ] pub fn aeron_counters_reader_foreach_counter ( counters_reader : * mut aeron_counters_reader_t , func : aeron_counters_reader_foreach_counter_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } # [ doc = " Function called when filling in the reserved value field of a message." ] # [ doc = "" ] # [ doc = " @param clientd passed to the offer function." ] # [ doc = " @param buffer of the entire frame, including Aeron data header." ] # [ doc = " @param frame_length of the enture frame." ] pub type aeron_reserved_value_supplier_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , frame_length : size_t ) -> i64 > ; # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_iovec_stct { pub iov_base : * mut u8 , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_aeron_iovec_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_iovec_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_iovec_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_len ) ) ) ; } # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] pub type aeron_iovec_t = aeron_iovec_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_buffer_claim_stct { pub frame_header : * mut u8 , pub data : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_buffer_claim_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_buffer_claim_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_buffer_claim_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( length ) ) ) ; } extern "C" { # [ doc = " Commit the given buffer_claim as a complete message available for consumption." ] # [ doc = "" ] # [ doc = " @param buffer_claim to commit." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_commit ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Abort the given buffer_claim and assign its position as padding." ] # [ doc = "" ] # [ doc = " @param buffer_claim to abort." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_abort ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offer ( publication : * mut aeron_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offerv ( publication : * mut aeron_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_publication_try_claim ( publication : * mut aeron_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { pub fn aeron_publication_channel_status ( publication : * mut aeron_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_add_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_remove_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_close ( publication : * mut aeron_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offerv ( publication : * mut aeron_exclusive_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_try_claim ( publication : * mut aeron_exclusive_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { # [ doc = " Append a padding record log of a given length to make up the log to a position." ] # [ doc = "" ] # [ doc = " @param length of the range to claim, in bytes." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_append_padding ( publication : * mut aeron_exclusive_publication_t , length : size_t ) -> i64 ; } extern "C" { # [ doc = " Offer a block of pre-formatted message fragments directly into the current term." ] # [ doc = "" ] # [ doc = " @param buffer containing the pre-formatted block of message fragments." ] # [ doc = " @param offset offset in the buffer at which the first fragment begins." ] # [ doc = " @param length in bytes of the encoded block." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer_block ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_channel_status ( publication : * mut aeron_exclusive_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_add_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_remove_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_close ( publication : * mut aeron_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " The frame will either contain a whole message or a fragment of a message to be reassembled. Messages are fragmented" ] # [ doc = " if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub type aeron_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) > ; # [ doc = " Abort the current polling operation and do not advance the position for this fragment." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_ABORT : aeron_controlled_fragment_handler_action_en = 0 ; # [ doc = " Break from the current polling operation and commit the position as of the end of the current fragment" ] # [ doc = " being handled." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_BREAK : aeron_controlled_fragment_handler_action_en = 1 ; # [ doc = " Continue processing but commit the position as of the end of the current fragment so that" ] # [ doc = " flow control is applied to this point." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_COMMIT : aeron_controlled_fragment_handler_action_en = 2 ; # [ doc = " Continue processing until fragment limit or no fragments with position commit at end of poll as in" ] # [ doc = " aeron_fragment_handler_t." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_CONTINUE : aeron_controlled_fragment_handler_action_en = 3 ; pub type aeron_controlled_fragment_handler_action_en = u32 ; pub use self :: aeron_controlled_fragment_handler_action_en as aeron_controlled_fragment_handler_action_t ; # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " Handler for reading data that is coming from a log buffer. The frame will either contain a whole message" ] # [ doc = " or a fragment of a message to be reassembled. Messages are fragmented if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the controlled poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub type aeron_controlled_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t > ; # [ doc = " Callback for handling a block of messages being read from a log." ] # [ doc = "" ] # [ doc = " @param clientd passed to the block poll function." ] # [ doc = " @param buffer containing the block of message fragments." ] # [ doc = " @param offset at which the block begins, including any frame headers." ] # [ doc = " @param length of the block in bytes, including any frame headers that is aligned." ] # [ doc = " @param session_id of the stream containing this block of message fragments." ] # [ doc = " @param term_id of the stream containing this block of message fragments." ] pub type aeron_block_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , session_id : i32 , term_id : i32 ) > ; extern "C" { # [ doc = " Poll the images under the subscription for available message fragments." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_fragment_asssembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_poll ( subscription : * mut aeron_subscription_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll in a controlled manner the images under the subscription for available message fragments." ] # [ doc = " Control is applied to fragments in the stream. If more fragments can be read on another stream" ] # [ doc = " they will even if BREAK or ABORT is returned from the fragment handler." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_controlled_fragment_assembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_controlled_poll ( subscription : * mut aeron_subscription_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the images under the subscription for available message fragments in blocks." ] # [ doc = "

" ] # [ doc = " This method is useful for operations like bulk archiving and messaging indexing." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler to receive a block of fragments from each image." ] # [ doc = " @param block_length_limit for each image polled." ] # [ doc = " @return the number of bytes consumed or -1 for error." ] pub fn aeron_subscription_block_poll ( subscription : * mut aeron_subscription_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ doc = " Is this subscription connected by having at least one open publication image." ] # [ doc = "" ] # [ doc = " @param subscription to check." ] # [ doc = " @return true if this subscription connected by having at least one open publication image." ] pub fn aeron_subscription_is_connected ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { # [ doc = " Count of images associated to this subscription." ] # [ doc = "" ] # [ doc = " @param subscription to count images for." ] # [ doc = " @return count of count associated to this subscription or -1 for error." ] pub fn aeron_subscription_image_count ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the image associated with the given session_id under the given subscription." ] # [ doc = "" ] # [ doc = " Note: the returned image is considered retained by the application and thus must be released via" ] # [ doc = " aeron_image_release when finished or if the image becomes unavailable." ] # [ doc = "" ] # [ doc = " @param subscription to search." ] # [ doc = " @param session_id associated with the image." ] # [ doc = " @return image associated with the given session_id or NULL if no image exists." ] pub fn aeron_subscription_image_by_session_id ( subscription : * mut aeron_subscription_t , session_id : i32 ) -> * mut aeron_image_t ; } extern "C" { # [ doc = " Iterate over the images for this subscription calling the given function." ] # [ doc = "" ] # [ doc = " @param subscription to iterate over." ] # [ doc = " @param handler to be called for each image." ] pub fn aeron_subscription_for_each_image ( subscription : * mut aeron_subscription_t , handler : :: std :: option :: Option < unsafe extern "C" fn ( image : * mut aeron_image_t ) > ) ; } extern "C" { pub fn aeron_subscription_is_closed ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { pub fn aeron_subscription_channel_status ( subscription : * mut aeron_subscription_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_add_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination from a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_remove_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the subscription." ] # [ doc = "" ] # [ doc = " @param subscription to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_subscription_close ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Retain the given image for access in the application." ] # [ doc = "" ] # [ doc = " Note: A retain call must have a corresponding release call." ] # [ doc = "" ] # [ doc = " @param image to retain" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_retain ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Release the given image and relinquish desire to use the image directly." ] # [ doc = "" ] # [ doc = " Note: Images are not threadsafe and should not be shared between subscribers." ] # [ doc = "" ] # [ doc = " @param image to release" ] # [ doc = " @return 0 for succes and -1 for error." ] pub fn aeron_image_release ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The position this image has been consumed to by the subscriber." ] # [ doc = "" ] # [ doc = " @param image to query position of." ] # [ doc = " @return the position this image has been consumed to by the subscriber." ] pub fn aeron_image_position ( image : * mut aeron_image_t ) -> i64 ; } extern "C" { # [ doc = " Set the subscriber position for this image to indicate where it has been consumed to." ] # [ doc = "" ] # [ doc = " @param image to set the position of." ] # [ doc = " @param new_position for the consumption point." ] pub fn aeron_image_set_position ( image : * mut aeron_image_t , position : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Peek for new messages in a stream by scanning forward from an initial position. If new messages are found then" ] # [ doc = " they will be delivered to the handler up to a limited position." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments. Scans must also" ] # [ doc = " start at the beginning of a message so that the assembler is reset." ] # [ doc = "" ] # [ doc = " @param image to peek." ] # [ doc = " @param initial_position from which to peek forward." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position up to which can be scanned." ] # [ doc = " @return the resulting position after the scan terminates which is a complete message or -1 for error." ] pub fn aeron_image_controlled_peek ( image : * mut aeron_image_t , initial_position : i64 , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 ) -> i64 ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of bytes." ] # [ doc = "

" ] # [ doc = " A scan will terminate if a padding frame is encountered. If first frame in a scan is padding then a block" ] # [ doc = " for the padding is notified. If the padding comes after the first frame in a scan then the scan terminates" ] # [ doc = " at the offset the padding frame begins. Padding frames are delivered singularly in a block." ] # [ doc = "

" ] # [ doc = " Padding frames may be for a greater range than the limit offset but only the header needs to be valid so" ] # [ doc = " relevant length of the frame is data header length." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which block is delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param block_length_limit up to which a block may be in length." ] # [ doc = " @return the number of bytes that have been consumed or -1 for error." ] pub fn aeron_image_block_poll ( image : * mut aeron_image_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_image_is_closed ( image : * mut aeron_image_t ) -> bool ; } extern "C" { # [ doc = " Create an image fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_fragment_assembler_create ( assembler : * mut * mut aeron_image_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_fragment_assembler_delete ( assembler : * mut aeron_image_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create an image controlled fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_image_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_delete ( assembler : * mut aeron_image_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Create a fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_fragment_assembler_create ( assembler : * mut * mut aeron_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_fragment_assembler_delete ( assembler : * mut aeron_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create a controlled fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_controlled_fragment_assembler_delete ( assembler : * mut aeron_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Return a pointer to the counter value." ] # [ doc = "" ] # [ doc = " @param counter to pointer to." ] # [ doc = " @return pointer to the counter value." ] pub fn aeron_counter_addr ( counter : * mut aeron_counter_t ) -> * mut i64 ; } extern "C" { # [ doc = " Asynchronously close the counter." ] # [ doc = "" ] # [ doc = " @param counter to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_counter_close ( counter : * mut aeron_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return full version and build string." ] # [ doc = "" ] # [ doc = " @return full version and build string." ] pub fn aeron_version_full ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = " Return major version number." ] # [ doc = "" ] # [ doc = " @return major version number." ] pub fn aeron_version_major ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return minor version number." ] # [ doc = "" ] # [ doc = " @return minor version number." ] pub fn aeron_version_minor ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return patch version number." ] # [ doc = "" ] # [ doc = " @return patch version number." ] pub fn aeron_version_patch ( ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Clock function used by aeron." ] pub type aeron_clock_func_t = :: std :: option :: Option < unsafe extern "C" fn ( ) -> i64 > ; extern "C" { # [ doc = " Return time in nanoseconds for machine. Is not wall clock time." ] # [ doc = "" ] # [ doc = " @return nanoseconds since epoch for machine." ] pub fn aeron_nano_clock ( ) -> i64 ; } extern "C" { # [ doc = " Return time in milliseconds since epoch. Is wall clock time." ] # [ doc = "" ] # [ doc = " @return milliseconds since epoch." ] pub fn aeron_epoch_clock ( ) -> i64 ; } # [ doc = " Function to return logging information." ] pub type aeron_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ; extern "C" { # [ doc = " Determine if an aeron driver is using a given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname for aeron directory" ] # [ doc = " @param timeout_ms to use to determine activity for aeron directory" ] # [ doc = " @param log_func to call during activity check to log diagnostic information." ] # [ doc = " @return true for active driver or false for no active driver." ] pub fn aeron_is_driver_active ( dirname : * const :: std :: os :: raw :: c_char , timeout_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } extern "C" { # [ doc = " Load properties from a string containing name=value pairs and set appropriate environment variables for the" ] # [ doc = " process so that subsequent calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param buffer containing properties and values." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_buffer_load ( buffer : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties file and set appropriate environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param filename to load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_file_load ( filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties from HTTP URL and set environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param url to attempt to retrieve and load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_http_load ( url : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties based on URL or filename. If string contains file or http URL, it will attempt" ] # [ doc = " to load properties from a file or http as indicated. If not a URL, then it will try to load the string" ] # [ doc = " as a filename." ] # [ doc = "" ] # [ doc = " @param url_or_filename to load properties from." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_load ( url_or_filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return current aeron error code (errno) for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error code for calling thread." ] pub fn aeron_errcode ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the current aeron error message for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error message for calling thread." ] pub fn aeron_errmsg ( ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_clock_cache_stct { _unused : [ u8 ; 0 ] , } # [ doc = " Opaque reference to a cached clock instance." ] pub type aeron_clock_cache_t = aeron_clock_cache_stct ; extern "C" { # [ doc = " Update the cached clock with the current epoch and nano time values." ] # [ doc = "" ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @param epoch_time current ms since epoch." ] # [ doc = " @param nano_time current ns time." ] pub fn aeron_clock_update_cached_time ( cached_time : * mut aeron_clock_cache_t , epoch_time : i64 , nano_time : i64 ) ; } extern "C" { # [ doc = " Retrieves the cached epoch time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the epoch time." ] pub fn aeron_clock_cached_epoch_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Retrieves the cached nano time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the nano time." ] pub fn aeron_clock_cached_nano_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Allocate a cached clock" ] # [ doc = " @param cached_time Pointer to the pointer to be initialised with the new cached clock" ] # [ doc = " @return -1 if allocation fails, e.g. out of memory." ] pub fn aeron_clock_cache_alloc ( cached_time : * mut * mut aeron_clock_cache_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Free a cached clock." ] # [ doc = " @param cached_time" ] pub fn aeron_clock_cache_free ( cached_time : * mut aeron_clock_cache_t ) ; } extern "C" { pub fn aeron_randomised_int32 ( ) -> i32 ; } extern "C" { pub fn aeron_thread_set_name ( role_name : * const :: std :: os :: raw :: c_char ) ; } pub type aeron_mutex_t = pthread_mutex_t ; pub type aeron_thread_t = pthread_t ; extern "C" { pub fn aeron_nano_sleep ( nanoseconds : u64 ) ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_log_entry_stct { pub length : i32 , pub observation_count : i32 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , } # [ test ] fn bindgen_test_layout_aeron_error_log_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_log_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_log_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; } pub type aeron_error_log_entry_t = aeron_error_log_entry_stct ; pub type aeron_resource_linger_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , resource : * mut u8 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_observation_stct { pub description : * const :: std :: os :: raw :: c_char , pub error_code : :: std :: os :: raw :: c_int , pub offset : size_t , pub description_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_observation_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_observation_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_observation_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description_length ) ) ) ; } pub type aeron_distinct_observation_t = aeron_distinct_observation_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_observation_list_stct { pub num_observations : u64 , pub observations : * mut aeron_distinct_observation_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_observation_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . num_observations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( num_observations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . observations as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( observations ) ) ) ; } pub type aeron_distinct_error_log_observation_list_t = aeron_distinct_error_log_observation_list_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_stct { pub buffer : * mut u8 , pub observation_list : * mut aeron_distinct_error_log_observation_list_t , pub buffer_capacity : size_t , pub next_offset : size_t , pub clock : aeron_clock_func_t , pub linger_resource : aeron_resource_linger_func_t , pub linger_resource_clientd : * mut :: std :: os :: raw :: c_void , pub mutex : aeron_mutex_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_stct > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . observation_list as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( observation_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer_capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer_capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . next_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( next_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource_clientd as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . mutex as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( mutex ) ) ) ; } pub type aeron_distinct_error_log_t = aeron_distinct_error_log_stct ; extern "C" { pub fn aeron_distinct_error_log_init ( log : * mut aeron_distinct_error_log_t , buffer : * mut u8 , buffer_size : size_t , clock : aeron_clock_func_t , linger : aeron_resource_linger_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_distinct_error_log_close ( log : * mut aeron_distinct_error_log_t ) ; } extern "C" { pub fn aeron_distinct_error_log_record ( log : * mut aeron_distinct_error_log_t , error_code : :: std :: os :: raw :: c_int , description : * const :: std :: os :: raw :: c_char , message : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub type aeron_error_log_reader_func_t = :: std :: option :: Option < unsafe extern "C" fn ( observation_count : i32 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , error : * const :: std :: os :: raw :: c_char , error_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_error_log_exists ( buffer : * const u8 , buffer_size : size_t ) -> bool ; } extern "C" { pub fn aeron_error_log_read ( buffer : * const u8 , buffer_size : size_t , reader : aeron_error_log_reader_func_t , clientd : * mut :: std :: os :: raw :: c_void , since_timestamp : i64 ) -> size_t ; } extern "C" { pub fn aeron_distinct_error_log_num_observations ( log : * mut aeron_distinct_error_log_t ) -> size_t ; } pub type aeron_idle_strategy_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) > ; pub type aeron_idle_strategy_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , init_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_managed_resource_stct { pub registration_id : i64 , pub time_of_last_state_change : i64 , pub clientd : * mut :: std :: os :: raw :: c_void , pub decref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub incref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_managed_resource_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_managed_resource_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_managed_resource_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . time_of_last_state_change as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( time_of_last_state_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . decref as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( decref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . incref as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( incref ) ) ) ; } pub type aeron_driver_managed_resource_t = aeron_driver_managed_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_position_stct { pub counter_id : i32 , pub value_addr : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_position_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; } pub type aeron_position_t = aeron_position_stct ; pub type aeron_atomic_counter_t = aeron_position_stct ; pub mod aeron_subscription_tether_state_enum { pub type Type = u32 ; pub const AERON_SUBSCRIPTION_TETHER_ACTIVE : Type = 0 ; pub const AERON_SUBSCRIPTION_TETHER_LINGER : Type = 1 ; pub const AERON_SUBSCRIPTION_TETHER_RESTING : Type = 2 ; } pub use self :: aeron_subscription_tether_state_enum :: Type as aeron_subscription_tether_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_tetherable_position_stct { pub is_tether : bool , pub state : aeron_subscription_tether_state_t , pub counter_id : i32 , pub value_addr : * mut i64 , pub subscription_registration_id : i64 , pub time_of_last_update_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_tetherable_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_tetherable_position_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_tetherable_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . is_tether as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . time_of_last_update_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( time_of_last_update_ns ) ) ) ; } pub type aeron_tetherable_position_t = aeron_tetherable_position_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_tetherable_position_t , pub add_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub remove_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_subscribable_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . add_position_hook_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( add_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . remove_position_hook_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( remove_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . clientd as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( clientd ) ) ) ; } pub type aeron_subscribable_t = aeron_subscribable_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_base_stct { pub func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) > , pub item : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_base_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_base_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_base_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . item as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( item ) ) ) ; } pub type aeron_command_base_t = aeron_command_base_stct ; pub type aeron_feedback_delay_generator_state_t = aeron_feedback_delay_generator_state_stct ; pub type aeron_feedback_delay_generator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct { pub static_delay : aeron_feedback_delay_generator_state_stct_static_delay_stct , pub optimal_delay : aeron_feedback_delay_generator_state_stct_optimal_delay_stct , pub should_immediate_feedback : bool , pub delay_generator : aeron_feedback_delay_generator_func_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_static_delay_stct { pub delay_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_static_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) ) ) . delay_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) , "::" , stringify ! ( delay_ns ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_optimal_delay_stct { pub rand_max : f64 , pub base_x : f64 , pub constant_t : f64 , pub factor_t : f64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_optimal_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . rand_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( rand_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . base_x as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( base_x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . constant_t as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( constant_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . factor_t as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( factor_t ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . static_delay as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( static_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . optimal_delay as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( optimal_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . should_immediate_feedback as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( should_immediate_feedback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . delay_generator as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( delay_generator ) ) ) ; } extern "C" { pub fn aeron_driver_subscribable_remove_position ( subscribable : * mut aeron_subscribable_t , counter_id : i32 ) ; } extern "C" { pub fn aeron_command_on_delete_cmd ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } pub type aeron_driver_context_t = aeron_driver_context_stct ; pub type aeron_driver_t = aeron_driver_stct ; extern "C" { pub fn aeron_driver_context_set_dir ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_dir_warn_if_exists ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_warn_if_exists ( context : * mut aeron_driver_context_t ) -> bool ; } pub mod aeron_threading_mode_enum { pub type Type = u32 ; pub const AERON_THREADING_MODE_DEDICATED : Type = 0 ; pub const AERON_THREADING_MODE_SHARED_NETWORK : Type = 1 ; pub const AERON_THREADING_MODE_SHARED : Type = 2 ; pub const AERON_THREADING_MODE_INVOKER : Type = 3 ; } pub use self :: aeron_threading_mode_enum :: Type as aeron_threading_mode_t ; extern "C" { pub fn aeron_driver_context_set_threading_mode ( context : * mut aeron_driver_context_t , mode : aeron_threading_mode_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_threading_mode ( context : * mut aeron_driver_context_t ) -> aeron_threading_mode_t ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_start ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_start ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_to_conductor_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_conductor_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_to_clients_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_clients_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_counters_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_error_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_error_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_sparse_file ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_sparse_file ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_perform_storage_checks ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_perform_storage_checks ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_spies_simulate_connection ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_spies_simulate_connection ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_file_page_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_file_page_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_socket_so_rcvbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_rcvbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_so_sndbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_sndbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_multicast_ttl ( context : * mut aeron_driver_context_t , value : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_multicast_ttl ( context : * mut aeron_driver_context_t ) -> u8 ; } extern "C" { pub fn aeron_driver_context_set_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub type aeron_flow_control_strategy_t = aeron_flow_control_strategy_stct ; pub type aeron_udp_channel_t = aeron_udp_channel_stct ; pub type aeron_flow_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { # [ doc = " Return a flow control strategy supplier function pointer associated with the given name. This only will find" ] # [ doc = " strategies built into the driver and will not try to dynamically load nor find any in the current executable." ] # [ doc = "" ] # [ doc = " @param name of the strategy" ] # [ doc = " @return function pointer to supplier associated with the name" ] pub fn aeron_flow_control_strategy_supplier_by_name ( name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_rcv_initial_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_initial_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } pub type aeron_congestion_control_strategy_t = aeron_congestion_control_strategy_stct ; pub type aeron_counters_manager_t = aeron_counters_manager_stct ; pub type aeron_congestion_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_congestioncontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_congestion_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_congestioncontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_loss_report_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_loss_report_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_timer_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_timer_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_agent_on_start_function ( context : * mut aeron_driver_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_function ( context : * mut aeron_driver_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_tag ( context : * mut aeron_driver_context_t , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_tag ( context : * mut aeron_driver_context_t ) -> i64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_min_size ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_min_size ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_receiver_group_tag ( context : * mut aeron_driver_context_t , is_present : bool , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_is_present ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_value ( context : * mut aeron_driver_context_t ) -> i64 ; } pub type aeron_driver_termination_validator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : i32 ) -> bool > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_validator ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_validator_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_validator_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } pub type aeron_driver_termination_hook_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_hook ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_hook_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_hook_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_print_configuration ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_print_configuration ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_reliable_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_reliable_stream ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_tether_subscriptions ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_tether_subscriptions ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_driver_timeout_ms ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_timeout_ms ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_group_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_group_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub mod aeron_inferable_boolean_enum { pub type Type = u32 ; pub const AERON_FORCE_FALSE : Type = 0 ; pub const AERON_FORCE_TRUE : Type = 1 ; pub const AERON_INFER : Type = 2 ; } pub use self :: aeron_inferable_boolean_enum :: Type as aeron_inferable_boolean_t ; extern "C" { pub fn aeron_driver_context_set_receiver_group_consideration ( context : * mut aeron_driver_context_t , value : aeron_inferable_boolean_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_consideration ( context : * mut aeron_driver_context_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_set_rejoin_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rejoin_stream ( context : * mut aeron_driver_context_t ) -> bool ; } pub type aeron_udp_channel_transport_bindings_t = aeron_udp_channel_transport_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_transport_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_t = aeron_udp_channel_interceptor_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t ) -> i32 ; } pub type aeron_name_resolver_t = aeron_name_resolver_stct ; pub type aeron_name_resolver_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_resolver_name ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_name ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_interface ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_interface ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_supplier ( context : * mut aeron_driver_context_t , value : aeron_name_resolver_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_supplier ( context : * mut aeron_driver_context_t ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { # [ doc = " Create a aeron_driver_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_init ( context : * mut * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_close ( context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_driver_t struct and initialize from the aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_driver_context_t struct will be used exclusively by the driver. Do not reuse between drivers." ] # [ doc = "" ] # [ doc = " @param driver to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_init ( driver : * mut * mut aeron_driver_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_driver_t given the threading mode. This may spawn threads for the Sender, Receiver, and Conductor" ] # [ doc = " depending on threading mode used." ] # [ doc = "" ] # [ doc = " @param driver to start." ] # [ doc = " @param manual_main_loop to be called by the caller for the Conductor do_work cycle." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_start ( driver : * mut aeron_driver_t , manual_main_loop : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Driver must have been created with manual_main_loop set to true." ] # [ doc = "" ] # [ doc = " @param driver to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_main_do_work ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) Idle Strategy." ] # [ doc = "" ] # [ doc = " @param driver to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_driver_main_idle_strategy ( driver : * mut aeron_driver_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_driver_t struct." ] # [ doc = "" ] # [ doc = " @param driver to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_close ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete the given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname to delete." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_delete_directory ( dirname : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_param_stct { pub key : * const :: std :: os :: raw :: c_char , pub value : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_aeron_uri_param_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_param_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_param_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . key as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( value ) ) ) ; } pub type aeron_uri_param_t = aeron_uri_param_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_params_stct { pub length : size_t , pub array : * mut aeron_uri_param_t , } # [ test ] fn bindgen_test_layout_aeron_uri_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . array as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( array ) ) ) ; } pub type aeron_uri_params_t = aeron_uri_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_publication_params_stct { pub has_position : bool , pub is_sparse : bool , pub signal_eos : bool , pub mtu_length : size_t , pub term_length : size_t , pub term_offset : size_t , pub initial_term_id : i32 , pub term_id : i32 , pub linger_timeout_ns : u64 , pub has_session_id : bool , pub session_id : i32 , pub entity_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_uri_publication_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_publication_params_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_publication_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_position as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . signal_eos as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . mtu_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . session_id as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; } pub type aeron_uri_publication_params_t = aeron_uri_publication_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_subscription_params_stct { pub is_reliable : bool , pub is_sparse : bool , pub is_tether : bool , pub is_rejoin : bool , pub group : aeron_inferable_boolean_t , pub has_session_id : bool , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_uri_subscription_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_subscription_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_subscription_params_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_tether as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . group as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_uri_subscription_params_t = aeron_uri_subscription_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_params_stct { pub endpoint : * const :: std :: os :: raw :: c_char , pub bind_interface : * const :: std :: os :: raw :: c_char , pub control : * const :: std :: os :: raw :: c_char , pub control_mode : * const :: std :: os :: raw :: c_char , pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub ttl : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_params_stct > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . bind_interface as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( bind_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . ttl as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_udp_channel_params_t = aeron_udp_channel_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_channel_params_stct { pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_channel_params_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_ipc_channel_params_t = aeron_ipc_channel_params_stct ; pub mod aeron_uri_type_enum { pub type Type = u32 ; pub const AERON_URI_UDP : Type = 0 ; pub const AERON_URI_IPC : Type = 1 ; pub const AERON_URI_UNKNOWN : Type = 2 ; } pub use self :: aeron_uri_type_enum :: Type as aeron_uri_type_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_stct { pub mutable_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub type_ : aeron_uri_type_t , pub params : aeron_uri_stct__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union aeron_uri_stct__bindgen_ty_1 { pub udp : aeron_udp_channel_params_t , pub ipc : aeron_ipc_channel_params_t , _bindgen_union_align : [ u64 ; 9usize ] , } # [ test ] fn bindgen_test_layout_aeron_uri_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . ipc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( ipc ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_uri_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . mutable_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( mutable_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . type_ as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . params as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( params ) ) ) ; } pub type aeron_uri_t = aeron_uri_stct ; pub type aeron_uri_parse_callback_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_uri_parse_params ( uri : * mut :: std :: os :: raw :: c_char , param_func : aeron_uri_parse_callback_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_udp_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_ipc_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , params : * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_close ( params : * mut aeron_uri_t ) ; } extern "C" { pub fn aeron_uri_multicast_ttl ( uri : * mut aeron_uri_t ) -> u8 ; } extern "C" { pub fn aeron_uri_find_param_value ( uri_params : * const aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_uri_get_int64 ( uri_params : * mut aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char , retval : * mut i64 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_driver_conductor_t = aeron_driver_conductor_stct ; extern "C" { pub fn aeron_uri_publication_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_publication_params_t , context : * mut aeron_driver_conductor_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_subscription_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_subscription_params_t , conductor : * mut aeron_driver_conductor_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse_tag ( tag_str : * const :: std :: os :: raw :: c_char ) -> i64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type socklen_t = __socklen_t ; pub type sa_family_t = :: std :: os :: raw :: c_ushort ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr { pub sa_family : sa_family_t , pub sa_data : [ :: std :: os :: raw :: c_char ; 14usize ] , } # [ test ] fn bindgen_test_layout_sockaddr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_data as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr_storage { pub ss_family : sa_family_t , pub __ss_padding : [ :: std :: os :: raw :: c_char ; 118usize ] , pub __ss_align : :: std :: os :: raw :: c_ulong , } # [ test ] fn bindgen_test_layout_sockaddr_storage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr_storage > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr_storage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . ss_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( ss_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_padding as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_align as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct msghdr { pub msg_name : * mut :: std :: os :: raw :: c_void , pub msg_namelen : socklen_t , pub msg_iov : * mut iovec , pub msg_iovlen : size_t , pub msg_control : * mut :: std :: os :: raw :: c_void , pub msg_controllen : size_t , pub msg_flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_msghdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < msghdr > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < msghdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_namelen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_namelen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iovlen as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iovlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_control as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_controllen as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_controllen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_flags ) ) ) ; } pub type in_addr_t = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in_addr { pub s_addr : in_addr_t , } # [ test ] fn bindgen_test_layout_in_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in_addr > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in_addr > ( ) ) ) . s_addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in_addr ) , "::" , stringify ! ( s_addr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in6_addr { pub __in6_u : in6_addr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union in6_addr__bindgen_ty_1 { pub __u6_addr8 : [ u8 ; 16usize ] , pub __u6_addr16 : [ u16 ; 8usize ] , pub __u6_addr32 : [ u32 ; 4usize ] , _bindgen_union_align : [ u32 ; 4usize ] , } # [ test ] fn bindgen_test_layout_in6_addr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr8 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr16 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr32 ) ) ) ; } # [ test ] fn bindgen_test_layout_in6_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr > ( ) ) ) . __in6_u as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr ) , "::" , stringify ! ( __in6_u ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct addrinfo { pub ai_flags : :: std :: os :: raw :: c_int , pub ai_family : :: std :: os :: raw :: c_int , pub ai_socktype : :: std :: os :: raw :: c_int , pub ai_protocol : :: std :: os :: raw :: c_int , pub ai_addrlen : socklen_t , pub ai_addr : * mut sockaddr , pub ai_canonname : * mut :: std :: os :: raw :: c_char , pub ai_next : * mut addrinfo , } # [ test ] fn bindgen_test_layout_addrinfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < addrinfo > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < addrinfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_family as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_socktype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_socktype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_protocol as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_protocol ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addrlen as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addrlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_canonname as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_canonname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_next as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_next ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ifaddrs { pub ifa_next : * mut ifaddrs , pub ifa_name : * mut :: std :: os :: raw :: c_char , pub ifa_flags : :: std :: os :: raw :: c_uint , pub ifa_addr : * mut sockaddr , pub ifa_netmask : * mut sockaddr , pub ifa_ifu : ifaddrs__bindgen_ty_1 , pub ifa_data : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ifaddrs__bindgen_ty_1 { pub ifu_broadaddr : * mut sockaddr , pub ifu_dstaddr : * mut sockaddr , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ifaddrs__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_broadaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_broadaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_dstaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_dstaddr ) ) ) ; } # [ test ] fn bindgen_test_layout_ifaddrs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_netmask as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_netmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_ifu as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_ifu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_data ) ) ) ; } pub type aeron_socket_t = :: std :: os :: raw :: c_int ; extern "C" { pub fn aeron_socket ( domain : :: std :: os :: raw :: c_int , type_ : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> aeron_socket_t ; } extern "C" { pub fn aeron_close_socket ( socket : aeron_socket_t ) ; } extern "C" { pub fn aeron_net_init ( ) ; } extern "C" { pub fn aeron_getsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * mut :: std :: os :: raw :: c_void , optlen : * mut socklen_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_setsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * const :: std :: os :: raw :: c_void , optlen : socklen_t ) -> :: std :: os :: raw :: c_int ; } pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_SENDER : aeron_udp_channel_transport_affinity_en = 0 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_RECEIVER : aeron_udp_channel_transport_affinity_en = 1 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_CONDUCTOR : aeron_udp_channel_transport_affinity_en = 2 ; pub type aeron_udp_channel_transport_affinity_en = u32 ; pub use self :: aeron_udp_channel_transport_affinity_en as aeron_udp_channel_transport_affinity_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct mmsghdr { _unused : [ u8 ; 0 ] , } pub type aeron_udp_channel_transport_t = aeron_udp_channel_transport_stct ; pub type aeron_udp_transport_poller_t = aeron_udp_transport_poller_stct ; pub type aeron_udp_channel_data_paths_t = aeron_udp_channel_data_paths_stct ; pub type aeron_udp_channel_transport_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_recv_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_transport_recvmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_get_so_rcvbuf_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_bind_addr_and_port_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_add_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_remove_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_poll_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct { pub init_func : aeron_udp_channel_transport_init_func_t , pub close_func : aeron_udp_channel_transport_close_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub get_so_rcvbuf_func : aeron_udp_channel_transport_get_so_rcvbuf_func_t , pub bind_addr_and_port_func : aeron_udp_channel_transport_bind_addr_and_port_func_t , pub poller_init_func : aeron_udp_transport_poller_init_func_t , pub poller_close_func : aeron_udp_transport_poller_close_func_t , pub poller_add_func : aeron_udp_transport_poller_add_func_t , pub poller_remove_func : aeron_udp_transport_poller_remove_func_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub meta_info : aeron_udp_channel_transport_bindings_stct_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_binding : * const aeron_udp_channel_transport_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . next_binding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( next_binding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . close_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . get_so_rcvbuf_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( get_so_rcvbuf_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . bind_addr_and_port_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( bind_addr_and_port_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_init_func as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_close_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_add_func as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_add_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_remove_func as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_remove_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_bindings_load_media ( bindings_name : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_load_func_t = :: std :: option :: Option < unsafe extern "C" fn ( delegate_bindings : * mut aeron_udp_channel_interceptor_bindings_t ) -> * mut aeron_udp_channel_interceptor_bindings_t > ; extern "C" { pub fn aeron_udp_channel_interceptor_bindings_load ( existing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , interceptors : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } pub type aeron_udp_channel_outgoing_interceptor_t = aeron_udp_channel_outgoing_interceptor_stct ; pub type aeron_udp_channel_incoming_interceptor_t = aeron_udp_channel_incoming_interceptor_stct ; pub type aeron_udp_channel_interceptor_outgoing_mmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_outgoing_msg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_incoming_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_incoming_interceptor_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_interceptor_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut * mut :: std :: os :: raw :: c_void , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct { pub outgoing_init_func : aeron_udp_channel_interceptor_init_func_t , pub incoming_init_func : aeron_udp_channel_interceptor_init_func_t , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub outgoing_close_func : aeron_udp_channel_interceptor_close_func_t , pub incoming_close_func : aeron_udp_channel_interceptor_close_func_t , pub meta_info : aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_interceptor_bindings : * const aeron_udp_channel_interceptor_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . next_interceptor_bindings as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( next_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_init_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_close_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_close_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_outgoing_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_outgoing_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_outgoing_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_incoming_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_incoming_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_incoming_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . incoming_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_data_paths_stct { pub outgoing_interceptors : * mut aeron_udp_channel_outgoing_interceptor_t , pub incoming_interceptors : * mut aeron_udp_channel_incoming_interceptor_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub recv_func : aeron_udp_transport_recv_func_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_data_paths_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_data_paths_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_data_paths_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . outgoing_interceptors as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( outgoing_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . incoming_interceptors as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( incoming_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . recv_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( recv_func ) ) ) ; } extern "C" { pub fn aeron_udp_channel_data_paths_init ( data_paths : * mut aeron_udp_channel_data_paths_t , outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , media_bindings : * mut aeron_udp_channel_transport_bindings_t , recv_func : aeron_udp_transport_recv_func_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_data_paths_delete ( data_paths : * mut aeron_udp_channel_data_paths_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_frame_header_stct { pub frame_length : i32 , pub version : i8 , pub flags : u8 , pub type_ : i16 , } # [ test ] fn bindgen_test_layout_aeron_frame_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_frame_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_frame_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . frame_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( frame_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . version as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . flags as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . type_ as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( type_ ) ) ) ; } pub type aeron_frame_header_t = aeron_frame_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_setup_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_length : i32 , pub mtu : i32 , pub ttl : i32 , } # [ test ] fn bindgen_test_layout_aeron_setup_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_setup_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_setup_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . active_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . mtu as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( mtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . ttl as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( ttl ) ) ) ; } pub type aeron_setup_header_t = aeron_setup_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub reserved_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_data_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_header_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . reserved_value as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( reserved_value ) ) ) ; } pub type aeron_data_header_t = aeron_data_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_nak_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub term_offset : i32 , pub length : i32 , } # [ test ] fn bindgen_test_layout_aeron_nak_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_nak_header_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_nak_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_nak_header_t = aeron_nak_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub consumption_term_id : i32 , pub consumption_term_offset : i32 , pub receiver_window : i32 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_header_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_window as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_status_message_header_t = aeron_status_message_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_optional_header_stct { pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_optional_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_optional_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_optional_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_optional_header_stct > ( ) ) ) . group_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_optional_header_stct ) , "::" , stringify ! ( group_tag ) ) ) ; } pub type aeron_status_message_optional_header_t = aeron_status_message_optional_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rttm_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub echo_timestamp : i64 , pub reception_delta : i64 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_rttm_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rttm_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rttm_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . echo_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( echo_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . reception_delta as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( reception_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_rttm_header_t = aeron_rttm_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_stct { pub res_type : i8 , pub res_flags : u8 , pub udp_port : u16 , pub age_in_ms : i32 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . udp_port as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( udp_port ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . age_in_ms as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( age_in_ms ) ) ) ; } pub type aeron_resolution_header_t = aeron_resolution_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv4_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 4usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv4_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv4_stct > ( ) , 14usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv4_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . name_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv4_t = aeron_resolution_header_ipv4_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv6_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 16usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv6_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv6_stct > ( ) , 26usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv6_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . name_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv6_t = aeron_resolution_header_ipv6_stct ; extern "C" { pub fn aeron_udp_protocol_group_tag ( sm : * mut aeron_status_message_header_t , group_tag : * mut i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_res_header_entry_length_ipv4 ( header : * mut aeron_resolution_header_ipv4_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length_ipv6 ( header : * mut aeron_resolution_header_ipv6_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length ( res : * mut :: std :: os :: raw :: c_void , remaining : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_logbuffer_metadata_stct { pub term_tail_counters : [ i64 ; 3usize ] , pub active_term_count : i32 , pub pad1 : [ u8 ; 100usize ] , pub end_of_stream_position : i64 , pub is_connected : i32 , pub active_transport_count : i32 , pub pad2 : [ u8 ; 112usize ] , pub correlation_id : i64 , pub initial_term_id : i32 , pub default_frame_header_length : i32 , pub mtu_length : i32 , pub term_length : i32 , pub page_size : i32 , pub pad3 : [ u8 ; 36usize ] , } # [ test ] fn bindgen_test_layout_aeron_logbuffer_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_logbuffer_metadata_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_logbuffer_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_tail_counters as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_tail_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_term_count as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_term_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . end_of_stream_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( end_of_stream_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . is_connected as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_transport_count as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_transport_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad2 as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . correlation_id as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . default_frame_header_length as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( default_frame_header_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . mtu_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_length as * const _ as usize } , 276usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad3 as * const _ as usize } , 284usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad3 ) ) ) ; } pub type aeron_logbuffer_metadata_t = aeron_logbuffer_metadata_stct ; extern "C" { pub fn aeron_logbuffer_check_term_length ( term_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_logbuffer_check_page_size ( page_size : u64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_file_stct { pub addr : * mut :: std :: os :: raw :: c_void , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_file_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_file_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_file_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_file_t = aeron_mapped_file_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_buffer_stct { pub addr : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_buffer_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_buffer_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_buffer_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_buffer_t = aeron_mapped_buffer_stct ; extern "C" { pub fn aeron_is_directory ( path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_new_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char , fill_with_zeroes : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unmap ( mapped_file : * mut aeron_mapped_file_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_usable_fs_space_func_t = :: std :: option :: Option < unsafe extern "C" fn ( path : * const :: std :: os :: raw :: c_char ) -> u64 > ; extern "C" { pub fn aeron_file_length ( path : * const :: std :: os :: raw :: c_char ) -> i64 ; } extern "C" { pub fn aeron_usable_fs_space ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } extern "C" { pub fn aeron_usable_fs_space_disabled ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_raw_log_stct { pub term_buffers : [ aeron_mapped_buffer_t ; 3usize ] , pub log_meta_data : aeron_mapped_buffer_t , pub mapped_file : aeron_mapped_file_t , pub term_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_raw_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_raw_log_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_raw_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . mapped_file as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( mapped_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_length as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_length ) ) ) ; } pub type aeron_mapped_raw_log_t = aeron_mapped_raw_log_stct ; extern "C" { pub fn aeron_ipc_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_temp_filename ( filename : * mut :: std :: os :: raw :: c_char , length : size_t ) -> size_t ; } pub type aeron_map_raw_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , arg2 : * const :: std :: os :: raw :: c_char , arg3 : bool , arg4 : u64 , arg5 : u64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_map_raw_log_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_map_raw_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , use_sparse_files : bool , term_length : u64 , page_size : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , pre_touch : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_raw_log_close ( mapped_raw_log : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub const aeron_queue_offer_result_stct_AERON_OFFER_SUCCESS : aeron_queue_offer_result_stct = 0 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_ERROR : aeron_queue_offer_result_stct = -2 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_FULL : aeron_queue_offer_result_stct = -1 ; pub type aeron_queue_offer_result_stct = i32 ; pub use self :: aeron_queue_offer_result_stct as aeron_queue_offer_result_t ; pub type aeron_queue_drain_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub padding : [ i8 ; 48usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_spsc_concurrent_array_queue_t = aeron_spsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_spsc_concurrent_array_queue_init ( queue : * mut aeron_spsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_spsc_concurrent_array_queue_close ( queue : * mut aeron_spsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub shared_head_cache : u64 , pub padding : [ i8 ; 40usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . shared_head_cache as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( shared_head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_mpsc_concurrent_array_queue_t = aeron_mpsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_mpsc_concurrent_array_queue_init ( queue : * mut aeron_mpsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_concurrent_array_queue_close ( queue : * mut aeron_mpsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_descriptor_stct { pub begin_pad : [ u8 ; 128usize ] , pub tail_position : i64 , pub tail_pad : [ u8 ; 120usize ] , pub head_cache_position : i64 , pub head_cache_pad : [ u8 ; 120usize ] , pub head_position : i64 , pub head_pad : [ u8 ; 120usize ] , pub correlation_counter : i64 , pub correlation_counter_pad : [ u8 ; 120usize ] , pub consumer_heartbeat : i64 , pub consumer_heartbeat_pad : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_rb_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_descriptor_stct > ( ) , 768usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . begin_pad as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( begin_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_pad as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_position as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_pad as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_position as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_pad as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter_pad as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat_pad as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat_pad ) ) ) ; } pub type aeron_rb_descriptor_t = aeron_rb_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_rb_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_rb_record_descriptor_t = aeron_rb_record_descriptor_stct ; pub const aeron_rb_write_result_stct_AERON_RB_SUCCESS : aeron_rb_write_result_stct = 0 ; pub const aeron_rb_write_result_stct_AERON_RB_ERROR : aeron_rb_write_result_stct = -2 ; pub const aeron_rb_write_result_stct_AERON_RB_FULL : aeron_rb_write_result_stct = -1 ; pub type aeron_rb_write_result_stct = i32 ; pub use self :: aeron_rb_write_result_stct as aeron_rb_write_result_t ; pub type aeron_rb_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : * const :: std :: os :: raw :: c_void , arg3 : size_t , arg4 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_rb_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_rb_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mpsc_rb_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_rb_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_rb_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_mpsc_rb_t = aeron_mpsc_rb_stct ; extern "C" { pub fn aeron_mpsc_rb_init ( ring_buffer : * mut aeron_mpsc_rb_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_rb_write ( ring_buffer : * mut aeron_mpsc_rb_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> aeron_rb_write_result_t ; } extern "C" { pub fn aeron_mpsc_rb_read ( ring_buffer : * mut aeron_mpsc_rb_t , handler : aeron_rb_handler_t , clientd : * mut :: std :: os :: raw :: c_void , message_count_limit : size_t ) -> size_t ; } extern "C" { pub fn aeron_mpsc_rb_next_correlation_id ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time ( ring_buffer : * mut aeron_mpsc_rb_t , now_ms : i64 ) ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time_value ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_unblock ( ring_buffer : * mut aeron_mpsc_rb_t ) -> bool ; } pub type aeron_flow_control_strategy_on_idle_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , snd_lmt : i64 , snd_pos : i64 , is_end_of_stream : bool ) -> i64 > ; pub type aeron_flow_control_strategy_on_sm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , sm : * const u8 , length : size_t , recv_addr : * mut sockaddr_storage , snd_lmt : i64 , initial_term_id : i32 , position_bits_to_shift : size_t , now_ns : i64 ) -> i64 > ; pub type aeron_flow_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_flow_control_strategy_has_required_receivers = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_stct { pub on_status_message : aeron_flow_control_strategy_on_sm_func_t , pub on_idle : aeron_flow_control_strategy_on_idle_func_t , pub fini : aeron_flow_control_strategy_fini_func_t , pub has_required_receivers : aeron_flow_control_strategy_has_required_receivers , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_status_message as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_status_message ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_idle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . has_required_receivers as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( has_required_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_flow_control_strategy_has_required_receivers_default ( strategy : * mut aeron_flow_control_strategy_t ) -> bool ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct { pub strategy_name_length : size_t , pub strategy_name : * const :: std :: os :: raw :: c_char , pub group_tag : aeron_flow_control_tagged_options_stct__bindgen_ty_1 , pub timeout_ns : aeron_flow_control_tagged_options_stct__bindgen_ty_2 , pub group_min_size : aeron_flow_control_tagged_options_stct__bindgen_ty_3 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_2 { pub is_present : bool , pub value : u64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_3 { pub is_present : bool , pub value : i32 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . value as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_min_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_min_size ) ) ) ; } pub type aeron_flow_control_tagged_options_t = aeron_flow_control_tagged_options_stct ; extern "C" { pub fn aeron_flow_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_max_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_min_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_to_string ( strategy : * mut aeron_flow_control_strategy_t , buffer : * mut :: std :: os :: raw :: c_char , buffer_len : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_supplier_func_table_entry_stct { pub name : * const :: std :: os :: raw :: c_char , pub supplier_func : aeron_flow_control_strategy_supplier_func_t , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_supplier_func_table_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . supplier_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( supplier_func ) ) ) ; } pub type aeron_flow_control_strategy_supplier_func_table_entry_t = aeron_flow_control_strategy_supplier_func_table_entry_stct ; extern "C" { pub fn aeron_flow_control_parse_tagged_options ( options_length : size_t , options : * const :: std :: os :: raw :: c_char , flow_control_options : * mut aeron_flow_control_tagged_options_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_congestion_control_strategy_should_measure_rtt_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 ) -> bool > ; pub type aeron_congestion_control_strategy_on_rttm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , rtt_ns : i64 , source_address : * mut sockaddr_storage ) > ; pub type aeron_congestion_control_strategy_on_track_rebuild_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , should_force_sm : * mut bool , now_ns : i64 , new_consumption_position : i64 , last_sm_position : i64 , hwm_position : i64 , starting_rebuild_position : i64 , ending_rebuild_position : i64 , loss_occurred : bool ) -> i32 > ; pub type aeron_congestion_control_strategy_initial_window_length_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void ) -> i32 > ; pub type aeron_congestion_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_congestion_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_congestion_control_strategy_stct { pub should_measure_rtt : aeron_congestion_control_strategy_should_measure_rtt_func_t , pub on_rttm : aeron_congestion_control_strategy_on_rttm_func_t , pub on_track_rebuild : aeron_congestion_control_strategy_on_track_rebuild_func_t , pub initial_window_length : aeron_congestion_control_strategy_initial_window_length_func_t , pub fini : aeron_congestion_control_strategy_fini_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_congestion_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_congestion_control_strategy_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_congestion_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . should_measure_rtt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( should_measure_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_rttm as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_rttm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_track_rebuild as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_track_rebuild ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_congestion_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_static_window_congestion_control_strategy_supplier ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_semantic_version_compose ( major : u8 , minor : u8 , patch : u8 ) -> i32 ; } extern "C" { pub fn aeron_semantic_version_major ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_minor ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_patch ( version : i32 ) -> u8 ; } pub type aeron_agent_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_agent_on_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_idle_strategy_stct { pub idle : aeron_idle_strategy_func_t , pub init : aeron_idle_strategy_init_func_t , } # [ test ] fn bindgen_test_layout_aeron_idle_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_idle_strategy_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_idle_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . init as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( init ) ) ) ; } pub type aeron_idle_strategy_t = aeron_idle_strategy_stct ; extern "C" { pub fn aeron_idle_strategy_sleeping_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_yielding_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_busy_spinning_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_noop_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_state_init ( state : * mut * mut :: std :: os :: raw :: c_void , max_spins : u64 , max_yields : u64 , min_park_period_ns : u64 , max_park_period_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_idle_strategy_init_null ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_agent_runner_stct { pub role_name : * const :: std :: os :: raw :: c_char , pub agent_state : * mut :: std :: os :: raw :: c_void , pub idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub on_start_state : * mut :: std :: os :: raw :: c_void , pub on_start : aeron_agent_on_start_func_t , pub do_work : aeron_agent_do_work_func_t , pub on_close : aeron_agent_on_close_func_t , pub idle_strategy : aeron_idle_strategy_func_t , pub thread : aeron_thread_t , pub running : bool , pub state : u8 , } # [ test ] fn bindgen_test_layout_aeron_agent_runner_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_agent_runner_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_agent_runner_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . role_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( role_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . agent_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( agent_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy_state as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start_state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . do_work as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( do_work ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_close as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_close ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . thread as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( thread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . running as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( running ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . state as * const _ as usize } , 73usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_agent_runner_t = aeron_agent_runner_stct ; extern "C" { pub fn aeron_idle_strategy_load ( idle_strategy_name : * const :: std :: os :: raw :: c_char , idle_strategy_state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> aeron_idle_strategy_func_t ; } extern "C" { pub fn aeron_agent_on_start_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_agent_init ( runner : * mut aeron_agent_runner_t , role_name : * const :: std :: os :: raw :: c_char , state : * mut :: std :: os :: raw :: c_void , on_start : aeron_agent_on_start_func_t , on_start_state : * mut :: std :: os :: raw :: c_void , do_work : aeron_agent_do_work_func_t , on_close : aeron_agent_on_close_func_t , idle_strategy_func : aeron_idle_strategy_func_t , idle_strategy_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_start ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_stop ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_close ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_value_descriptor_stct { pub counter_value : i64 , pub pad1 : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_value_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_value_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_value_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . counter_value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( counter_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . pad1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( pad1 ) ) ) ; } pub type aeron_counter_value_descriptor_t = aeron_counter_value_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_metadata_descriptor_stct { pub state : i32 , pub type_id : i32 , pub free_to_reuse_deadline : i64 , pub key : [ u8 ; 112usize ] , pub label_length : i32 , pub label : [ u8 ; 380usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_metadata_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( type_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . free_to_reuse_deadline as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( free_to_reuse_deadline ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . key as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label_length as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label ) ) ) ; } pub type aeron_counter_metadata_descriptor_t = aeron_counter_metadata_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stream_position_counter_key_layout_stct { pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 92usize ] , } # [ test ] fn bindgen_test_layout_aeron_stream_position_counter_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_stream_position_counter_key_layout_t = aeron_stream_position_counter_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_channel_endpoint_status_key_layout_stct { pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 108usize ] , } # [ test ] fn bindgen_test_layout_aeron_channel_endpoint_status_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_channel_endpoint_status_key_layout_t = aeron_channel_endpoint_status_key_layout_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_heartbeat_timestamp_key_layout_stct { pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_heartbeat_timestamp_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_heartbeat_timestamp_key_layout_t = aeron_heartbeat_timestamp_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_local_sockaddr_key_layout_stct { pub channel_status_id : i32 , pub local_sockaddr_len : i32 , pub local_sockaddr : [ :: std :: os :: raw :: c_char ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_local_sockaddr_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . channel_status_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( channel_status_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr ) ) ) ; } pub type aeron_local_sockaddr_key_layout_t = aeron_local_sockaddr_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_manager_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub id_high_water_mark : i32 , pub free_list : * mut i32 , pub free_list_index : i32 , pub free_list_length : size_t , pub clock_func : aeron_clock_func_t , pub free_to_reuse_timeout_ms : i64 , } # [ test ] fn bindgen_test_layout_aeron_counters_manager_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_manager_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_manager_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . id_high_water_mark as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( id_high_water_mark ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_index as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_length as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . clock_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( clock_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_to_reuse_timeout_ms as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_to_reuse_timeout_ms ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_reader_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub max_counter_id : size_t , } # [ test ] fn bindgen_test_layout_aeron_counters_reader_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_reader_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_reader_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . max_counter_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( max_counter_id ) ) ) ; } extern "C" { pub fn aeron_counters_manager_init ( manager : * mut aeron_counters_manager_t , metadata_buffer : * mut u8 , metadata_length : size_t , values_buffer : * mut u8 , values_length : size_t , clock_func : aeron_clock_func_t , free_to_reuse_timeout_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_counters_manager_close ( manager : * mut aeron_counters_manager_t ) ; } extern "C" { pub fn aeron_counters_manager_allocate ( manager : * mut aeron_counters_manager_t , type_id : i32 , key : * const u8 , key_length : size_t , label : * const :: std :: os :: raw :: c_char , label_length : size_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_update_label ( manager : * mut aeron_counters_manager_t , counter_id : i32 , label_length : size_t , label : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn aeron_counters_manager_next_counter_id ( manager : * mut aeron_counters_manager_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_free ( manager : * mut aeron_counters_manager_t , counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_counters_reader_foreach_metadata_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : i32 , arg3 : * const u8 , arg4 : size_t , arg5 : * const u8 , arg6 : size_t , arg7 : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_counters_reader_foreach_metadata ( metadata_buffer : * mut u8 , metadata_length : size_t , func : aeron_counters_reader_foreach_metadata_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_SENT : aeron_system_counter_enum_stct = 0 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_RECEIVED : aeron_system_counter_enum_stct = 1 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RECEIVER_PROXY_FAILS : aeron_system_counter_enum_stct = 2 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_PROXY_FAILS : aeron_system_counter_enum_stct = 3 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONDUCTOR_PROXY_FAILS : aeron_system_counter_enum_stct = 4 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_SENT : aeron_system_counter_enum_stct = 5 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 6 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_SENT : aeron_system_counter_enum_stct = 7 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 8 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_SENT : aeron_system_counter_enum_stct = 9 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_RECEIVED : aeron_system_counter_enum_stct = 10 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RETRANSMITS_SENT : aeron_system_counter_enum_stct = 11 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_UNDER_RUNS : aeron_system_counter_enum_stct = 12 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_OVER_RUNS : aeron_system_counter_enum_stct = 13 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_INVALID_PACKETS : aeron_system_counter_enum_stct = 14 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_ERRORS : aeron_system_counter_enum_stct = 15 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SHORT_SENDS : aeron_system_counter_enum_stct = 16 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FREE_FAILS : aeron_system_counter_enum_stct = 17 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_FLOW_CONTROL_LIMITS : aeron_system_counter_enum_stct = 18 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_PUBLICATIONS : aeron_system_counter_enum_stct = 19 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_COMMANDS : aeron_system_counter_enum_stct = 20 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_POSSIBLE_TTL_ASYMMETRY : aeron_system_counter_enum_stct = 21 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONTROLLABLE_IDLE_STRATEGY : aeron_system_counter_enum_stct = 22 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_LOSS_GAP_FILLS : aeron_system_counter_enum_stct = 23 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CLIENT_TIMEOUTS : aeron_system_counter_enum_stct = 24 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RESOLUTION_CHANGES : aeron_system_counter_enum_stct = 25 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_DUMMY_LAST : aeron_system_counter_enum_stct = 26 ; pub type aeron_system_counter_enum_stct = u32 ; pub use self :: aeron_system_counter_enum_stct as aeron_system_counter_enum_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counter_stct { pub label : * const :: std :: os :: raw :: c_char , pub id : i32 , } # [ test ] fn bindgen_test_layout_aeron_system_counter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counter_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . label as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( label ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( id ) ) ) ; } pub type aeron_system_counter_t = aeron_system_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counters_stct { pub counter_ids : * mut i32 , pub manager : * mut aeron_counters_manager_t , } # [ test ] fn bindgen_test_layout_aeron_system_counters_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counters_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counters_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . counter_ids as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( counter_ids ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . manager as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( manager ) ) ) ; } pub type aeron_system_counters_t = aeron_system_counters_stct ; extern "C" { pub fn aeron_system_counters_init ( counters : * mut aeron_system_counters_t , manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_system_counters_close ( counters : * mut aeron_system_counters_t ) ; } pub type aeron_name_resolver_resolve_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int > ; # [ doc = " Resolves a name to a host:port string." ] # [ doc = "" ] # [ doc = " @return 0 if not found, 1 if found, -1 on error." ] pub type aeron_name_resolver_lookup_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_name_resolver_stct { pub lookup_func : aeron_name_resolver_lookup_func_t , pub resolve_func : aeron_name_resolver_resolve_func_t , pub do_work_func : aeron_name_resolver_do_work_func_t , pub close_func : aeron_name_resolver_close_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_name_resolver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_name_resolver_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_name_resolver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . lookup_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( lookup_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . resolve_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( resolve_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . do_work_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( do_work_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_name_resolver_supplier_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_name_resolver_init ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_supplier ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_resolve ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_lookup ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_do_work ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_close ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_name_resolver_resolve_host_and_port ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_cnc_metadata_stct { pub cnc_version : i32 , pub to_driver_buffer_length : i32 , pub to_clients_buffer_length : i32 , pub counter_metadata_buffer_length : i32 , pub counter_values_buffer_length : i32 , pub error_log_buffer_length : i32 , pub client_liveness_timeout : i64 , pub start_timestamp : i64 , pub pid : i64 , } # [ test ] fn bindgen_test_layout_aeron_cnc_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_cnc_metadata_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_cnc_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . cnc_version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( cnc_version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_metadata_buffer_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_metadata_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_values_buffer_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . error_log_buffer_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( error_log_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . client_liveness_timeout as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( client_liveness_timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . start_timestamp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( start_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . pid as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( pid ) ) ) ; } pub type aeron_cnc_metadata_t = aeron_cnc_metadata_stct ; extern "C" { pub fn aeron_cnc_version_volatile ( metadata : * mut aeron_cnc_metadata_t ) -> i32 ; } pub type aeron_driver_conductor_proxy_t = aeron_driver_conductor_proxy_stct ; pub type aeron_driver_sender_proxy_t = aeron_driver_sender_proxy_stct ; pub type aeron_driver_receiver_proxy_t = aeron_driver_receiver_proxy_stct ; pub type aeron_driver_conductor_to_driver_interceptor_func_t = aeron_rb_handler_t ; pub type aeron_driver_conductor_to_client_interceptor_func_t = :: std :: option :: Option < unsafe extern "C" fn ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct { pub aeron_dir : * mut :: std :: os :: raw :: c_char , pub threading_mode : aeron_threading_mode_t , pub receiver_group_consideration : aeron_inferable_boolean_t , pub dirs_delete_on_start : bool , pub dirs_delete_on_shutdown : bool , pub warn_if_dirs_exist : bool , pub term_buffer_sparse_file : bool , pub perform_storage_checks : bool , pub spies_simulate_connection : bool , pub print_configuration_on_start : bool , pub reliable_stream : bool , pub tether_subscriptions : bool , pub rejoin_stream : bool , pub driver_timeout_ms : u64 , pub client_liveness_timeout_ns : u64 , pub publication_linger_timeout_ns : u64 , pub status_message_timeout_ns : u64 , pub image_liveness_timeout_ns : u64 , pub publication_unblock_timeout_ns : u64 , pub publication_connection_timeout_ns : u64 , pub timer_interval_ns : u64 , pub counter_free_to_reuse_ns : u64 , pub untethered_window_limit_timeout_ns : u64 , pub untethered_resting_timeout_ns : u64 , pub retransmit_unicast_delay_ns : u64 , pub retransmit_unicast_linger_ns : u64 , pub nak_unicast_delay_ns : u64 , pub nak_multicast_max_backoff_ns : u64 , pub re_resolution_check_interval_ns : u64 , pub to_driver_buffer_length : size_t , pub to_clients_buffer_length : size_t , pub counters_values_buffer_length : size_t , pub error_buffer_length : size_t , pub term_buffer_length : size_t , pub ipc_term_buffer_length : size_t , pub mtu_length : size_t , pub ipc_mtu_length : size_t , pub ipc_publication_window_length : size_t , pub publication_window_length : size_t , pub socket_rcvbuf : size_t , pub socket_sndbuf : size_t , pub send_to_sm_poll_ratio : size_t , pub initial_window_length : size_t , pub loss_report_length : size_t , pub file_page_size : size_t , pub nak_multicast_group_size : size_t , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub multicast_ttl : u8 , pub receiver_group_tag : aeron_driver_context_stct__bindgen_ty_1 , pub flow_control : aeron_driver_context_stct__bindgen_ty_2 , pub cnc_map : aeron_mapped_file_t , pub loss_report : aeron_mapped_file_t , pub to_driver_buffer : * mut u8 , pub to_clients_buffer : * mut u8 , pub counters_values_buffer : * mut u8 , pub counters_metadata_buffer : * mut u8 , pub error_buffer : * mut u8 , pub nano_clock : aeron_clock_func_t , pub epoch_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub sender_command_queue : aeron_spsc_concurrent_array_queue_t , pub receiver_command_queue : aeron_spsc_concurrent_array_queue_t , pub conductor_command_queue : aeron_mpsc_concurrent_array_queue_t , pub agent_on_start_func : aeron_agent_on_start_func_t , pub agent_on_start_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_func : aeron_idle_strategy_func_t , pub conductor_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub conductor_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_network_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_network_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub sender_idle_strategy_func : aeron_idle_strategy_func_t , pub sender_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub sender_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub sender_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub receiver_idle_strategy_func : aeron_idle_strategy_func_t , pub receiver_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub receiver_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub receiver_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub usable_fs_space_func : aeron_usable_fs_space_func_t , pub map_raw_log_func : aeron_map_raw_log_func_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub multicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub congestion_control_supplier_func : aeron_congestion_control_strategy_supplier_func_t , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub counters_manager : * mut aeron_counters_manager_t , pub system_counters : * mut aeron_system_counters_t , pub error_log : * mut aeron_distinct_error_log_t , pub to_driver_interceptor_func : aeron_driver_conductor_to_driver_interceptor_func_t , pub to_client_interceptor_func : aeron_driver_conductor_to_client_interceptor_func_t , pub termination_validator_func : aeron_driver_termination_validator_func_t , pub termination_validator_state : * mut :: std :: os :: raw :: c_void , pub termination_hook_func : aeron_driver_termination_hook_func_t , pub termination_hook_state : * mut :: std :: os :: raw :: c_void , pub udp_channel_transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub udp_channel_outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub udp_channel_incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub next_receiver_id : i64 , pub unicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub multicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub resolver_name : * const :: std :: os :: raw :: c_char , pub resolver_interface : * const :: std :: os :: raw :: c_char , pub resolver_bootstrap_neighbor : * const :: std :: os :: raw :: c_char , pub name_resolver_supplier_func : aeron_name_resolver_supplier_func_t , pub name_resolver_init_args : * const :: std :: os :: raw :: c_char , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_2 { pub group_min_size : i32 , pub receiver_timeout_ns : u64 , pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_min_size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_min_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . receiver_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( receiver_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_tag ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct > ( ) , 1600usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . aeron_dir as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( aeron_dir ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_consideration as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_consideration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_start as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_shutdown as * const _ as usize } , 17usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . warn_if_dirs_exist as * const _ as usize } , 18usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( warn_if_dirs_exist ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_sparse_file as * const _ as usize } , 19usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_sparse_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . perform_storage_checks as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( perform_storage_checks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 21usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . print_configuration_on_start as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( print_configuration_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . reliable_stream as * const _ as usize } , 23usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( reliable_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . tether_subscriptions as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( tether_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . rejoin_stream as * const _ as usize } , 25usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( rejoin_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . driver_timeout_ms as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( driver_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . client_liveness_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( client_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_linger_timeout_ns as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . status_message_timeout_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( status_message_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . image_liveness_timeout_ns as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( image_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_unblock_timeout_ns as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_connection_timeout_ns as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . timer_interval_ns as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( timer_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counter_free_to_reuse_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counter_free_to_reuse_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_window_limit_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_window_limit_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_resting_timeout_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_resting_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_delay_ns as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_linger_ns as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_linger_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_unicast_delay_ns as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_max_backoff_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_max_backoff_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . re_resolution_check_interval_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( re_resolution_check_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer_length as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer_length as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_term_buffer_length as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . mtu_length as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_mtu_length as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_publication_window_length as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_window_length as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_rcvbuf as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_sndbuf as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_sndbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . send_to_sm_poll_ratio as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( send_to_sm_poll_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . file_page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( file_page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_group_size as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_group_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 300usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_tag as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . flow_control as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cnc_map as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cnc_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_metadata_buffer as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_metadata_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nano_clock as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . epoch_clock as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( epoch_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cached_clock as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_command_queue as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_command_queue as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_command_queue as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_func as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_state as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_func as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_state as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_init_args as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_name as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_func as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_state as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_init_args as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_name as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_func as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_state as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_init_args as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_name as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_func as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_state as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_init_args as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_name as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_func as * const _ as usize } , 1240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_state as * const _ as usize } , 1248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_init_args as * const _ as usize } , 1256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_name as * const _ as usize } , 1264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . usable_fs_space_func as * const _ as usize } , 1272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( usable_fs_space_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_func as * const _ as usize } , 1280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_flow_control_supplier_func as * const _ as usize } , 1296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_flow_control_supplier_func as * const _ as usize } , 1304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . congestion_control_supplier_func as * const _ as usize } , 1312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( congestion_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 1320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 1328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 1336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_manager as * const _ as usize } , 1344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . system_counters as * const _ as usize } , 1352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_log as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_interceptor_func as * const _ as usize } , 1368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_client_interceptor_func as * const _ as usize } , 1376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_client_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_func as * const _ as usize } , 1384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_state as * const _ as usize } , 1392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_func as * const _ as usize } , 1400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_state as * const _ as usize } , 1408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_transport_bindings as * const _ as usize } , 1416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_outgoing_interceptor_bindings as * const _ as usize } , 1424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_outgoing_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_incoming_interceptor_bindings as * const _ as usize } , 1432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_incoming_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . next_receiver_id as * const _ as usize } , 1440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( next_receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_delay_feedback_generator as * const _ as usize } , 1448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_delay_feedback_generator as * const _ as usize } , 1504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_name as * const _ as usize } , 1560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_interface as * const _ as usize } , 1568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_bootstrap_neighbor as * const _ as usize } , 1576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_bootstrap_neighbor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_supplier_func as * const _ as usize } , 1584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_init_args as * const _ as usize } , 1592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_init_args ) ) ) ; } extern "C" { pub fn aeron_config_parse_inferable_boolean ( inferable_boolean : * const :: std :: os :: raw :: c_char , def : aeron_inferable_boolean_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_print_configuration ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_fill_cnc_metadata ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_context_validate_mtu_length ( mtu_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_cnc_length ( context : * mut aeron_driver_context_t ) -> size_t ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_descriptor_stct { pub tail_intent_counter : i64 , pub tail_counter : i64 , pub latest_counter : i64 , pub pad : [ u8 ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_broadcast_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_intent_counter as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_intent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_counter as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . latest_counter as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( latest_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . pad as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( pad ) ) ) ; } pub type aeron_broadcast_descriptor_t = aeron_broadcast_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_broadcast_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_broadcast_record_descriptor_t = aeron_broadcast_record_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_transmitter_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_broadcast_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_broadcast_transmitter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_transmitter_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_transmitter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_broadcast_transmitter_t = aeron_broadcast_transmitter_stct ; extern "C" { pub fn aeron_broadcast_transmitter_init ( transmitter : * mut aeron_broadcast_transmitter_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_broadcast_transmitter_transmit ( transmitter : * mut aeron_broadcast_transmitter_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_correlated_command_stct { pub client_id : i64 , pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_correlated_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_correlated_command_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_correlated_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . correlation_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_correlated_command_t = aeron_correlated_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_command_stct { pub correlated : aeron_correlated_command_t , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_publication_command_t = aeron_publication_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_buffers_ready_stct { pub correlation_id : i64 , pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub position_limit_counter_id : i32 , pub channel_status_indicator_id : i32 , pub log_file_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_buffers_ready_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . position_limit_counter_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( position_limit_counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . log_file_length as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( log_file_length ) ) ) ; } pub type aeron_publication_buffers_ready_t = aeron_publication_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_command_stct { pub correlated : aeron_correlated_command_t , pub registration_correlation_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_command_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . registration_correlation_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( registration_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_subscription_command_t = aeron_subscription_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_ready_stct { pub correlation_id : i64 , pub channel_status_indicator_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_ready_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; } pub type aeron_subscription_ready_t = aeron_subscription_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_buffers_ready_stct { pub correlation_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub subscriber_registration_id : i64 , pub subscriber_position_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_buffers_ready_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_position_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_position_id ) ) ) ; } pub type aeron_image_buffers_ready_t = aeron_image_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_operation_succeeded_stct { pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_operation_succeeded_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_operation_succeeded_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_operation_succeeded_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_operation_succeeded_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_operation_succeeded_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_operation_succeeded_t = aeron_operation_succeeded_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_response_stct { pub offending_command_correlation_id : i64 , pub error_code : i32 , pub error_message_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_error_response_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_response_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_response_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . offending_command_correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( offending_command_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_message_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_message_length ) ) ) ; } pub type aeron_error_response_t = aeron_error_response_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_remove_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_remove_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_remove_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_remove_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_remove_command_t = aeron_remove_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_message_stct { pub correlation_id : i64 , pub subscription_registration_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_message_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_message_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_message_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_image_message_t = aeron_image_message_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_destination_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_destination_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_destination_command_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_destination_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_destination_command_t = aeron_destination_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_command_stct { pub correlated : aeron_correlated_command_t , pub type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . type_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( type_id ) ) ) ; } pub type aeron_counter_command_t = aeron_counter_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_update_stct { pub correlation_id : i64 , pub counter_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_update_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_update_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_update_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( counter_id ) ) ) ; } pub type aeron_counter_update_t = aeron_counter_update_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_timeout_stct { pub client_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_client_timeout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_timeout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_timeout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_timeout_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_timeout_stct ) , "::" , stringify ! ( client_id ) ) ) ; } pub type aeron_client_timeout_t = aeron_client_timeout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_terminate_driver_command_stct { pub correlated : aeron_correlated_command_t , pub token_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_terminate_driver_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_terminate_driver_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_terminate_driver_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . token_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( token_length ) ) ) ; } pub type aeron_terminate_driver_command_t = aeron_terminate_driver_command_stct ; pub mod aeron_ipc_publication_state_enum { pub type Type = u32 ; pub const AERON_IPC_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_IPC_PUBLICATION_STATE_INACTIVE : Type = 1 ; pub const AERON_IPC_PUBLICATION_STATE_LINGER : Type = 2 ; } pub use self :: aeron_ipc_publication_state_enum :: Type as aeron_ipc_publication_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct { pub mapped_raw_log : aeron_mapped_raw_log_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub pub_lmt_position : aeron_position_t , pub pub_pos_position : aeron_position_t , pub conductor_fields : aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_window_length : i64 , pub trip_gain : i64 , pub unblock_timeout_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub is_exclusive : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_ipc_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub trip_limit : i64 , pub clean_position : i64 , pub consumer_position : i64 , pub last_consumer_position : i64 , pub time_of_last_consumer_position_change : i64 , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . trip_limit as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( trip_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . consumer_position as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . last_consumer_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( last_consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . time_of_last_consumer_position_change as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_consumer_position_change ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . tag as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 316usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_ipc_publication_t = aeron_ipc_publication_stct ; extern "C" { pub fn aeron_ipc_publication_create ( publication : * mut * mut aeron_ipc_publication_t , context : * mut aeron_driver_context_t , session_id : i32 , stream_id : i32 , registration_id : i64 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , initial_term_id : i32 , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_ipc_publication_t ) ; } extern "C" { pub fn aeron_ipc_publication_update_pub_lmt ( publication : * mut aeron_ipc_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_clean_buffer ( publication : * mut aeron_ipc_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_ipc_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_check_for_blocked_publisher ( publication : * mut aeron_ipc_publication_t , producer_position : i64 , now_ns : i64 ) ; } extern "C" { pub fn aeron_format_date ( str : * mut :: std :: os :: raw :: c_char , count : size_t , timestamp : i64 ) ; } extern "C" { pub fn aeron_format_to_hex ( str : * mut :: std :: os :: raw :: c_char , str_length : size_t , data : * mut u8 , data_len : size_t ) ; } extern "C" { pub fn aeron_tokenise ( input : * mut :: std :: os :: raw :: c_char , delimiter : :: std :: os :: raw :: c_char , max_tokens : :: std :: os :: raw :: c_int , tokens : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_per_thread_error_stct { pub errcode : :: std :: os :: raw :: c_int , pub errmsg : [ :: std :: os :: raw :: c_char ; 384usize ] , } # [ test ] fn bindgen_test_layout_aeron_per_thread_error_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_per_thread_error_stct > ( ) , 388usize , concat ! ( "Size of: " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_per_thread_error_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errmsg as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errmsg ) ) ) ; } pub type aeron_per_thread_error_t = aeron_per_thread_error_stct ; extern "C" { pub fn aeron_set_err ( errcode : :: std :: os :: raw :: c_int , format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_set_err_from_last_err_code ( format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_error_code_str ( errcode : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_key_stct { pub str : * const :: std :: os :: raw :: c_char , pub hash_code : u64 , pub str_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_key_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . hash_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( hash_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str_length ) ) ) ; } pub type aeron_str_to_ptr_hash_map_key_t = aeron_str_to_ptr_hash_map_key_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_stct { pub keys : * mut aeron_str_to_ptr_hash_map_key_t , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_str_to_ptr_hash_map_t = aeron_str_to_ptr_hash_map_stct ; pub type aeron_str_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , key_len : size_t , value : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_ptr_hash_map_stct { pub keys : * mut i64 , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_ptr_hash_map_t = aeron_int64_to_ptr_hash_map_stct ; pub type aeron_int64_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; pub type aeron_uri_hostname_resolver_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , host : * const :: std :: os :: raw :: c_char , hints : * mut addrinfo , info : * mut * mut addrinfo ) -> :: std :: os :: raw :: c_int > ; pub type aeron_getifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut * mut ifaddrs ) -> :: std :: os :: raw :: c_int > ; pub type aeron_freeifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ifaddrs ) > ; pub type aeron_ifaddr_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr , netmask : * mut sockaddr , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_ip_addr_resolver ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , family_hint : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_port_resolver ( port_str : * const :: std :: os :: raw :: c_char , optional : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv4 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv4_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv6 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv6_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces_from_ifaddrs ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void , ifaddrs : * mut ifaddrs ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_getifaddrs ( get_func : aeron_getifaddrs_func_t , free_func : aeron_freeifaddrs_func_t ) ; } extern "C" { pub fn aeron_interface_parse_and_resolve ( interface_str : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , prefixlen : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_ipv4_wildcard_host_and_port ( sockaddr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_ipv4_does_prefix_match ( in_addr1 : * mut in_addr , in_addr2 : * mut in_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv6_does_prefix_match ( in6_addr1 : * mut in6_addr , in6_addr2 : * mut in6_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv4_netmask_to_prefixlen ( netmask : * mut in_addr ) -> size_t ; } extern "C" { pub fn aeron_ipv6_netmask_to_prefixlen ( netmask : * mut in6_addr ) -> size_t ; } extern "C" { pub fn aeron_find_interface ( interface_str : * const :: std :: os :: raw :: c_char , if_addr : * mut sockaddr_storage , if_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_find_unicast_interface ( family : :: std :: os :: raw :: c_int , interface_str : * const :: std :: os :: raw :: c_char , interface_addr : * mut sockaddr_storage , interface_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_is_addr_multicast ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_addr ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_port ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_format_source_identity ( buffer : * mut :: std :: os :: raw :: c_char , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_retransmit_action_state_enum { pub type Type = u32 ; pub const AERON_RETRANSMIT_ACTION_STATE_DELAYED : Type = 0 ; pub const AERON_RETRANSMIT_ACTION_STATE_LINGERING : Type = 1 ; pub const AERON_RETRANSMIT_ACTION_STATE_INACTIVE : Type = 2 ; } pub use self :: aeron_retransmit_action_state_enum :: Type as aeron_retransmit_action_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_action_stct { pub expiry_ns : i64 , pub term_id : i32 , pub term_offset : i32 , pub length : size_t , pub state : aeron_retransmit_action_state_t , } # [ test ] fn bindgen_test_layout_aeron_retransmit_action_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_action_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_action_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_retransmit_action_t = aeron_retransmit_action_stct ; pub type aeron_retransmit_handler_resend_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_handler_stct { pub retransmit_action_pool : [ aeron_retransmit_action_t ; 16usize ] , pub active_retransmits_map : aeron_int64_to_ptr_hash_map_t , pub delay_timeout_ns : u64 , pub linger_timeout_ns : u64 , pub invalid_packets_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_retransmit_handler_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_handler_stct > ( ) , 584usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_handler_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . retransmit_action_pool as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( retransmit_action_pool ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . active_retransmits_map as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( active_retransmits_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . delay_timeout_ns as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( delay_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . invalid_packets_counter as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( invalid_packets_counter ) ) ) ; } pub type aeron_retransmit_handler_t = aeron_retransmit_handler_stct ; extern "C" { pub fn aeron_retransmit_handler_init ( handler : * mut aeron_retransmit_handler_t , invalid_packets_counter : * mut i64 , delay_timeout_ns : u64 , linger_timeout_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_close ( handler : * mut aeron_retransmit_handler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_on_nak ( handler : * mut aeron_retransmit_handler_t , term_id : i32 , term_offset : i32 , length : size_t , term_length : size_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_process_timeouts ( handler : * mut aeron_retransmit_handler_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_network_publication_state_enum { pub type Type = u32 ; pub const AERON_NETWORK_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_NETWORK_PUBLICATION_STATE_DRAINING : Type = 1 ; pub const AERON_NETWORK_PUBLICATION_STATE_LINGER : Type = 2 ; pub const AERON_NETWORK_PUBLICATION_STATE_CLOSING : Type = 3 ; } pub use self :: aeron_network_publication_state_enum :: Type as aeron_network_publication_state_t ; pub type aeron_send_channel_endpoint_t = aeron_send_channel_endpoint_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct { pub conductor_fields : aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct , pub conductor_fields_pad : [ u8 ; 128usize ] , pub mapped_raw_log : aeron_mapped_raw_log_t , pub pub_pos_position : aeron_position_t , pub pub_lmt_position : aeron_position_t , pub snd_pos_position : aeron_position_t , pub snd_lmt_position : aeron_position_t , pub snd_bpe_counter : aeron_atomic_counter_t , pub retransmit_handler : aeron_retransmit_handler_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_send_channel_endpoint_t , pub flow_control : * mut aeron_flow_control_strategy_t , pub cached_clock : * mut aeron_clock_cache_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_buffer_length : i64 , pub term_window_length : i64 , pub trip_gain : i64 , pub linger_timeout_ns : i64 , pub unblock_timeout_ns : i64 , pub connection_timeout_ns : i64 , pub time_of_last_send_or_heartbeat_ns : i64 , pub time_of_last_setup_ns : i64 , pub status_message_deadline_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub mtu_length : size_t , pub is_exclusive : bool , pub spies_simulate_connection : bool , pub signal_eos : bool , pub should_send_setup_frame : bool , pub has_receivers : bool , pub has_spies : bool , pub is_connected : bool , pub is_end_of_stream : bool , pub track_sender_limits : bool , pub has_sender_released : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub short_sends_counter : * mut i64 , pub heartbeats_sent_counter : * mut i64 , pub sender_flow_control_limits_counter : * mut i64 , pub retransmits_sent_counter : * mut i64 , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_network_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub clean_position : i64 , pub time_of_last_activity_ns : i64 , pub last_snd_pos : i64 , } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . last_snd_pos as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( last_snd_pos ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct > ( ) , 1232usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields_pad as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_pos_position as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_lmt_position as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_bpe_counter as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_bpe_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmit_handler as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmit_handler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . endpoint as * const _ as usize } , 1016usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . flow_control as * const _ as usize } , 1024usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . cached_clock as * const _ as usize } , 1032usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 1040usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 1048usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 1056usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 1064usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 1072usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 1080usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . connection_timeout_ns as * const _ as usize } , 1088usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_send_or_heartbeat_ns as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_send_or_heartbeat_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_setup_ns as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_setup_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . status_message_deadline_ns as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( status_message_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . tag as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 1132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 1140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mtu_length as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 1169usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . signal_eos as * const _ as usize } , 1170usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . should_send_setup_frame as * const _ as usize } , 1171usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( should_send_setup_frame ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_receivers as * const _ as usize } , 1172usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_spies as * const _ as usize } , 1173usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_spies ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_connected as * const _ as usize } , 1174usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 1175usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . track_sender_limits as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( track_sender_limits ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 1177usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . heartbeats_sent_counter as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( heartbeats_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . sender_flow_control_limits_counter as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( sender_flow_control_limits_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmits_sent_counter as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmits_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_network_publication_t = aeron_network_publication_stct ; extern "C" { pub fn aeron_network_publication_create ( publication : * mut * mut aeron_network_publication_t , endpoint : * mut aeron_send_channel_endpoint_t , context : * mut aeron_driver_context_t , registration_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , snd_pos_position : * mut aeron_position_t , snd_lmt_position : * mut aeron_position_t , snd_bpe_counter : * mut aeron_atomic_counter_t , flow_control_strategy : * mut aeron_flow_control_strategy_t , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , spies_simulate_connection : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_network_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_send ( publication : * mut aeron_network_publication_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_resend ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_send_data ( publication : * mut aeron_network_publication_t , now_ns : i64 , snd_pos : i64 , term_offset : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_on_nak ( publication : * mut aeron_network_publication_t , term_id : i32 , term_offset : i32 , length : i32 ) ; } extern "C" { pub fn aeron_network_publication_on_status_message ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_on_rttm ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_clean_buffer ( publication : * mut aeron_network_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_network_publication_update_pub_lmt ( publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_check_for_blocked_publisher ( publication : * mut aeron_network_publication_t , now_ns : i64 , producer_position : i64 , snd_pos : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_stct { pub original_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub canonical_form : [ :: std :: os :: raw :: c_char ; 384usize ] , pub uri : aeron_uri_t , pub remote_data : sockaddr_storage , pub local_data : sockaddr_storage , pub remote_control : sockaddr_storage , pub local_control : sockaddr_storage , pub tag_id : i64 , pub interface_index : :: std :: os :: raw :: c_uint , pub uri_length : size_t , pub canonical_length : size_t , pub multicast_ttl : u8 , pub has_explicit_endpoint : bool , pub has_explicit_control : bool , pub is_manual_control_mode : bool , pub is_dynamic_control_mode : bool , pub is_multicast : bool , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_stct > ( ) , 1784usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . original_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( original_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_form as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_form ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_data as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_data as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_control as * const _ as usize } , 1488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_control as * const _ as usize } , 1616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . tag_id as * const _ as usize } , 1744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( tag_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . interface_index as * const _ as usize } , 1752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( interface_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri_length as * const _ as usize } , 1760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_length as * const _ as usize } , 1768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 1776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_endpoint as * const _ as usize } , 1777usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_control as * const _ as usize } , 1778usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 1779usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_dynamic_control_mode as * const _ as usize } , 1780usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_dynamic_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_multicast as * const _ as usize } , 1781usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_multicast ) ) ) ; } extern "C" { pub fn aeron_udp_channel_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , resolver : * mut aeron_name_resolver_t , channel : * mut * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_delete ( channel : * const aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_stct { pub fd : aeron_socket_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub dispatch_clientd : * mut :: std :: os :: raw :: c_void , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , pub destination_clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . fd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . data_paths as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . dispatch_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( dispatch_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . destination_clientd as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( destination_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_init ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_close ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_recvmmsg ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_get_so_rcvbuf ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_bind_addr_and_port ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_entry_stct { pub time_of_last_activity_ns : i64 , pub destination_timeout_ns : i64 , pub receiver_id : i64 , pub is_receiver_id_valid : bool , pub uri : * mut aeron_uri_t , pub addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . receiver_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . is_receiver_id_valid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( is_receiver_id_valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . uri as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( addr ) ) ) ; } pub type aeron_udp_destination_entry_t = aeron_udp_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct { pub destinations : aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct , pub is_manual_control_mode : bool , pub cached_clock : * mut aeron_clock_cache_t , pub destination_timeout_ns : i64 , pub data_paths : * mut aeron_udp_channel_data_paths_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct { pub array : * mut aeron_udp_destination_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destinations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . cached_clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( data_paths ) ) ) ; } pub type aeron_udp_destination_tracker_t = aeron_udp_destination_tracker_stct ; extern "C" { pub fn aeron_udp_destination_tracker_init ( tracker : * mut aeron_udp_destination_tracker_t , data_paths : * mut aeron_udp_channel_data_paths_t , cached_clock : * mut aeron_clock_cache_t , is_manual_control_model : bool , timeout_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_close ( tracker : * mut aeron_udp_destination_tracker_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_on_status_message ( tracker : * mut aeron_udp_destination_tracker_t , buffer : * const u8 , len : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_manual_add_destination ( tracker : * mut aeron_udp_destination_tracker_t , now_ns : i64 , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_remove_destination ( tracker : * mut aeron_udp_destination_tracker_t , addr : * mut sockaddr_storage , removed_uri : * mut * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_check_for_re_resolution ( tracker : * mut aeron_udp_destination_tracker_t , endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_udp_destination_tracker_resolution_change ( tracker : * mut aeron_udp_destination_tracker_t , endpoint_name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr_storage ) ; } pub type aeron_driver_sender_t = aeron_driver_sender_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_proxy_stct { pub sender : * mut aeron_driver_sender_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . sender as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_resolution_change ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut aeron_send_channel_endpoint_t , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_destination_stct { pub base : aeron_command_base_t , pub control_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub uri : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_destination_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . control_address as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . uri as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( uri ) ) ) ; } pub type aeron_command_destination_t = aeron_command_destination_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_sender_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_sender_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_sender_resolution_change_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_sender_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_sender_resolution_change_t = aeron_command_sender_resolution_change_stct ; extern "C" { pub fn aeron_driver_sender_proxy_on_add_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_delete_cmd ( sender_proxy : * mut aeron_driver_sender_proxy_t , cmd : * mut aeron_command_base_t ) ; } pub mod aeron_send_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; } pub use self :: aeron_send_channel_endpoint_status_enum :: Type as aeron_send_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct { pub conductor_fields : aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct , pub has_sender_released : bool , pub transport : aeron_udp_channel_transport_t , pub channel_status : aeron_atomic_counter_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub destination_tracker : * mut aeron_udp_destination_tracker_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub publication_dispatch_map : aeron_int64_to_ptr_hash_map_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub current_data_addr : sockaddr_storage , pub cached_clock : * mut aeron_clock_cache_t , pub time_of_last_sm_ns : i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub refcnt : i32 , pub has_reached_end_of_life : bool , pub udp_channel : * const aeron_udp_channel_t , pub status : aeron_send_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . destination_tracker as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( destination_tracker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . publication_dispatch_map as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( publication_dispatch_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . data_paths as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . current_data_addr as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( current_data_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . time_of_last_sm_ns as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( time_of_last_sm_ns ) ) ) ; } extern "C" { pub fn aeron_send_channel_endpoint_create ( endpoint : * mut * mut aeron_send_channel_endpoint_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_send_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_endpoint_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_sendmmsg ( endpoint : * mut aeron_send_channel_endpoint_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_sendmsg ( endpoint : * mut aeron_send_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_add_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_remove_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , sender_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_nak ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_status_message ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_rttm ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_resolution_change ( endpoint : * mut aeron_send_channel_endpoint_t , endpoint_name : * const :: std :: os :: raw :: c_char , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_counter_map_stct { pub entries : * mut i64 , pub load_factor : f32 , pub entries_length : size_t , pub size : size_t , pub resize_threshold : size_t , pub initial_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_int64_counter_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_counter_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_counter_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . initial_value as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( initial_value ) ) ) ; } pub type aeron_int64_counter_map_t = aeron_int64_counter_map_stct ; pub type aeron_int64_counter_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : i64 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_entry_stct { pub value : * mut :: std :: os :: raw :: c_void , pub internal_flags : u32 , pub tag : u32 , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . internal_flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( internal_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . tag as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( tag ) ) ) ; } pub type aeron_int64_to_tagged_ptr_entry_t = aeron_int64_to_tagged_ptr_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_hash_map_stct { pub keys : * mut i64 , pub entries : * mut aeron_int64_to_tagged_ptr_entry_t , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . entries as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_tagged_ptr_hash_map_t = aeron_int64_to_tagged_ptr_hash_map_stct ; pub type aeron_int64_to_tagged_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_tagged_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_proxy_stct { pub conductor : * mut aeron_driver_conductor_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_mpsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . conductor as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , cmd : * mut aeron_command_base_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_create_publication_image_stct { pub base : aeron_command_base_t , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub control_address : sockaddr_storage , pub src_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_create_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_create_publication_image_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_create_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_offset as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . control_address as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . src_address as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( src_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . destination as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_create_publication_image_t = aeron_command_create_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_re_resolve_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub existing_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_re_resolve_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_re_resolve_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_re_resolve_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . existing_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( existing_addr ) ) ) ; } pub type aeron_command_re_resolve_t = aeron_command_re_resolve_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_delete_destination_stct { pub base : aeron_command_base_t , pub destination : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_delete_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_delete_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_delete_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . destination as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_delete_destination_t = aeron_command_delete_destination_stct ; extern "C" { pub fn aeron_driver_conductor_proxy_on_create_publication_image_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , term_offset : i32 , term_length : i32 , mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_linger_buffer ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , buffer : * mut u8 ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_endpoint ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_control ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_receive_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , destination : * mut :: std :: os :: raw :: c_void , channel : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_conductor_proxy_on_delete_send_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , removed_uri : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_receive_endpoint_removed ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct { pub conductor_fields : aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct , pub transport : aeron_udp_channel_transport_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub current_control_addr : sockaddr_storage , pub so_rcvbuf : size_t , pub time_of_last_activity_ns : i64 , pub has_control_addr : bool , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct { pub udp_channel : * mut aeron_udp_channel_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . transport as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . current_control_addr as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( current_control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . so_rcvbuf as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( so_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . has_control_addr as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( has_control_addr ) ) ) ; } pub type aeron_receive_destination_t = aeron_receive_destination_stct ; extern "C" { pub fn aeron_receive_destination_create ( destination : * mut * mut aeron_receive_destination_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t , channel_status_counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_destination_delete ( destination : * mut aeron_receive_destination_t , counters_manager : * mut aeron_counters_manager_t ) ; } pub type aeron_publication_image_t = aeron_publication_image_stct ; pub type aeron_receive_channel_endpoint_t = aeron_receive_channel_endpoint_stct ; pub type aeron_driver_receiver_t = aeron_driver_receiver_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct { pub ignored_sessions_map : aeron_int64_to_ptr_hash_map_t , pub session_by_stream_id_map : aeron_int64_to_ptr_hash_map_t , pub tokens : aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub receiver : * mut aeron_driver_receiver_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct { pub subscribed : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) ) ) . subscribed as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) , "::" , stringify ! ( subscribed ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . ignored_sessions_map as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( ignored_sessions_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . session_by_stream_id_map as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( session_by_stream_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . tokens as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( tokens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . receiver as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( receiver ) ) ) ; } pub type aeron_data_packet_dispatcher_t = aeron_data_packet_dispatcher_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_init ( dispatcher : * mut aeron_data_packet_dispatcher_t , conductor_proxy : * mut aeron_driver_conductor_proxy_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_close ( dispatcher : * mut aeron_data_packet_dispatcher_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stream_interest_stct { pub is_all_sessions : bool , pub image_by_session_id_map : aeron_int64_to_tagged_ptr_hash_map_t , pub subscribed_sessions : aeron_int64_to_ptr_hash_map_t , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stream_interest_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . is_all_sessions as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( is_all_sessions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . image_by_session_id_map as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( image_by_session_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . subscribed_sessions as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( subscribed_sessions ) ) ) ; } pub type aeron_data_packet_dispatcher_stream_interest_t = aeron_data_packet_dispatcher_stream_interest_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_data ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_data_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_setup ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_setup_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_rttm ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_rttm_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_elicit_setup_from_source ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_interest : * mut aeron_data_packet_dispatcher_stream_interest_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_receive_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSED : Type = 2 ; } pub use self :: aeron_receive_channel_endpoint_status_enum :: Type as aeron_receive_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_entry_stct { pub destination : * mut aeron_receive_destination_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_entry_stct > ( ) ) ) . destination as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_receive_destination_entry_t = aeron_receive_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct { pub conductor_fields : aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct , pub destinations : aeron_receive_channel_endpoint_stct_destination_stct , pub dispatcher : aeron_data_packet_dispatcher_t , pub stream_id_to_refcnt_map : aeron_int64_counter_map_t , pub stream_and_session_id_to_refcnt_map : aeron_int64_counter_map_t , pub channel_status : aeron_atomic_counter_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub cached_clock : * mut aeron_clock_cache_t , pub receiver_id : i64 , pub has_receiver_released : bool , pub group_tag : aeron_receive_channel_endpoint_stct__bindgen_ty_1 , pub short_sends_counter : * mut i64 , pub possible_ttl_asymmetry_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub udp_channel : * mut aeron_udp_channel_t , pub status : aeron_receive_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_destination_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_destination_entry_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . destinations as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . dispatcher as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( dispatcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_id_to_refcnt_map as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_and_session_id_to_refcnt_map as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_and_session_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_id as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . has_receiver_released as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_receiver_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . group_tag as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . possible_ttl_asymmetry_counter as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( possible_ttl_asymmetry_counter ) ) ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_create ( endpoint : * mut * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , straight_through_destination : * mut aeron_receive_destination_t , status_indicator : * mut aeron_atomic_counter_t , system_counters : * mut aeron_system_counters_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_close ( endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_sendmsg ( endpoint : * mut aeron_receive_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_sm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , receiver_window : i32 , flags : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_nak ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , length : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , echo_timestamp : i64 , reception_delta : i64 , is_reply : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_data ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , destination_out : * mut * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receiver_channel_endpoint_validate_sender_mtu_length ( endpoint : * mut aeron_receive_channel_endpoint_t , sender_mtu_length : size_t , window_max_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_receive_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_update_control_address ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , address : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_term_gap_scanner_on_gap_detected_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_gap_stct { pub term_id : i32 , pub term_offset : i32 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_gap_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_gap_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_gap_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_loss_detector_gap_t = aeron_loss_detector_gap_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_stct { pub on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , pub feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , pub on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void , pub scanned_gap : aeron_loss_detector_gap_t , pub active_gap : aeron_loss_detector_gap_t , pub expiry_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . feedback_delay_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( feedback_delay_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . scanned_gap as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( scanned_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . active_gap as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( active_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; } pub type aeron_loss_detector_t = aeron_loss_detector_stct ; extern "C" { pub fn aeron_loss_detector_init ( detector : * mut aeron_loss_detector_t , feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_scan ( detector : * mut aeron_loss_detector_t , loss_found : * mut bool , buffer : * const u8 , rebuild_position : i64 , hwm_position : i64 , now_ns : i64 , term_length_mask : size_t , position_bits_to_shift : size_t , initial_term_id : i32 ) -> i32 ; } extern "C" { pub fn aeron_feedback_delay_state_init ( state : * mut aeron_feedback_delay_generator_state_t , delay_generator : aeron_feedback_delay_generator_func_t , delay_ns : i64 , multicast_group_size : size_t , should_immediate_feedback : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_nak_multicast_delay_generator ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_entry_stct { pub observation_count : i64 , pub total_bytes_lost : i64 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_entry_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . total_bytes_lost as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( total_bytes_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_loss_reporter_entry_t = aeron_loss_reporter_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_stct { pub buffer : * mut u8 , pub next_record_offset : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . next_record_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( next_record_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( capacity ) ) ) ; } pub type aeron_loss_reporter_t = aeron_loss_reporter_stct ; pub type aeron_loss_reporter_entry_offset_t = i64 ; extern "C" { pub fn aeron_loss_reporter_init ( reporter : * mut aeron_loss_reporter_t , buffer : * mut u8 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_reporter_create_entry ( reporter : * mut aeron_loss_reporter_t , initial_bytes_lost : i64 , timestamp_ms : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t , source : * const :: std :: os :: raw :: c_char , source_length : size_t ) -> aeron_loss_reporter_entry_offset_t ; } pub type aeron_loss_reporter_read_entry_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , observation_count : i64 , total_bytes_lost : i64 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : i32 , source : * const :: std :: os :: raw :: c_char , source_length : i32 ) > ; extern "C" { pub fn aeron_loss_reporter_read ( buffer : * const u8 , capacity : size_t , entry_func : aeron_loss_reporter_read_entry_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> size_t ; } pub mod aeron_publication_image_state_enum { pub type Type = u32 ; pub const AERON_PUBLICATION_IMAGE_STATE_INACTIVE : Type = 0 ; pub const AERON_PUBLICATION_IMAGE_STATE_ACTIVE : Type = 1 ; pub const AERON_PUBLICATION_IMAGE_STATE_LINGER : Type = 2 ; pub const AERON_PUBLICATION_IMAGE_STATE_DONE : Type = 3 ; } pub use self :: aeron_publication_image_state_enum :: Type as aeron_publication_image_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_connection_stct { pub resolved_control_address_for_implicit_unicast_channels : sockaddr_storage , pub destination : * mut aeron_receive_destination_t , pub control_addr : * mut sockaddr_storage , pub time_of_last_activity_ns : i64 , pub time_of_last_frame_ns : i64 , pub is_eos : bool , } # [ test ] fn bindgen_test_layout_aeron_publication_image_connection_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_connection_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_connection_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . resolved_control_address_for_implicit_unicast_channels as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( resolved_control_address_for_implicit_unicast_channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . destination as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . control_addr as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_frame_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_frame_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . is_eos as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( is_eos ) ) ) ; } pub type aeron_publication_image_connection_t = aeron_publication_image_connection_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct { pub padding_before : [ u8 ; 64usize ] , pub conductor_fields : aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct , pub padding_after : [ u8 ; 64usize ] , pub connections : aeron_publication_image_stct_image_connection_entries , pub source_address : sockaddr_storage , pub loss_detector : aeron_loss_detector_t , pub mapped_raw_log : aeron_mapped_raw_log_t , pub rcv_hwm_position : aeron_position_t , pub rcv_pos_position : aeron_position_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub congestion_control : * mut aeron_congestion_control_strategy_t , pub nano_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub loss_reporter : * mut aeron_loss_reporter_t , pub loss_reporter_offset : aeron_loss_reporter_entry_offset_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub initial_term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub begin_loss_change : i64 , pub end_loss_change : i64 , pub loss_term_id : i32 , pub loss_term_offset : i32 , pub loss_length : size_t , pub begin_sm_change : i64 , pub end_sm_change : i64 , pub next_sm_position : i64 , pub next_sm_receiver_window_length : i32 , pub last_status_message_timestamp : i64 , pub last_packet_timestamp_ns : i64 , pub last_sm_change_number : i64 , pub last_sm_position : i64 , pub last_sm_position_window_limit : i64 , pub last_loss_change_number : i64 , pub is_end_of_stream : bool , pub heartbeats_received_counter : * mut i64 , pub flow_control_under_runs_counter : * mut i64 , pub flow_control_over_runs_counter : * mut i64 , pub status_messages_sent_counter : * mut i64 , pub nak_messages_sent_counter : * mut i64 , pub loss_gap_fills_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct { pub is_reliable : bool , pub state : aeron_publication_image_state_t , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub time_of_last_state_change_ns : i64 , pub liveness_timeout_ns : i64 , pub clean_position : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . time_of_last_state_change_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_state_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . liveness_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_image_connection_entries { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_connection_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_image_connection_entries ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct > ( ) , 872usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_before as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_before ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_after as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_after ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . connections as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( connections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . source_address as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( source_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_detector as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_detector ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_hwm_position as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_hwm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_pos_position as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . congestion_control as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( congestion_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nano_clock as * const _ as usize } , 608usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . cached_clock as * const _ as usize } , 616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter_offset as * const _ as usize } , 632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 652usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 656usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 660usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_offset as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 668usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 676usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 680usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 688usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 696usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_loss_change as * const _ as usize } , 704usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_loss_change as * const _ as usize } , 712usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_id as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_offset as * const _ as usize } , 724usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_length as * const _ as usize } , 728usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_sm_change as * const _ as usize } , 736usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_sm_change as * const _ as usize } , 744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_position as * const _ as usize } , 752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_receiver_window_length as * const _ as usize } , 760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_receiver_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_status_message_timestamp as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_status_message_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_packet_timestamp_ns as * const _ as usize } , 776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_packet_timestamp_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_change_number as * const _ as usize } , 784usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position as * const _ as usize } , 792usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position_window_limit as * const _ as usize } , 800usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position_window_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_loss_change_number as * const _ as usize } , 808usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_loss_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . heartbeats_received_counter as * const _ as usize } , 824usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( heartbeats_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_under_runs_counter as * const _ as usize } , 832usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_under_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_over_runs_counter as * const _ as usize } , 840usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_over_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . status_messages_sent_counter as * const _ as usize } , 848usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( status_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nak_messages_sent_counter as * const _ as usize } , 856usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nak_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_gap_fills_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_gap_fills_counter ) ) ) ; } extern "C" { pub fn aeron_publication_image_create ( image : * mut * mut aeron_publication_image_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , context : * mut aeron_driver_context_t , correlation_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , initial_term_offset : i32 , rcv_hwm_position : * mut aeron_position_t , rcv_pos_position : * mut aeron_position_t , congestion_control : * mut aeron_congestion_control_strategy_t , control_address : * mut sockaddr_storage , source_address : * mut sockaddr_storage , term_buffer_length : i32 , sender_mtu_length : i32 , loss_reporter : * mut aeron_loss_reporter_t , is_reliable : bool , is_sparse : bool , treat_as_multicast : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_close ( counters_manager : * mut aeron_counters_manager_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_clean_buffer_to ( image : * mut aeron_publication_image_t , position : i64 ) ; } extern "C" { pub fn aeron_publication_image_on_gap_detected ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) ; } extern "C" { pub fn aeron_publication_image_track_rebuild ( image : * mut aeron_publication_image_t , now_ns : i64 , status_message_timeout : i64 ) ; } extern "C" { pub fn aeron_publication_image_insert_packet ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , term_id : i32 , term_offset : i32 , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_on_rttm ( image : * mut aeron_publication_image_t , header : * mut aeron_rttm_header_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_status_message ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_loss ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_initiate_rttm ( image : * mut aeron_publication_image_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_destination ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_remove_destination ( image : * mut aeron_publication_image_t , channel : * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_connection_if_unknown ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , src_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_publication_image_on_time_event ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t , now_ns : i64 , now_ms : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_link_stct { pub resource : * mut aeron_driver_managed_resource_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_publication_link_t = aeron_publication_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_link_stct { pub counter_id : i32 , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_counter_link_t = aeron_counter_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct { pub reached_end_of_life : bool , pub closed_by_command : bool , pub client_id : i64 , pub client_liveness_timeout_ms : i64 , pub heartbeat_timestamp : aeron_atomic_counter_t , pub publication_links : aeron_client_stct_publication_link_stct , pub counter_links : aeron_client_stct_counter_link_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_publication_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_publication_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_counter_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_counter_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_counter_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . closed_by_command as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( closed_by_command ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_liveness_timeout_ms as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_liveness_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . heartbeat_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( heartbeat_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . publication_links as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( publication_links ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . counter_links as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( counter_links ) ) ) ; } pub type aeron_client_t = aeron_client_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_list_entry_stct { pub counter_id : i32 , pub subscribable : * mut aeron_subscribable_t , } # [ test ] fn bindgen_test_layout_aeron_subscribable_list_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_list_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_list_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . subscribable as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( subscribable ) ) ) ; } pub type aeron_subscribable_list_entry_t = aeron_subscribable_list_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct { pub channel : [ :: std :: os :: raw :: c_char ; 384usize ] , pub is_tether : bool , pub is_sparse : bool , pub is_reliable : bool , pub is_rejoin : bool , pub has_session_id : bool , pub group : aeron_inferable_boolean_t , pub stream_id : i32 , pub session_id : i32 , pub channel_length : i32 , pub registration_id : i64 , pub client_id : i64 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub spy_channel : * mut aeron_udp_channel_t , pub subscribable_list : aeron_subscription_link_stct_subscribable_list_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct_subscribable_list_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscribable_list_entry_t , } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct_subscribable_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_tether as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_sparse as * const _ as usize } , 385usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_reliable as * const _ as usize } , 386usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 387usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . has_session_id as * const _ as usize } , 388usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . group as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . stream_id as * const _ as usize } , 396usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . session_id as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel_length as * const _ as usize } , 404usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . client_id as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . endpoint as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . spy_channel as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( spy_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . subscribable_list as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( subscribable_list ) ) ) ; } pub type aeron_subscription_link_t = aeron_subscription_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_entry_stct { pub publication : * mut aeron_ipc_publication_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_ipc_publication_entry_t = aeron_ipc_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_network_publication_entry_t = aeron_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_entry_stct { pub endpoint : * mut aeron_send_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_send_channel_endpoint_entry_t = aeron_send_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_entry_stct { pub endpoint : * mut aeron_receive_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_receive_channel_endpoint_entry_t = aeron_receive_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_publication_image_entry_t = aeron_publication_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_linger_resource_entry_stct { pub has_reached_end_of_life : bool , pub buffer : * mut u8 , pub timeout_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_linger_resource_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_linger_resource_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_linger_resource_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . buffer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; } pub type aeron_linger_resource_entry_t = aeron_linger_resource_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct { pub context : * mut aeron_driver_context_t , pub to_driver_commands : aeron_mpsc_rb_t , pub to_clients : aeron_broadcast_transmitter_t , pub error_log : aeron_distinct_error_log_t , pub counters_manager : aeron_counters_manager_t , pub system_counters : aeron_system_counters_t , pub conductor_proxy : aeron_driver_conductor_proxy_t , pub loss_reporter : aeron_loss_reporter_t , pub name_resolver : aeron_name_resolver_t , pub send_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub receive_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub clients : aeron_driver_conductor_stct_client_stct , pub ipc_subscriptions : aeron_driver_conductor_stct_ipc_subscriptions_stct , pub ipc_publications : aeron_driver_conductor_stct_ipc_publication_stct , pub network_subscriptions : aeron_driver_conductor_stct_network_subscriptions_stct , pub spy_subscriptions : aeron_driver_conductor_stct_spy_subscriptions_stct , pub network_publications : aeron_driver_conductor_stct_network_publication_stct , pub send_channel_endpoints : aeron_driver_conductor_stct_send_channel_endpoint_stct , pub receive_channel_endpoints : aeron_driver_conductor_stct_receive_channel_endpoint_stct , pub publication_images : aeron_driver_conductor_stct_publication_image_stct , pub lingering_resources : aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct , pub errors_counter : * mut i64 , pub unblocked_commands_counter : * mut i64 , pub client_timeouts_counter : * mut i64 , pub clock_update_deadline_ns : i64 , pub next_session_id : i32 , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub time_of_last_timeout_check_ns : i64 , pub time_of_last_to_driver_position_change_ns : i64 , pub last_consumer_command_position : i64 , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_client_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_client_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_ipc_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_spy_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_spy_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_network_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_send_channel_endpoint_stct { pub array : * mut aeron_send_channel_endpoint_entry_t , pub length : size_t , pub capacity : size_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_receive_channel_endpoint_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_channel_endpoint_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_publication_image_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_linger_resource_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct > ( ) , 1000usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_driver_commands as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_driver_commands ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_clients as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . error_log as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . counters_manager as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . system_counters as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . name_resolver as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( name_resolver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoint_by_channel_map as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoint_by_channel_map as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clients as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_subscriptions as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_publications as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_subscriptions as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . spy_subscriptions as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( spy_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_publications as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoints as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoints as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_images as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . lingering_resources as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( lingering_resources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . errors_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . unblocked_commands_counter as * const _ as usize } , 872usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( unblocked_commands_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . client_timeouts_counter as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( client_timeouts_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clock_update_deadline_ns as * const _ as usize } , 888usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clock_update_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . next_session_id as * const _ as usize } , 896usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( next_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 900usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 904usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_timeout_check_ns as * const _ as usize } , 912usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_timeout_check_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_to_driver_position_change_ns as * const _ as usize } , 920usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_to_driver_position_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . last_consumer_command_position as * const _ as usize } , 928usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( last_consumer_command_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . padding as * const _ as usize } , 936usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_client_on_time_event ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_client_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t ) -> bool ; } extern "C" { pub fn aeron_client_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_client_t ) ; } extern "C" { pub fn aeron_ipc_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_ipc_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_ipc_publication_entry_t ) ; } extern "C" { pub fn aeron_network_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_network_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_network_publication_entry_t ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_send_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_receive_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_publication_image_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_publication_image_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t ) -> bool ; } extern "C" { pub fn aeron_publication_image_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_publication_image_entry_t ) ; } extern "C" { pub fn aeron_linger_resource_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_linger_resource_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t ) -> bool ; } extern "C" { pub fn aeron_linger_resource_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_linger_resource_entry_t ) ; } extern "C" { pub fn aeron_driver_conductor_image_transition_to_linger ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_conductor_init ( conductor : * mut aeron_driver_conductor_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_client_transmit ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_available_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , stream_id : i32 , session_id : i32 , log_file_name : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , subscriber_position_id : i32 , subscriber_registration_id : i64 , source_identity : * const :: std :: os :: raw :: c_char , source_identity_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , subscription_registration_id : i64 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_counter_ready ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_counter ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_client_timeout ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_spies ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_network_publication ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_command ( msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_link_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t , original_registration_id : i64 , session_id : i32 , stream_id : i32 , join_position : i64 , now_ns : i64 , source_identity_length : size_t , source_identity : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , log_file_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_unlink_subscribable ( link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t ) ; } extern "C" { pub fn aeron_driver_conductor_unlink_all_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_spy_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_keepalive ( conductor : * mut aeron_driver_conductor_t , client_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_delete_receive_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_delete_send_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_counter_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_close ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_correlated_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_terminate_driver ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_terminate_driver_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_create_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_linger_buffer ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_control ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_receive_endpoint_removed ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_find_send_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_send_channel_endpoint_t ; } extern "C" { pub fn aeron_driver_conductor_find_receive_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_receive_channel_endpoint_t ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_entry_stct { pub transport : * mut aeron_udp_channel_transport_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_entry_stct > ( ) ) ) . transport as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) , "::" , stringify ! ( transport ) ) ) ; } pub type aeron_udp_channel_transport_entry_t = aeron_udp_channel_transport_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct { pub transports : aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct { pub array : * mut aeron_udp_channel_transport_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . transports as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( transports ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_transport_poller_init ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_close ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_add ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_remove ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_poll ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_send_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_receive_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_driver_sender_network_publication_entry_t = aeron_driver_sender_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct { pub sender_proxy : aeron_driver_sender_proxy_t , pub poller : aeron_udp_transport_poller_t , pub network_publications : aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct , pub recv_buffers : aeron_driver_sender_stct_aeron_driver_sender_buffers_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub total_bytes_sent_counter : * mut i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub status_messages_received_counter : * mut i64 , pub nak_messages_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub status_message_read_timeout_ns : i64 , pub control_poll_timeout_ns : i64 , pub re_resolution_deadline_ns : i64 , pub round_robin_index : size_t , pub duty_cycle_counter : size_t , pub duty_cycle_ratio : size_t , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct { pub array : * mut aeron_driver_sender_network_publication_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct > ( ) , 624usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . network_publications as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . data_paths as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . total_bytes_sent_counter as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( total_bytes_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . errors_counter as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_messages_received_counter as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . nak_messages_received_counter as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( nak_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . context as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . error_log as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_message_read_timeout_ns as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_message_read_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . control_poll_timeout_ns as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( control_poll_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . round_robin_index as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( round_robin_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_counter as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_ratio as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . padding as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_driver_sender_init ( sender : * mut aeron_driver_sender_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_do_send ( sender : * mut aeron_driver_sender_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_proxy_stct { pub receiver : * mut aeron_driver_receiver_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . receiver as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_delete_cmd ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , cmd : * mut aeron_command_base_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_subscription_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub stream_id : i32 , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_subscription_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_subscription_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_subscription_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . session_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_command_subscription_t = aeron_command_subscription_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_add_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_add_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_add_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_add_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_add_rcv_destination_t = aeron_command_add_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_remove_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_remove_rcv_destination_t = aeron_command_remove_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_publication_image_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub image : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_publication_image_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . image as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_command_publication_image_t = aeron_command_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_cool_down_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_remove_cool_down_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_cool_down_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_cool_down_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . session_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . stream_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_command_remove_cool_down_t = aeron_command_remove_cool_down_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_cool_down ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , session_id : i32 , stream_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_receiver_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_receiver_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_receiver_resolution_change_t = aeron_command_receiver_resolution_change_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_resolution_change ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_driver_receiver_image_entry_t = aeron_driver_receiver_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_pending_setup_entry_stct { pub is_periodic : bool , pub session_id : i32 , pub stream_id : i32 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub destination : * mut aeron_receive_destination_t , pub time_of_status_message_ns : i64 , pub control_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_pending_setup_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . is_periodic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( is_periodic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . time_of_status_message_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( time_of_status_message_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . control_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( control_addr ) ) ) ; } pub type aeron_driver_receiver_pending_setup_entry_t = aeron_driver_receiver_pending_setup_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct { pub receiver_proxy : aeron_driver_receiver_proxy_t , pub poller : aeron_udp_transport_poller_t , pub recv_buffers : aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct , pub images : aeron_driver_receiver_stct_aeron_driver_receiver_images_stct , pub pending_setups : aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub re_resolution_deadline_ns : i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub total_bytes_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_images_stct { pub array : * mut aeron_driver_receiver_image_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct { pub array : * mut aeron_driver_receiver_pending_setup_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct > ( ) , 528usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . images as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . pending_setups as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( pending_setups ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . data_paths as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . context as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . error_log as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . errors_counter as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . total_bytes_received_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( total_bytes_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_init ( receiver : * mut aeron_driver_receiver_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_cool_down ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_add_pending_setup ( receiver : * mut aeron_driver_receiver_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , session_id : i32 , stream_id : i32 , control_addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_stct { pub context : * mut aeron_driver_context_t , pub conductor : aeron_driver_conductor_t , pub sender : aeron_driver_sender_t , pub receiver : aeron_driver_receiver_t , pub runners : [ aeron_agent_runner_t ; 3usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_stct > ( ) , 2400usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . conductor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . sender as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . receiver as * const _ as usize } , 1632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . runners as * const _ as usize } , 2160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( runners ) ) ) ; } extern "C" { pub fn aeron_is_driver_active_with_cnc ( cnc_map : * mut aeron_mapped_file_t , timeout_ms : i64 , now_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stderr] [INFO] [stderr] error: reference to packed field is unaligned [INFO] [stderr] --> /opt/rustwide/target/debug/build/libaeron_driver-sys-a8b4d3a9f05df5ef/out/bindings.rs:3:217542 [INFO] [stderr] | [INFO] [stderr] 3 | pub const AERON_NULL_VALUE : i32 = -1 ; pub const AERON_DIR_ENV_VAR : & 'static [ u8 ; 10usize ] = b"AERON_DIR\0" ; pub const AERON_DRIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_DRIVER_TIMEOUT\0" ; pub const AERON_CLIENT_RESOURCE_LINGER_DURATION_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_CLIENT_RESOURCE_LINGER_DURATION\0" ; pub const AERON_AGENT_ON_START_FUNCTION_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_AGENT_ON_START_FUNCTION\0" ; pub const AERON_PUBLICATION_NOT_CONNECTED : i32 = -1 ; pub const AERON_PUBLICATION_BACK_PRESSURED : i32 = -2 ; pub const AERON_PUBLICATION_ADMIN_ACTION : i32 = -3 ; pub const AERON_PUBLICATION_CLOSED : i32 = -4 ; pub const AERON_PUBLICATION_MAX_POSITION_EXCEEDED : i32 = -5 ; pub const AERON_PUBLICATION_ERROR : i32 = -6 ; pub const AERON_COMPILER_GCC : u32 = 1 ; pub const AERON_COMPILER_LLVM : u32 = 1 ; pub const AERON_CPU_X64 : u32 = 1 ; pub const AERON_CACHE_LINE_LENGTH : u32 = 64 ; pub const AERON_INIT_ONCE_VALUE : u32 = 0 ; pub const AERON_MAX_PATH : u32 = 384 ; pub const AERON_CHANNEL_STATUS_INDICATOR_NOT_ALLOCATED : i32 = -1 ; pub const AERON_URI_INVALID_TAG : i32 = -1 ; pub const AERON_DIR_WARN_IF_EXISTS_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_DIR_WARN_IF_EXISTS\0" ; pub const AERON_THREADING_MODE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_THREADING_MODE\0" ; pub const AERON_DIR_DELETE_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_DIR_DELETE_ON_START\0" ; pub const AERON_DIR_DELETE_ON_SHUTDOWN_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_DIR_DELETE_ON_SHUTDOWN\0" ; pub const AERON_TO_CONDUCTOR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_BUFFER_LENGTH\0" ; pub const AERON_TO_CLIENTS_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 28usize ] = b"AERON_CLIENTS_BUFFER_LENGTH\0" ; pub const AERON_COUNTERS_VALUES_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_COUNTERS_BUFFER_LENGTH\0" ; pub const AERON_ERROR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_ERROR_BUFFER_LENGTH\0" ; pub const AERON_CLIENT_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CLIENT_LIVENESS_TIMEOUT\0" ; pub const AERON_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_TERM_BUFFER_LENGTH\0" ; pub const AERON_IPC_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IPC_TERM_BUFFER_LENGTH\0" ; pub const AERON_TERM_BUFFER_SPARSE_FILE_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_TERM_BUFFER_SPARSE_FILE\0" ; pub const AERON_PERFORM_STORAGE_CHECKS_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_PERFORM_STORAGE_CHECKS\0" ; pub const AERON_SPIES_SIMULATE_CONNECTION_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SPIES_SIMULATE_CONNECTION\0" ; pub const AERON_FILE_PAGE_SIZE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_FILE_PAGE_SIZE\0" ; pub const AERON_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 17usize ] = b"AERON_MTU_LENGTH\0" ; pub const AERON_IPC_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_IPC_MTU_LENGTH\0" ; pub const AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_LINGER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_PUBLICATION_LINGER_TIMEOUT\0" ; pub const AERON_SOCKET_SO_RCVBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_RCVBUF\0" ; pub const AERON_SOCKET_SO_SNDBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_SNDBUF\0" ; pub const AERON_SOCKET_MULTICAST_TTL_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SOCKET_MULTICAST_TTL\0" ; pub const AERON_SEND_TO_STATUS_POLL_RATIO_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SEND_TO_STATUS_POLL_RATIO\0" ; pub const AERON_RCV_STATUS_MESSAGE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_RCV_STATUS_MESSAGE_TIMEOUT\0" ; pub const AERON_MULTICAST_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_min\0" ; pub const AERON_MULTICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_max\0" ; pub const AERON_MULTICAST_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 17usize ] = b"multicast_tagged\0" ; pub const AERON_UNICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 12usize ] = b"unicast_max\0" ; pub const AERON_MULTICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_MULTICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_UNICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_UNICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_IMAGE_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IMAGE_LIVENESS_TIMEOUT\0" ; pub const AERON_RCV_INITIAL_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RCV_INITIAL_WINDOW_LENGTH\0" ; pub const AERON_CONGESTIONCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_CONGESTIONCONTROL_SUPPLIER\0" ; pub const AERON_LOSS_REPORT_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_LOSS_REPORT_BUFFER_LENGTH\0" ; pub const AERON_PUBLICATION_UNBLOCK_TIMEOUT_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_PUBLICATION_UNBLOCK_TIMEOUT\0" ; pub const AERON_PUBLICATION_CONNECTION_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_CONNECTION_TIMEOUT\0" ; pub const AERON_TIMER_INTERVAL_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_TIMER_INTERVAL\0" ; pub const AERON_SENDER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SENDER_IDLE_STRATEGY\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_RECEIVER_IDLE_STRATEGY\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SHARED_IDLE_STRATEGY\0" ; pub const AERON_SENDER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SENDER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 39usize ] = b"AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 44usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_INIT_ARGS_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SHARED_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT\0" ; pub const AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 50usize ] = b"AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT\0" ; pub const AERON_FLOW_CONTROL_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_FLOW_CONTROL_GROUP_TAG\0" ; pub const AERON_FLOW_CONTROL_GROUP_MIN_SIZE_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_FLOW_CONTROL_GROUP_MIN_SIZE\0" ; pub const AERON_RECEIVER_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_RECEIVER_GROUP_TAG\0" ; pub const AERON_DRIVER_TERMINATION_VALIDATOR_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_DRIVER_TERMINATION_VALIDATOR\0" ; pub const AERON_PRINT_CONFIGURATION_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_PRINT_CONFIGURATION\0" ; pub const AERON_RELIABLE_STREAM_ENV_VAR : & 'static [ u8 ; 22usize ] = b"AERON_RELIABLE_STREAM\0" ; pub const AERON_TETHER_SUBSCRIPTIONS_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_TETHER_SUBSCRIPTIONS\0" ; pub const AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT\0" ; pub const AERON_UNTETHERED_RESTING_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_UNTETHERED_RESTING_TIMEOUT\0" ; pub const AERON_NAK_MULTICAST_GROUP_SIZE_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_NAK_MULTICAST_GROUP_SIZE\0" ; pub const AERON_NAK_MULTICAST_MAX_BACKOFF_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_NAK_MULTICAST_MAX_BACKOFF\0" ; pub const AERON_NAK_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 24usize ] = b"AERON_NAK_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_RETRANSMIT_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_LINGER_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RETRANSMIT_UNICAST_LINGER\0" ; pub const AERON_RECEIVER_GROUP_CONSIDERATION_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_RECEIVER_GROUP_CONSIDERATION\0" ; pub const AERON_REJOIN_STREAM_ENV_VAR : & 'static [ u8 ; 20usize ] = b"AERON_REJOIN_STREAM\0" ; pub const AERON_IPC_CHANNEL : & 'static [ u8 ; 10usize ] = b"aeron:ipc\0" ; pub const AERON_SPY_PREFIX : & 'static [ u8 ; 11usize ] = b"aeron-spy:\0" ; pub const AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA\0" ; pub const AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS\0" ; pub const AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_LOW_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_LOW\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH\0" ; pub const AERON_DRIVER_RESOLVER_NAME_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_DRIVER_RESOLVER_NAME\0" ; pub const AERON_DRIVER_RESOLVER_INTERFACE_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_DRIVER_RESOLVER_INTERFACE\0" ; pub const AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_NAME_RESOLVER_SUPPLIER\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_DEFAULT : & 'static [ u8 ; 8usize ] = b"default\0" ; pub const AERON_NAME_RESOLVER_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_NAME_RESOLVER_INIT_ARGS\0" ; pub const AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL\0" ; pub const AERON_UDP_CHANNEL_RELIABLE_KEY : & 'static [ u8 ; 9usize ] = b"reliable\0" ; pub const AERON_UDP_CHANNEL_TTL_KEY : & 'static [ u8 ; 4usize ] = b"ttl\0" ; pub const AERON_UDP_CHANNEL_ENDPOINT_KEY : & 'static [ u8 ; 9usize ] = b"endpoint\0" ; pub const AERON_UDP_CHANNEL_INTERFACE_KEY : & 'static [ u8 ; 10usize ] = b"interface\0" ; pub const AERON_UDP_CHANNEL_CONTROL_KEY : & 'static [ u8 ; 8usize ] = b"control\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_KEY : & 'static [ u8 ; 13usize ] = b"control-mode\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_MANUAL_VALUE : & 'static [ u8 ; 7usize ] = b"manual\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_DYNAMIC_VALUE : & 'static [ u8 ; 8usize ] = b"dynamic\0" ; pub const AERON_URI_INITIAL_TERM_ID_KEY : & 'static [ u8 ; 13usize ] = b"init-term-id\0" ; pub const AERON_URI_TERM_ID_KEY : & 'static [ u8 ; 8usize ] = b"term-id\0" ; pub const AERON_URI_TERM_OFFSET_KEY : & 'static [ u8 ; 12usize ] = b"term-offset\0" ; pub const AERON_URI_TERM_LENGTH_KEY : & 'static [ u8 ; 12usize ] = b"term-length\0" ; pub const AERON_URI_LINGER_TIMEOUT_KEY : & 'static [ u8 ; 7usize ] = b"linger\0" ; pub const AERON_URI_MTU_LENGTH_KEY : & 'static [ u8 ; 4usize ] = b"mtu\0" ; pub const AERON_URI_SPARSE_TERM_KEY : & 'static [ u8 ; 7usize ] = b"sparse\0" ; pub const AERON_URI_EOS_KEY : & 'static [ u8 ; 4usize ] = b"eos\0" ; pub const AERON_URI_TETHER_KEY : & 'static [ u8 ; 7usize ] = b"tether\0" ; pub const AERON_URI_TAGS_KEY : & 'static [ u8 ; 5usize ] = b"tags\0" ; pub const AERON_URI_SESSION_ID_KEY : & 'static [ u8 ; 11usize ] = b"session-id\0" ; pub const AERON_URI_GROUP_KEY : & 'static [ u8 ; 6usize ] = b"group\0" ; pub const AERON_URI_REJOIN_KEY : & 'static [ u8 ; 7usize ] = b"rejoin\0" ; pub const AERON_URI_FC_KEY : & 'static [ u8 ; 3usize ] = b"fc\0" ; pub const AERON_URI_GTAG_KEY : & 'static [ u8 ; 5usize ] = b"gtag\0" ; pub const AERON_URI_CC_KEY : & 'static [ u8 ; 3usize ] = b"cc\0" ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP4 : u32 = 4 ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP6 : u32 = 16 ; pub const AERON_FRAME_HEADER_VERSION : u32 = 0 ; pub const AERON_HDR_TYPE_PAD : u32 = 0 ; pub const AERON_HDR_TYPE_DATA : u32 = 1 ; pub const AERON_HDR_TYPE_NAK : u32 = 2 ; pub const AERON_HDR_TYPE_SM : u32 = 3 ; pub const AERON_HDR_TYPE_ERR : u32 = 4 ; pub const AERON_HDR_TYPE_SETUP : u32 = 5 ; pub const AERON_HDR_TYPE_RTTM : u32 = 6 ; pub const AERON_HDR_TYPE_RES : u32 = 7 ; pub const AERON_HDR_TYPE_EXT : u32 = 65535 ; pub const AERON_DATA_HEADER_DEFAULT_RESERVED_VALUE : u32 = 0 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD : u32 = 1 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD : u32 = 2 ; pub const AERON_FRAME_MAX_MESSAGE_LENGTH : u32 = 16777216 ; pub const AERON_LOGBUFFER_PARTITION_COUNT : u32 = 3 ; pub const AERON_LOGBUFFER_TERM_MIN_LENGTH : u32 = 65536 ; pub const AERON_LOGBUFFER_TERM_MAX_LENGTH : u32 = 1073741824 ; pub const AERON_PAGE_MIN_SIZE : u32 = 4096 ; pub const AERON_PAGE_MAX_SIZE : u32 = 1073741824 ; pub const AERON_LOGBUFFER_DEFAULT_FRAME_HEADER_MAX_LENGTH : u32 = 128 ; pub const AERON_MAX_UDP_PAYLOAD_LENGTH : u32 = 65504 ; pub const AERON_LOGBUFFER_FRAME_ALIGNMENT : u32 = 32 ; pub const AERON_LOG_META_DATA_SECTION_INDEX : u32 = 3 ; pub const AERON_PUBLICATIONS_DIR : & 'static [ u8 ; 13usize ] = b"publications\0" ; pub const AERON_IMAGES_DIR : & 'static [ u8 ; 7usize ] = b"images\0" ; pub const AERON_RB_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"max\0" ; pub const AERON_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"min\0" ; pub const AERON_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 7usize ] = b"tagged\0" ; pub const AERON_AGENT_STATE_UNUSED : u32 = 0 ; pub const AERON_AGENT_STATE_INITED : u32 = 1 ; pub const AERON_AGENT_STATE_STARTED : u32 = 2 ; pub const AERON_AGENT_STATE_MANUAL : u32 = 3 ; pub const AERON_AGENT_STATE_STOPPING : u32 = 4 ; pub const AERON_AGENT_STATE_STOPPED : u32 = 5 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_SPINS : u32 = 10 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_YIELDS : u32 = 20 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MIN_PARK_PERIOD_NS : u32 = 1000 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_PARK_PERIOD_NS : u32 = 1000000 ; pub const AERON_COUNTER_RECORD_UNUSED : u32 = 0 ; pub const AERON_COUNTER_RECORD_ALLOCATED : u32 = 1 ; pub const AERON_COUNTER_RECORD_RECLAIMED : i32 = -1 ; pub const AERON_NULL_COUNTER_ID : i32 = -1 ; pub const AERON_COUNTER_PUBLISHER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"pub-lmt\0" ; pub const AERON_COUNTER_PUBLISHER_LIMIT_TYPE_ID : u32 = 1 ; pub const AERON_COUNTER_SENDER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"snd-pos\0" ; pub const AERON_COUNTER_SENDER_POSITION_TYPE_ID : u32 = 2 ; pub const AERON_COUNTER_SENDER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"snd-lmt\0" ; pub const AERON_COUNTER_SENDER_LIMIT_TYPE_ID : u32 = 9 ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"sub-pos\0" ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_TYPE_ID : u32 = 4 ; pub const AERON_COUNTER_RECEIVER_HWM_NAME : & 'static [ u8 ; 8usize ] = b"rcv-hwm\0" ; pub const AERON_COUNTER_RECEIVER_HWM_TYPE_ID : u32 = 3 ; pub const AERON_COUNTER_RECEIVER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"rcv-pos\0" ; pub const AERON_COUNTER_RECEIVER_POSITION_TYPE_ID : u32 = 5 ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"snd-channel\0" ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_TYPE_ID : u32 = 6 ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"rcv-channel\0" ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_TYPE_ID : u32 = 7 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_INITIALIZING : u32 = 0 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_ERRORED : i32 = -1 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_NO_ID_ALLOCATED : i32 = -1 ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_NAME : & 'static [ u8 ; 17usize ] = b"client-heartbeat\0" ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_TYPE_ID : u32 = 11 ; pub const AERON_COUNTER_PUBLISHER_POSITION_NAME : & 'static [ u8 ; 18usize ] = b"pub-pos (sampled)\0" ; pub const AERON_COUNTER_PUBLISHER_POSITION_TYPE_ID : u32 = 12 ; pub const AERON_COUNTER_SENDER_BPE_NAME : & 'static [ u8 ; 8usize ] = b"snd-bpe\0" ; pub const AERON_COUNTER_SENDER_BPE_TYPE_ID : u32 = 13 ; pub const AERON_COUNTER_RCV_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"rcv-local-sockaddr\0" ; pub const AERON_COUNTER_SND_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"snd-local-sockaddr\0" ; pub const AERON_COUNTER_LOCAL_SOCKADDR_TYPE_ID : u32 = 14 ; pub const AERON_SYSTEM_COUNTER_TYPE_ID : u32 = 0 ; pub const AERON_NAME_RESOLVER_CSV_TABLE : & 'static [ u8 ; 10usize ] = b"csv_table\0" ; pub const AERON_NAME_RESOLVER_DRIVER : & 'static [ u8 ; 7usize ] = b"driver\0" ; pub const AERON_NAME_RESOLVER_CSV_TABLE_ARGS_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_NAME_RESOLVER_CSV_LOOKUP_TABLE_ARGS\0" ; pub const AERON_CNC_FILE : & 'static [ u8 ; 8usize ] = b"cnc.dat\0" ; pub const AERON_LOSS_REPORT_FILE : & 'static [ u8 ; 16usize ] = b"loss-report.dat\0" ; pub const AERON_COMMAND_QUEUE_CAPACITY : u32 = 256 ; pub const AERON_BROADCAST_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_COMMAND_ADD_PUBLICATION : u32 = 1 ; pub const AERON_COMMAND_REMOVE_PUBLICATION : u32 = 2 ; pub const AERON_COMMAND_ADD_EXCLUSIVE_PUBLICATION : u32 = 3 ; pub const AERON_COMMAND_ADD_SUBSCRIPTION : u32 = 4 ; pub const AERON_COMMAND_REMOVE_SUBSCRIPTION : u32 = 5 ; pub const AERON_COMMAND_CLIENT_KEEPALIVE : u32 = 6 ; pub const AERON_COMMAND_ADD_DESTINATION : u32 = 7 ; pub const AERON_COMMAND_REMOVE_DESTINATION : u32 = 8 ; pub const AERON_COMMAND_ADD_COUNTER : u32 = 9 ; pub const AERON_COMMAND_REMOVE_COUNTER : u32 = 10 ; pub const AERON_COMMAND_CLIENT_CLOSE : u32 = 11 ; pub const AERON_COMMAND_ADD_RCV_DESTINATION : u32 = 12 ; pub const AERON_COMMAND_REMOVE_RCV_DESTINATION : u32 = 13 ; pub const AERON_COMMAND_TERMINATE_DRIVER : u32 = 14 ; pub const AERON_RESPONSE_ON_ERROR : u32 = 3841 ; pub const AERON_RESPONSE_ON_AVAILABLE_IMAGE : u32 = 3842 ; pub const AERON_RESPONSE_ON_PUBLICATION_READY : u32 = 3843 ; pub const AERON_RESPONSE_ON_OPERATION_SUCCESS : u32 = 3844 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_IMAGE : u32 = 3845 ; pub const AERON_RESPONSE_ON_EXCLUSIVE_PUBLICATION_READY : u32 = 3846 ; pub const AERON_RESPONSE_ON_SUBSCRIPTION_READY : u32 = 3847 ; pub const AERON_RESPONSE_ON_COUNTER_READY : u32 = 3848 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_COUNTER : u32 = 3849 ; pub const AERON_RESPONSE_ON_CLIENT_TIMEOUT : u32 = 3850 ; pub const AERON_ERROR_CODE_UNKNOWN_CODE_VALUE : i32 = -1 ; pub const AERON_ERROR_CODE_GENERIC_ERROR : u32 = 0 ; pub const AERON_ERROR_CODE_INVALID_CHANNEL : u32 = 1 ; pub const AERON_ERROR_CODE_UNKNOWN_SUBSCRIPTION : u32 = 2 ; pub const AERON_ERROR_CODE_UNKNOWN_PUBLICATION : u32 = 3 ; pub const AERON_ERROR_CODE_CHANNEL_ENDPOINT_ERROR : u32 = 4 ; pub const AERON_ERROR_CODE_UNKNOWN_COUNTER : u32 = 5 ; pub const AERON_ERROR_CODE_UNKNOWN_COMMAND_TYPE_ID : u32 = 6 ; pub const AERON_ERROR_CODE_MALFORMED_COMMAND : u32 = 7 ; pub const AERON_ERROR_CODE_NOT_SUPPORTED : u32 = 8 ; pub const AERON_ERROR_CODE_UNKNOWN_HOST : u32 = 9 ; pub const AERON_ERROR_CODE_RESOURCE_TEMPORARILY_UNAVAILABLE : u32 = 10 ; pub const AERON_MAP_DEFAULT_LOAD_FACTOR : f64 = 0.55 ; pub const AERON_NETUTIL_FORMATTED_MAX_LENGTH : u32 = 54 ; pub const AERON_RETRANSMIT_HANDLER_MAX_RETRANSMITS : u32 = 16 ; pub const AERON_NETWORK_PUBLICATION_HEARTBEAT_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_SETUP_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_MAX_MESSAGES_PER_SEND : u32 = 2 ; pub const AERON_UDP_DESTINATION_TRACKER_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_SEND_CHANNEL_ENDPOINT_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_RECEIVE_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_LOSS_DETECTOR_TIMER_INACTIVE : i32 = -1 ; pub const AERON_LOSS_DETECTOR_NAK_UNICAST_DELAY_NS : u32 = 60000000 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_GROUP_SIZE : f64 = 10.0 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_MAX_BACKOFF_NS : f64 = 60000000.0 ; pub const AERON_LOSS_REPORTER_ENTRY_ALIGNMENT : u32 = 64 ; pub const AERON_DRIVER_CONDUCTOR_LINGER_RESOURCE_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_DRIVER_CONDUCTOR_CLOCK_UPDATE_DURATION_NS : u32 = 1000000 ; pub const AERON_UDP_TRANSPORT_POLLER_ITERATION_THRESHOLD : u32 = 5 ; pub const AERON_DRIVER_SENDER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_MAX_UDP_PACKET_LENGTH : u32 = 65536 ; pub const AERON_DRIVER_RECEIVER_PENDING_SETUP_TIMEOUT_NS : u32 = 1000000000 ; pub const AERON_AGENT_RUNNER_CONDUCTOR : u32 = 0 ; pub const AERON_AGENT_RUNNER_SENDER : u32 = 1 ; pub const AERON_AGENT_RUNNER_RECEIVER : u32 = 2 ; pub const AERON_AGENT_RUNNER_SHARED_NETWORK : u32 = 1 ; pub const AERON_AGENT_RUNNER_SHARED : u32 = 0 ; pub const AERON_AGENT_RUNNER_MAX : u32 = 3 ; pub type size_t = :: 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 __socklen_t = :: std :: os :: raw :: c_uint ; extern "C" { pub fn aeron_alloc_no_err ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc_aligned ( ptr : * mut * mut :: std :: os :: raw :: c_void , offset : * mut size_t , size : size_t , alignment : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_reallocf ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_free ( ptr : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_context_stct { _unused : [ u8 ; 0 ] , } pub type aeron_context_t = aeron_context_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stct { _unused : [ u8 ; 0 ] , } pub type aeron_t = aeron_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] pub type aeron_buffer_claim_t = aeron_buffer_claim_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_publication_t = aeron_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_exclusive_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_exclusive_publication_t = aeron_exclusive_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_header_stct { _unused : [ u8 ; 0 ] , } pub type aeron_header_t = aeron_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_stct { _unused : [ u8 ; 0 ] , } pub type aeron_subscription_t = aeron_subscription_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_t = aeron_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_stct { _unused : [ u8 ; 0 ] , } pub type aeron_counter_t = aeron_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_log_buffer_stct { _unused : [ u8 ; 0 ] , } pub type aeron_log_buffer_t = aeron_log_buffer_stct ; pub type aeron_counters_reader_t = aeron_counters_reader_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_registering_resource_stct { _unused : [ u8 ; 0 ] , } pub type aeron_async_add_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_exclusive_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_subscription_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_counter_t = aeron_client_registering_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_fragment_assembler_t = aeron_image_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_controlled_fragment_assembler_t = aeron_image_controlled_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_fragment_assembler_t = aeron_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_controlled_fragment_assembler_t = aeron_controlled_fragment_assembler_stct ; extern "C" { pub fn aeron_context_set_dir ( context : * mut aeron_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_dir ( context : * mut aeron_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_context_set_driver_timeout_ms ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_driver_timeout_ms ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_keepalive_interval_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_keepalive_interval_ns ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_resource_linger_duration_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_resource_linger_duration_ns ( context : * mut aeron_context_t ) -> u64 ; } # [ doc = " The error handler to be called when an error occurs." ] pub type aeron_error_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , errcode : :: std :: os :: raw :: c_int , message : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_error_handler ( context : * mut aeron_context_t , handler : aeron_error_handler_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_error_handler ( context : * mut aeron_context_t ) -> aeron_error_handler_t ; } extern "C" { pub fn aeron_context_get_error_handler_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_publication_t" ] # [ doc = " or aeron_exclusive_publication_t successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original add publication call" ] # [ doc = " @param channel of the publication" ] # [ doc = " @param stream_id within the channel of the publication" ] # [ doc = " @param session_id of the publication" ] # [ doc = " @param correlation_id used by the publication" ] pub type aeron_on_new_publication_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_publication_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_context_set_on_new_exclusive_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_subscription_t" ] # [ doc = " successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original aeron_add_async_subscription call" ] # [ doc = " @param channel of the subscirption" ] # [ doc = " @param stream_id within the channel of the subscription" ] # [ doc = " @param session_id of the subscription" ] # [ doc = " @param correlation_id used by the subscription" ] pub type aeron_on_new_subscription_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_subscription_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_subscription ( context : * mut aeron_context_t , handler : aeron_on_new_subscription_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_subscription ( context : * mut aeron_context_t ) -> aeron_on_new_subscription_t ; } extern "C" { pub fn aeron_context_get_on_new_subscription_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notifications that an aeron_image_t was added." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become available." ] pub type aeron_on_available_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; # [ doc = " Function called by aeron_client_t to deliver notifications than an aeron_image_t has been removed from use and" ] # [ doc = " should not be used any longer." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become unavailble." ] pub type aeron_on_unavailable_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; pub type aeron_on_available_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_unavailable_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_close_client_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Whether to use an invoker to control the conductor agent or spawn a thread." ] pub fn aeron_context_set_use_conductor_agent_invoker ( context : * mut aeron_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_use_conductor_agent_invoker ( context : * mut aeron_context_t ) -> bool ; } pub type aeron_agent_on_start_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , role_name : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_agent_on_start_function ( context : * mut aeron_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_agent_on_start_function ( context : * mut aeron_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_context_get_agent_on_start_state ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = " Create a aeron_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_init ( context : * mut * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_close ( context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_t client struct and initialize from the aeron_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_context_t struct will be used exclusively by the client. Do not reuse between clients." ] # [ doc = "" ] # [ doc = " @param aeron client to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_init ( client : * mut * mut aeron_t , context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_t. This may spawn a thread for the Client Conductor." ] # [ doc = "" ] # [ doc = " @param client to start." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_start ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Client must have been created with use conductor invoker set to true." ] # [ doc = "" ] # [ doc = " @param client to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_main_do_work ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor Idle Strategy." ] # [ doc = "" ] # [ doc = " @param client to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_main_idle_strategy ( client : * mut aeron_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_t struct." ] # [ doc = "" ] # [ doc = " @param client to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_close ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call stream_out to print the counter labels and values." ] # [ doc = "" ] # [ doc = " @param client to get the counters from" ] # [ doc = " @param stream_out to call for each label and value" ] pub fn aeron_print_counters ( client : * mut aeron_t , stream_out : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ) ; } extern "C" { # [ doc = " Return the aeron_context_t that is in use by the given client." ] # [ doc = "" ] # [ doc = " @param client to return the aeron_context_t for." ] # [ doc = " @return the aeron_context_t for the given client or NULL for an error." ] pub fn aeron_context ( client : * mut aeron_t ) -> * mut aeron_context_t ; } extern "C" { # [ doc = " Return the client id in use by the client." ] # [ doc = "" ] # [ doc = " @param client to return the client id for." ] # [ doc = " @return id value or -1 for an error." ] pub fn aeron_client_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Return a unique correlation id from the driver." ] # [ doc = "" ] # [ doc = " @param client to use to get the id." ] # [ doc = " @return unique correlation id or -1 for an error." ] pub fn aeron_next_correlation_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Asynchronously add a publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_publication ( async_ : * mut * mut aeron_async_add_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_publication_poll ( publication : * mut * mut aeron_publication_t , async_ : * mut aeron_async_add_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add an exclusive publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_exclusive_publication ( async_ : * mut * mut aeron_async_add_exclusive_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_exclusive_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_exclusive_publication_poll ( publication : * mut * mut aeron_exclusive_publication_t , async_ : * mut aeron_async_add_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add a subscription using the given client and return an object to use to determine when the" ] # [ doc = " subscription is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the subscription to." ] # [ doc = " @param uri for the channel of the subscription." ] # [ doc = " @param stream_id for the subscription." ] # [ doc = " @param on_available_image_handler to be called when images become available on the subscription." ] # [ doc = " @param on_available_image_clientd to be passed when images become available on the subscription." ] # [ doc = " @param on_unavailable_image_handler to be called when images go unavailable on the subscription." ] # [ doc = " @param on_available_image_clientd to be pacced when images go unavailable on the subscription." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_subscription ( async_ : * mut * mut aeron_async_add_subscription_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 , on_available_image_handler : aeron_on_available_image_t , on_available_image_clientd : * mut :: std :: os :: raw :: c_void , on_unavailable_image_handler : aeron_on_unavailable_image_t , on_unavailable_image_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_subscription call." ] # [ doc = "" ] # [ doc = " @param subscription to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_subscription_poll ( subscription : * mut * mut aeron_subscription_t , async_ : * mut aeron_async_add_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return a reference to the counters reader of the given client." ] # [ doc = "" ] # [ doc = " The aeron_counters_reader_t is maintained by the client. And should not be freed." ] # [ doc = "" ] # [ doc = " @param client that contains the counters reader." ] # [ doc = " @return aeron_counters_reader_t or NULL for error." ] pub fn aeron_counters_reader ( client : * mut aeron_t ) -> * mut aeron_counters_reader_t ; } extern "C" { # [ doc = " Asynchronously add a counter using the given client and return an object to use to determine when the" ] # [ doc = " counter is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the counter to." ] # [ doc = " @param type_id for the counter." ] # [ doc = " @param key_buffer for the counter." ] # [ doc = " @param key_buffer_length for the counter." ] # [ doc = " @param label_buffer for the counter." ] # [ doc = " @param label_buffer_length for the counter." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_counter ( async_ : * mut * mut aeron_async_add_counter_t , client : * mut aeron_t , type_id : i32 , key_buffer : * const u8 , key_buffer_length : size_t , label_buffer : * const :: std :: os :: raw :: c_char , label_buffer_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_counter call." ] # [ doc = "" ] # [ doc = " @param counter to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_counter_poll ( counter : * mut * mut aeron_counter_t , async_ : * mut aeron_async_add_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Function called by aeron_counters_reader_foreach_counter for each counter in the aeron_counters_reader_t." ] # [ doc = "" ] # [ doc = " @param value of the counter." ] # [ doc = " @param id of the counter." ] # [ doc = " @param label for the counter." ] # [ doc = " @param label_length for the counter." ] # [ doc = " @param clientd to be returned in the call" ] pub type aeron_counters_reader_foreach_counter_func_t = :: std :: option :: Option < unsafe extern "C" fn ( value : i64 , id : i32 , label : * const :: std :: os :: raw :: c_char , label_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Iterate over the coounters in the counters_reader and call the given function for each counter." ] # [ doc = "" ] # [ doc = " @param counters_reader to iterate over." ] # [ doc = " @param func to call for each counter." ] # [ doc = " @param clientd to pass for each call to func." ] pub fn aeron_counters_reader_foreach_counter ( counters_reader : * mut aeron_counters_reader_t , func : aeron_counters_reader_foreach_counter_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } # [ doc = " Function called when filling in the reserved value field of a message." ] # [ doc = "" ] # [ doc = " @param clientd passed to the offer function." ] # [ doc = " @param buffer of the entire frame, including Aeron data header." ] # [ doc = " @param frame_length of the enture frame." ] pub type aeron_reserved_value_supplier_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , frame_length : size_t ) -> i64 > ; # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_iovec_stct { pub iov_base : * mut u8 , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_aeron_iovec_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_iovec_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_iovec_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_len ) ) ) ; } # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] pub type aeron_iovec_t = aeron_iovec_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_buffer_claim_stct { pub frame_header : * mut u8 , pub data : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_buffer_claim_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_buffer_claim_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_buffer_claim_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( length ) ) ) ; } extern "C" { # [ doc = " Commit the given buffer_claim as a complete message available for consumption." ] # [ doc = "" ] # [ doc = " @param buffer_claim to commit." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_commit ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Abort the given buffer_claim and assign its position as padding." ] # [ doc = "" ] # [ doc = " @param buffer_claim to abort." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_abort ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offer ( publication : * mut aeron_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offerv ( publication : * mut aeron_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_publication_try_claim ( publication : * mut aeron_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { pub fn aeron_publication_channel_status ( publication : * mut aeron_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_add_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_remove_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_close ( publication : * mut aeron_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offerv ( publication : * mut aeron_exclusive_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_try_claim ( publication : * mut aeron_exclusive_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { # [ doc = " Append a padding record log of a given length to make up the log to a position." ] # [ doc = "" ] # [ doc = " @param length of the range to claim, in bytes." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_append_padding ( publication : * mut aeron_exclusive_publication_t , length : size_t ) -> i64 ; } extern "C" { # [ doc = " Offer a block of pre-formatted message fragments directly into the current term." ] # [ doc = "" ] # [ doc = " @param buffer containing the pre-formatted block of message fragments." ] # [ doc = " @param offset offset in the buffer at which the first fragment begins." ] # [ doc = " @param length in bytes of the encoded block." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer_block ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_channel_status ( publication : * mut aeron_exclusive_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_add_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_remove_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_close ( publication : * mut aeron_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " The frame will either contain a whole message or a fragment of a message to be reassembled. Messages are fragmented" ] # [ doc = " if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub type aeron_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) > ; # [ doc = " Abort the current polling operation and do not advance the position for this fragment." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_ABORT : aeron_controlled_fragment_handler_action_en = 0 ; # [ doc = " Break from the current polling operation and commit the position as of the end of the current fragment" ] # [ doc = " being handled." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_BREAK : aeron_controlled_fragment_handler_action_en = 1 ; # [ doc = " Continue processing but commit the position as of the end of the current fragment so that" ] # [ doc = " flow control is applied to this point." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_COMMIT : aeron_controlled_fragment_handler_action_en = 2 ; # [ doc = " Continue processing until fragment limit or no fragments with position commit at end of poll as in" ] # [ doc = " aeron_fragment_handler_t." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_CONTINUE : aeron_controlled_fragment_handler_action_en = 3 ; pub type aeron_controlled_fragment_handler_action_en = u32 ; pub use self :: aeron_controlled_fragment_handler_action_en as aeron_controlled_fragment_handler_action_t ; # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " Handler for reading data that is coming from a log buffer. The frame will either contain a whole message" ] # [ doc = " or a fragment of a message to be reassembled. Messages are fragmented if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the controlled poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub type aeron_controlled_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t > ; # [ doc = " Callback for handling a block of messages being read from a log." ] # [ doc = "" ] # [ doc = " @param clientd passed to the block poll function." ] # [ doc = " @param buffer containing the block of message fragments." ] # [ doc = " @param offset at which the block begins, including any frame headers." ] # [ doc = " @param length of the block in bytes, including any frame headers that is aligned." ] # [ doc = " @param session_id of the stream containing this block of message fragments." ] # [ doc = " @param term_id of the stream containing this block of message fragments." ] pub type aeron_block_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , session_id : i32 , term_id : i32 ) > ; extern "C" { # [ doc = " Poll the images under the subscription for available message fragments." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_fragment_asssembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_poll ( subscription : * mut aeron_subscription_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll in a controlled manner the images under the subscription for available message fragments." ] # [ doc = " Control is applied to fragments in the stream. If more fragments can be read on another stream" ] # [ doc = " they will even if BREAK or ABORT is returned from the fragment handler." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_controlled_fragment_assembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_controlled_poll ( subscription : * mut aeron_subscription_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the images under the subscription for available message fragments in blocks." ] # [ doc = "

" ] # [ doc = " This method is useful for operations like bulk archiving and messaging indexing." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler to receive a block of fragments from each image." ] # [ doc = " @param block_length_limit for each image polled." ] # [ doc = " @return the number of bytes consumed or -1 for error." ] pub fn aeron_subscription_block_poll ( subscription : * mut aeron_subscription_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ doc = " Is this subscription connected by having at least one open publication image." ] # [ doc = "" ] # [ doc = " @param subscription to check." ] # [ doc = " @return true if this subscription connected by having at least one open publication image." ] pub fn aeron_subscription_is_connected ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { # [ doc = " Count of images associated to this subscription." ] # [ doc = "" ] # [ doc = " @param subscription to count images for." ] # [ doc = " @return count of count associated to this subscription or -1 for error." ] pub fn aeron_subscription_image_count ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the image associated with the given session_id under the given subscription." ] # [ doc = "" ] # [ doc = " Note: the returned image is considered retained by the application and thus must be released via" ] # [ doc = " aeron_image_release when finished or if the image becomes unavailable." ] # [ doc = "" ] # [ doc = " @param subscription to search." ] # [ doc = " @param session_id associated with the image." ] # [ doc = " @return image associated with the given session_id or NULL if no image exists." ] pub fn aeron_subscription_image_by_session_id ( subscription : * mut aeron_subscription_t , session_id : i32 ) -> * mut aeron_image_t ; } extern "C" { # [ doc = " Iterate over the images for this subscription calling the given function." ] # [ doc = "" ] # [ doc = " @param subscription to iterate over." ] # [ doc = " @param handler to be called for each image." ] pub fn aeron_subscription_for_each_image ( subscription : * mut aeron_subscription_t , handler : :: std :: option :: Option < unsafe extern "C" fn ( image : * mut aeron_image_t ) > ) ; } extern "C" { pub fn aeron_subscription_is_closed ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { pub fn aeron_subscription_channel_status ( subscription : * mut aeron_subscription_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_add_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination from a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_remove_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the subscription." ] # [ doc = "" ] # [ doc = " @param subscription to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_subscription_close ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Retain the given image for access in the application." ] # [ doc = "" ] # [ doc = " Note: A retain call must have a corresponding release call." ] # [ doc = "" ] # [ doc = " @param image to retain" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_retain ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Release the given image and relinquish desire to use the image directly." ] # [ doc = "" ] # [ doc = " Note: Images are not threadsafe and should not be shared between subscribers." ] # [ doc = "" ] # [ doc = " @param image to release" ] # [ doc = " @return 0 for succes and -1 for error." ] pub fn aeron_image_release ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The position this image has been consumed to by the subscriber." ] # [ doc = "" ] # [ doc = " @param image to query position of." ] # [ doc = " @return the position this image has been consumed to by the subscriber." ] pub fn aeron_image_position ( image : * mut aeron_image_t ) -> i64 ; } extern "C" { # [ doc = " Set the subscriber position for this image to indicate where it has been consumed to." ] # [ doc = "" ] # [ doc = " @param image to set the position of." ] # [ doc = " @param new_position for the consumption point." ] pub fn aeron_image_set_position ( image : * mut aeron_image_t , position : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Peek for new messages in a stream by scanning forward from an initial position. If new messages are found then" ] # [ doc = " they will be delivered to the handler up to a limited position." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments. Scans must also" ] # [ doc = " start at the beginning of a message so that the assembler is reset." ] # [ doc = "" ] # [ doc = " @param image to peek." ] # [ doc = " @param initial_position from which to peek forward." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position up to which can be scanned." ] # [ doc = " @return the resulting position after the scan terminates which is a complete message or -1 for error." ] pub fn aeron_image_controlled_peek ( image : * mut aeron_image_t , initial_position : i64 , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 ) -> i64 ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of bytes." ] # [ doc = "

" ] # [ doc = " A scan will terminate if a padding frame is encountered. If first frame in a scan is padding then a block" ] # [ doc = " for the padding is notified. If the padding comes after the first frame in a scan then the scan terminates" ] # [ doc = " at the offset the padding frame begins. Padding frames are delivered singularly in a block." ] # [ doc = "

" ] # [ doc = " Padding frames may be for a greater range than the limit offset but only the header needs to be valid so" ] # [ doc = " relevant length of the frame is data header length." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which block is delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param block_length_limit up to which a block may be in length." ] # [ doc = " @return the number of bytes that have been consumed or -1 for error." ] pub fn aeron_image_block_poll ( image : * mut aeron_image_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_image_is_closed ( image : * mut aeron_image_t ) -> bool ; } extern "C" { # [ doc = " Create an image fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_fragment_assembler_create ( assembler : * mut * mut aeron_image_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_fragment_assembler_delete ( assembler : * mut aeron_image_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create an image controlled fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_image_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_delete ( assembler : * mut aeron_image_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Create a fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_fragment_assembler_create ( assembler : * mut * mut aeron_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_fragment_assembler_delete ( assembler : * mut aeron_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create a controlled fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_controlled_fragment_assembler_delete ( assembler : * mut aeron_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Return a pointer to the counter value." ] # [ doc = "" ] # [ doc = " @param counter to pointer to." ] # [ doc = " @return pointer to the counter value." ] pub fn aeron_counter_addr ( counter : * mut aeron_counter_t ) -> * mut i64 ; } extern "C" { # [ doc = " Asynchronously close the counter." ] # [ doc = "" ] # [ doc = " @param counter to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_counter_close ( counter : * mut aeron_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return full version and build string." ] # [ doc = "" ] # [ doc = " @return full version and build string." ] pub fn aeron_version_full ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = " Return major version number." ] # [ doc = "" ] # [ doc = " @return major version number." ] pub fn aeron_version_major ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return minor version number." ] # [ doc = "" ] # [ doc = " @return minor version number." ] pub fn aeron_version_minor ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return patch version number." ] # [ doc = "" ] # [ doc = " @return patch version number." ] pub fn aeron_version_patch ( ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Clock function used by aeron." ] pub type aeron_clock_func_t = :: std :: option :: Option < unsafe extern "C" fn ( ) -> i64 > ; extern "C" { # [ doc = " Return time in nanoseconds for machine. Is not wall clock time." ] # [ doc = "" ] # [ doc = " @return nanoseconds since epoch for machine." ] pub fn aeron_nano_clock ( ) -> i64 ; } extern "C" { # [ doc = " Return time in milliseconds since epoch. Is wall clock time." ] # [ doc = "" ] # [ doc = " @return milliseconds since epoch." ] pub fn aeron_epoch_clock ( ) -> i64 ; } # [ doc = " Function to return logging information." ] pub type aeron_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ; extern "C" { # [ doc = " Determine if an aeron driver is using a given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname for aeron directory" ] # [ doc = " @param timeout_ms to use to determine activity for aeron directory" ] # [ doc = " @param log_func to call during activity check to log diagnostic information." ] # [ doc = " @return true for active driver or false for no active driver." ] pub fn aeron_is_driver_active ( dirname : * const :: std :: os :: raw :: c_char , timeout_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } extern "C" { # [ doc = " Load properties from a string containing name=value pairs and set appropriate environment variables for the" ] # [ doc = " process so that subsequent calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param buffer containing properties and values." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_buffer_load ( buffer : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties file and set appropriate environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param filename to load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_file_load ( filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties from HTTP URL and set environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param url to attempt to retrieve and load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_http_load ( url : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties based on URL or filename. If string contains file or http URL, it will attempt" ] # [ doc = " to load properties from a file or http as indicated. If not a URL, then it will try to load the string" ] # [ doc = " as a filename." ] # [ doc = "" ] # [ doc = " @param url_or_filename to load properties from." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_load ( url_or_filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return current aeron error code (errno) for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error code for calling thread." ] pub fn aeron_errcode ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the current aeron error message for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error message for calling thread." ] pub fn aeron_errmsg ( ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_clock_cache_stct { _unused : [ u8 ; 0 ] , } # [ doc = " Opaque reference to a cached clock instance." ] pub type aeron_clock_cache_t = aeron_clock_cache_stct ; extern "C" { # [ doc = " Update the cached clock with the current epoch and nano time values." ] # [ doc = "" ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @param epoch_time current ms since epoch." ] # [ doc = " @param nano_time current ns time." ] pub fn aeron_clock_update_cached_time ( cached_time : * mut aeron_clock_cache_t , epoch_time : i64 , nano_time : i64 ) ; } extern "C" { # [ doc = " Retrieves the cached epoch time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the epoch time." ] pub fn aeron_clock_cached_epoch_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Retrieves the cached nano time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the nano time." ] pub fn aeron_clock_cached_nano_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Allocate a cached clock" ] # [ doc = " @param cached_time Pointer to the pointer to be initialised with the new cached clock" ] # [ doc = " @return -1 if allocation fails, e.g. out of memory." ] pub fn aeron_clock_cache_alloc ( cached_time : * mut * mut aeron_clock_cache_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Free a cached clock." ] # [ doc = " @param cached_time" ] pub fn aeron_clock_cache_free ( cached_time : * mut aeron_clock_cache_t ) ; } extern "C" { pub fn aeron_randomised_int32 ( ) -> i32 ; } extern "C" { pub fn aeron_thread_set_name ( role_name : * const :: std :: os :: raw :: c_char ) ; } pub type aeron_mutex_t = pthread_mutex_t ; pub type aeron_thread_t = pthread_t ; extern "C" { pub fn aeron_nano_sleep ( nanoseconds : u64 ) ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_log_entry_stct { pub length : i32 , pub observation_count : i32 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , } # [ test ] fn bindgen_test_layout_aeron_error_log_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_log_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_log_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; } pub type aeron_error_log_entry_t = aeron_error_log_entry_stct ; pub type aeron_resource_linger_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , resource : * mut u8 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_observation_stct { pub description : * const :: std :: os :: raw :: c_char , pub error_code : :: std :: os :: raw :: c_int , pub offset : size_t , pub description_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_observation_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_observation_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_observation_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description_length ) ) ) ; } pub type aeron_distinct_observation_t = aeron_distinct_observation_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_observation_list_stct { pub num_observations : u64 , pub observations : * mut aeron_distinct_observation_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_observation_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . num_observations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( num_observations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . observations as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( observations ) ) ) ; } pub type aeron_distinct_error_log_observation_list_t = aeron_distinct_error_log_observation_list_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_stct { pub buffer : * mut u8 , pub observation_list : * mut aeron_distinct_error_log_observation_list_t , pub buffer_capacity : size_t , pub next_offset : size_t , pub clock : aeron_clock_func_t , pub linger_resource : aeron_resource_linger_func_t , pub linger_resource_clientd : * mut :: std :: os :: raw :: c_void , pub mutex : aeron_mutex_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_stct > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . observation_list as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( observation_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer_capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer_capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . next_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( next_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource_clientd as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . mutex as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( mutex ) ) ) ; } pub type aeron_distinct_error_log_t = aeron_distinct_error_log_stct ; extern "C" { pub fn aeron_distinct_error_log_init ( log : * mut aeron_distinct_error_log_t , buffer : * mut u8 , buffer_size : size_t , clock : aeron_clock_func_t , linger : aeron_resource_linger_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_distinct_error_log_close ( log : * mut aeron_distinct_error_log_t ) ; } extern "C" { pub fn aeron_distinct_error_log_record ( log : * mut aeron_distinct_error_log_t , error_code : :: std :: os :: raw :: c_int , description : * const :: std :: os :: raw :: c_char , message : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub type aeron_error_log_reader_func_t = :: std :: option :: Option < unsafe extern "C" fn ( observation_count : i32 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , error : * const :: std :: os :: raw :: c_char , error_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_error_log_exists ( buffer : * const u8 , buffer_size : size_t ) -> bool ; } extern "C" { pub fn aeron_error_log_read ( buffer : * const u8 , buffer_size : size_t , reader : aeron_error_log_reader_func_t , clientd : * mut :: std :: os :: raw :: c_void , since_timestamp : i64 ) -> size_t ; } extern "C" { pub fn aeron_distinct_error_log_num_observations ( log : * mut aeron_distinct_error_log_t ) -> size_t ; } pub type aeron_idle_strategy_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) > ; pub type aeron_idle_strategy_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , init_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_managed_resource_stct { pub registration_id : i64 , pub time_of_last_state_change : i64 , pub clientd : * mut :: std :: os :: raw :: c_void , pub decref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub incref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_managed_resource_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_managed_resource_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_managed_resource_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . time_of_last_state_change as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( time_of_last_state_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . decref as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( decref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . incref as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( incref ) ) ) ; } pub type aeron_driver_managed_resource_t = aeron_driver_managed_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_position_stct { pub counter_id : i32 , pub value_addr : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_position_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; } pub type aeron_position_t = aeron_position_stct ; pub type aeron_atomic_counter_t = aeron_position_stct ; pub mod aeron_subscription_tether_state_enum { pub type Type = u32 ; pub const AERON_SUBSCRIPTION_TETHER_ACTIVE : Type = 0 ; pub const AERON_SUBSCRIPTION_TETHER_LINGER : Type = 1 ; pub const AERON_SUBSCRIPTION_TETHER_RESTING : Type = 2 ; } pub use self :: aeron_subscription_tether_state_enum :: Type as aeron_subscription_tether_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_tetherable_position_stct { pub is_tether : bool , pub state : aeron_subscription_tether_state_t , pub counter_id : i32 , pub value_addr : * mut i64 , pub subscription_registration_id : i64 , pub time_of_last_update_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_tetherable_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_tetherable_position_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_tetherable_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . is_tether as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . time_of_last_update_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( time_of_last_update_ns ) ) ) ; } pub type aeron_tetherable_position_t = aeron_tetherable_position_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_tetherable_position_t , pub add_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub remove_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_subscribable_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . add_position_hook_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( add_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . remove_position_hook_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( remove_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . clientd as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( clientd ) ) ) ; } pub type aeron_subscribable_t = aeron_subscribable_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_base_stct { pub func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) > , pub item : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_base_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_base_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_base_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . item as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( item ) ) ) ; } pub type aeron_command_base_t = aeron_command_base_stct ; pub type aeron_feedback_delay_generator_state_t = aeron_feedback_delay_generator_state_stct ; pub type aeron_feedback_delay_generator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct { pub static_delay : aeron_feedback_delay_generator_state_stct_static_delay_stct , pub optimal_delay : aeron_feedback_delay_generator_state_stct_optimal_delay_stct , pub should_immediate_feedback : bool , pub delay_generator : aeron_feedback_delay_generator_func_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_static_delay_stct { pub delay_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_static_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) ) ) . delay_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) , "::" , stringify ! ( delay_ns ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_optimal_delay_stct { pub rand_max : f64 , pub base_x : f64 , pub constant_t : f64 , pub factor_t : f64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_optimal_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . rand_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( rand_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . base_x as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( base_x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . constant_t as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( constant_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . factor_t as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( factor_t ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . static_delay as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( static_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . optimal_delay as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( optimal_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . should_immediate_feedback as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( should_immediate_feedback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . delay_generator as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( delay_generator ) ) ) ; } extern "C" { pub fn aeron_driver_subscribable_remove_position ( subscribable : * mut aeron_subscribable_t , counter_id : i32 ) ; } extern "C" { pub fn aeron_command_on_delete_cmd ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } pub type aeron_driver_context_t = aeron_driver_context_stct ; pub type aeron_driver_t = aeron_driver_stct ; extern "C" { pub fn aeron_driver_context_set_dir ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_dir_warn_if_exists ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_warn_if_exists ( context : * mut aeron_driver_context_t ) -> bool ; } pub mod aeron_threading_mode_enum { pub type Type = u32 ; pub const AERON_THREADING_MODE_DEDICATED : Type = 0 ; pub const AERON_THREADING_MODE_SHARED_NETWORK : Type = 1 ; pub const AERON_THREADING_MODE_SHARED : Type = 2 ; pub const AERON_THREADING_MODE_INVOKER : Type = 3 ; } pub use self :: aeron_threading_mode_enum :: Type as aeron_threading_mode_t ; extern "C" { pub fn aeron_driver_context_set_threading_mode ( context : * mut aeron_driver_context_t , mode : aeron_threading_mode_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_threading_mode ( context : * mut aeron_driver_context_t ) -> aeron_threading_mode_t ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_start ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_start ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_to_conductor_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_conductor_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_to_clients_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_clients_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_counters_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_error_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_error_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_sparse_file ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_sparse_file ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_perform_storage_checks ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_perform_storage_checks ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_spies_simulate_connection ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_spies_simulate_connection ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_file_page_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_file_page_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_socket_so_rcvbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_rcvbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_so_sndbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_sndbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_multicast_ttl ( context : * mut aeron_driver_context_t , value : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_multicast_ttl ( context : * mut aeron_driver_context_t ) -> u8 ; } extern "C" { pub fn aeron_driver_context_set_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub type aeron_flow_control_strategy_t = aeron_flow_control_strategy_stct ; pub type aeron_udp_channel_t = aeron_udp_channel_stct ; pub type aeron_flow_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { # [ doc = " Return a flow control strategy supplier function pointer associated with the given name. This only will find" ] # [ doc = " strategies built into the driver and will not try to dynamically load nor find any in the current executable." ] # [ doc = "" ] # [ doc = " @param name of the strategy" ] # [ doc = " @return function pointer to supplier associated with the name" ] pub fn aeron_flow_control_strategy_supplier_by_name ( name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_rcv_initial_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_initial_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } pub type aeron_congestion_control_strategy_t = aeron_congestion_control_strategy_stct ; pub type aeron_counters_manager_t = aeron_counters_manager_stct ; pub type aeron_congestion_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_congestioncontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_congestion_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_congestioncontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_loss_report_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_loss_report_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_timer_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_timer_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_agent_on_start_function ( context : * mut aeron_driver_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_function ( context : * mut aeron_driver_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_tag ( context : * mut aeron_driver_context_t , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_tag ( context : * mut aeron_driver_context_t ) -> i64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_min_size ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_min_size ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_receiver_group_tag ( context : * mut aeron_driver_context_t , is_present : bool , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_is_present ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_value ( context : * mut aeron_driver_context_t ) -> i64 ; } pub type aeron_driver_termination_validator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : i32 ) -> bool > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_validator ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_validator_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_validator_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } pub type aeron_driver_termination_hook_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_hook ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_hook_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_hook_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_print_configuration ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_print_configuration ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_reliable_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_reliable_stream ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_tether_subscriptions ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_tether_subscriptions ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_driver_timeout_ms ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_timeout_ms ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_group_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_group_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub mod aeron_inferable_boolean_enum { pub type Type = u32 ; pub const AERON_FORCE_FALSE : Type = 0 ; pub const AERON_FORCE_TRUE : Type = 1 ; pub const AERON_INFER : Type = 2 ; } pub use self :: aeron_inferable_boolean_enum :: Type as aeron_inferable_boolean_t ; extern "C" { pub fn aeron_driver_context_set_receiver_group_consideration ( context : * mut aeron_driver_context_t , value : aeron_inferable_boolean_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_consideration ( context : * mut aeron_driver_context_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_set_rejoin_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rejoin_stream ( context : * mut aeron_driver_context_t ) -> bool ; } pub type aeron_udp_channel_transport_bindings_t = aeron_udp_channel_transport_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_transport_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_t = aeron_udp_channel_interceptor_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t ) -> i32 ; } pub type aeron_name_resolver_t = aeron_name_resolver_stct ; pub type aeron_name_resolver_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_resolver_name ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_name ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_interface ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_interface ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_supplier ( context : * mut aeron_driver_context_t , value : aeron_name_resolver_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_supplier ( context : * mut aeron_driver_context_t ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { # [ doc = " Create a aeron_driver_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_init ( context : * mut * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_close ( context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_driver_t struct and initialize from the aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_driver_context_t struct will be used exclusively by the driver. Do not reuse between drivers." ] # [ doc = "" ] # [ doc = " @param driver to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_init ( driver : * mut * mut aeron_driver_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_driver_t given the threading mode. This may spawn threads for the Sender, Receiver, and Conductor" ] # [ doc = " depending on threading mode used." ] # [ doc = "" ] # [ doc = " @param driver to start." ] # [ doc = " @param manual_main_loop to be called by the caller for the Conductor do_work cycle." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_start ( driver : * mut aeron_driver_t , manual_main_loop : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Driver must have been created with manual_main_loop set to true." ] # [ doc = "" ] # [ doc = " @param driver to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_main_do_work ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) Idle Strategy." ] # [ doc = "" ] # [ doc = " @param driver to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_driver_main_idle_strategy ( driver : * mut aeron_driver_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_driver_t struct." ] # [ doc = "" ] # [ doc = " @param driver to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_close ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete the given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname to delete." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_delete_directory ( dirname : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_param_stct { pub key : * const :: std :: os :: raw :: c_char , pub value : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_aeron_uri_param_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_param_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_param_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . key as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( value ) ) ) ; } pub type aeron_uri_param_t = aeron_uri_param_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_params_stct { pub length : size_t , pub array : * mut aeron_uri_param_t , } # [ test ] fn bindgen_test_layout_aeron_uri_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . array as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( array ) ) ) ; } pub type aeron_uri_params_t = aeron_uri_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_publication_params_stct { pub has_position : bool , pub is_sparse : bool , pub signal_eos : bool , pub mtu_length : size_t , pub term_length : size_t , pub term_offset : size_t , pub initial_term_id : i32 , pub term_id : i32 , pub linger_timeout_ns : u64 , pub has_session_id : bool , pub session_id : i32 , pub entity_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_uri_publication_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_publication_params_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_publication_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_position as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . signal_eos as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . mtu_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . session_id as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; } pub type aeron_uri_publication_params_t = aeron_uri_publication_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_subscription_params_stct { pub is_reliable : bool , pub is_sparse : bool , pub is_tether : bool , pub is_rejoin : bool , pub group : aeron_inferable_boolean_t , pub has_session_id : bool , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_uri_subscription_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_subscription_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_subscription_params_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_tether as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . group as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_uri_subscription_params_t = aeron_uri_subscription_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_params_stct { pub endpoint : * const :: std :: os :: raw :: c_char , pub bind_interface : * const :: std :: os :: raw :: c_char , pub control : * const :: std :: os :: raw :: c_char , pub control_mode : * const :: std :: os :: raw :: c_char , pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub ttl : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_params_stct > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . bind_interface as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( bind_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . ttl as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_udp_channel_params_t = aeron_udp_channel_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_channel_params_stct { pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_channel_params_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_ipc_channel_params_t = aeron_ipc_channel_params_stct ; pub mod aeron_uri_type_enum { pub type Type = u32 ; pub const AERON_URI_UDP : Type = 0 ; pub const AERON_URI_IPC : Type = 1 ; pub const AERON_URI_UNKNOWN : Type = 2 ; } pub use self :: aeron_uri_type_enum :: Type as aeron_uri_type_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_stct { pub mutable_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub type_ : aeron_uri_type_t , pub params : aeron_uri_stct__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union aeron_uri_stct__bindgen_ty_1 { pub udp : aeron_udp_channel_params_t , pub ipc : aeron_ipc_channel_params_t , _bindgen_union_align : [ u64 ; 9usize ] , } # [ test ] fn bindgen_test_layout_aeron_uri_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . ipc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( ipc ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_uri_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . mutable_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( mutable_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . type_ as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . params as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( params ) ) ) ; } pub type aeron_uri_t = aeron_uri_stct ; pub type aeron_uri_parse_callback_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_uri_parse_params ( uri : * mut :: std :: os :: raw :: c_char , param_func : aeron_uri_parse_callback_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_udp_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_ipc_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , params : * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_close ( params : * mut aeron_uri_t ) ; } extern "C" { pub fn aeron_uri_multicast_ttl ( uri : * mut aeron_uri_t ) -> u8 ; } extern "C" { pub fn aeron_uri_find_param_value ( uri_params : * const aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_uri_get_int64 ( uri_params : * mut aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char , retval : * mut i64 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_driver_conductor_t = aeron_driver_conductor_stct ; extern "C" { pub fn aeron_uri_publication_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_publication_params_t , context : * mut aeron_driver_conductor_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_subscription_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_subscription_params_t , conductor : * mut aeron_driver_conductor_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse_tag ( tag_str : * const :: std :: os :: raw :: c_char ) -> i64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type socklen_t = __socklen_t ; pub type sa_family_t = :: std :: os :: raw :: c_ushort ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr { pub sa_family : sa_family_t , pub sa_data : [ :: std :: os :: raw :: c_char ; 14usize ] , } # [ test ] fn bindgen_test_layout_sockaddr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_data as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr_storage { pub ss_family : sa_family_t , pub __ss_padding : [ :: std :: os :: raw :: c_char ; 118usize ] , pub __ss_align : :: std :: os :: raw :: c_ulong , } # [ test ] fn bindgen_test_layout_sockaddr_storage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr_storage > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr_storage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . ss_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( ss_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_padding as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_align as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct msghdr { pub msg_name : * mut :: std :: os :: raw :: c_void , pub msg_namelen : socklen_t , pub msg_iov : * mut iovec , pub msg_iovlen : size_t , pub msg_control : * mut :: std :: os :: raw :: c_void , pub msg_controllen : size_t , pub msg_flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_msghdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < msghdr > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < msghdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_namelen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_namelen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iovlen as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iovlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_control as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_controllen as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_controllen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_flags ) ) ) ; } pub type in_addr_t = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in_addr { pub s_addr : in_addr_t , } # [ test ] fn bindgen_test_layout_in_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in_addr > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in_addr > ( ) ) ) . s_addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in_addr ) , "::" , stringify ! ( s_addr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in6_addr { pub __in6_u : in6_addr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union in6_addr__bindgen_ty_1 { pub __u6_addr8 : [ u8 ; 16usize ] , pub __u6_addr16 : [ u16 ; 8usize ] , pub __u6_addr32 : [ u32 ; 4usize ] , _bindgen_union_align : [ u32 ; 4usize ] , } # [ test ] fn bindgen_test_layout_in6_addr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr8 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr16 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr32 ) ) ) ; } # [ test ] fn bindgen_test_layout_in6_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr > ( ) ) ) . __in6_u as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr ) , "::" , stringify ! ( __in6_u ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct addrinfo { pub ai_flags : :: std :: os :: raw :: c_int , pub ai_family : :: std :: os :: raw :: c_int , pub ai_socktype : :: std :: os :: raw :: c_int , pub ai_protocol : :: std :: os :: raw :: c_int , pub ai_addrlen : socklen_t , pub ai_addr : * mut sockaddr , pub ai_canonname : * mut :: std :: os :: raw :: c_char , pub ai_next : * mut addrinfo , } # [ test ] fn bindgen_test_layout_addrinfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < addrinfo > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < addrinfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_family as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_socktype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_socktype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_protocol as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_protocol ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addrlen as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addrlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_canonname as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_canonname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_next as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_next ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ifaddrs { pub ifa_next : * mut ifaddrs , pub ifa_name : * mut :: std :: os :: raw :: c_char , pub ifa_flags : :: std :: os :: raw :: c_uint , pub ifa_addr : * mut sockaddr , pub ifa_netmask : * mut sockaddr , pub ifa_ifu : ifaddrs__bindgen_ty_1 , pub ifa_data : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ifaddrs__bindgen_ty_1 { pub ifu_broadaddr : * mut sockaddr , pub ifu_dstaddr : * mut sockaddr , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ifaddrs__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_broadaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_broadaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_dstaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_dstaddr ) ) ) ; } # [ test ] fn bindgen_test_layout_ifaddrs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_netmask as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_netmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_ifu as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_ifu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_data ) ) ) ; } pub type aeron_socket_t = :: std :: os :: raw :: c_int ; extern "C" { pub fn aeron_socket ( domain : :: std :: os :: raw :: c_int , type_ : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> aeron_socket_t ; } extern "C" { pub fn aeron_close_socket ( socket : aeron_socket_t ) ; } extern "C" { pub fn aeron_net_init ( ) ; } extern "C" { pub fn aeron_getsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * mut :: std :: os :: raw :: c_void , optlen : * mut socklen_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_setsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * const :: std :: os :: raw :: c_void , optlen : socklen_t ) -> :: std :: os :: raw :: c_int ; } pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_SENDER : aeron_udp_channel_transport_affinity_en = 0 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_RECEIVER : aeron_udp_channel_transport_affinity_en = 1 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_CONDUCTOR : aeron_udp_channel_transport_affinity_en = 2 ; pub type aeron_udp_channel_transport_affinity_en = u32 ; pub use self :: aeron_udp_channel_transport_affinity_en as aeron_udp_channel_transport_affinity_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct mmsghdr { _unused : [ u8 ; 0 ] , } pub type aeron_udp_channel_transport_t = aeron_udp_channel_transport_stct ; pub type aeron_udp_transport_poller_t = aeron_udp_transport_poller_stct ; pub type aeron_udp_channel_data_paths_t = aeron_udp_channel_data_paths_stct ; pub type aeron_udp_channel_transport_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_recv_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_transport_recvmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_get_so_rcvbuf_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_bind_addr_and_port_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_add_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_remove_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_poll_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct { pub init_func : aeron_udp_channel_transport_init_func_t , pub close_func : aeron_udp_channel_transport_close_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub get_so_rcvbuf_func : aeron_udp_channel_transport_get_so_rcvbuf_func_t , pub bind_addr_and_port_func : aeron_udp_channel_transport_bind_addr_and_port_func_t , pub poller_init_func : aeron_udp_transport_poller_init_func_t , pub poller_close_func : aeron_udp_transport_poller_close_func_t , pub poller_add_func : aeron_udp_transport_poller_add_func_t , pub poller_remove_func : aeron_udp_transport_poller_remove_func_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub meta_info : aeron_udp_channel_transport_bindings_stct_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_binding : * const aeron_udp_channel_transport_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . next_binding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( next_binding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . close_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . get_so_rcvbuf_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( get_so_rcvbuf_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . bind_addr_and_port_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( bind_addr_and_port_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_init_func as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_close_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_add_func as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_add_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_remove_func as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_remove_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_bindings_load_media ( bindings_name : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_load_func_t = :: std :: option :: Option < unsafe extern "C" fn ( delegate_bindings : * mut aeron_udp_channel_interceptor_bindings_t ) -> * mut aeron_udp_channel_interceptor_bindings_t > ; extern "C" { pub fn aeron_udp_channel_interceptor_bindings_load ( existing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , interceptors : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } pub type aeron_udp_channel_outgoing_interceptor_t = aeron_udp_channel_outgoing_interceptor_stct ; pub type aeron_udp_channel_incoming_interceptor_t = aeron_udp_channel_incoming_interceptor_stct ; pub type aeron_udp_channel_interceptor_outgoing_mmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_outgoing_msg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_incoming_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_incoming_interceptor_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_interceptor_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut * mut :: std :: os :: raw :: c_void , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct { pub outgoing_init_func : aeron_udp_channel_interceptor_init_func_t , pub incoming_init_func : aeron_udp_channel_interceptor_init_func_t , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub outgoing_close_func : aeron_udp_channel_interceptor_close_func_t , pub incoming_close_func : aeron_udp_channel_interceptor_close_func_t , pub meta_info : aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_interceptor_bindings : * const aeron_udp_channel_interceptor_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . next_interceptor_bindings as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( next_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_init_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_close_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_close_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_outgoing_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_outgoing_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_outgoing_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_incoming_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_incoming_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_incoming_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . incoming_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_data_paths_stct { pub outgoing_interceptors : * mut aeron_udp_channel_outgoing_interceptor_t , pub incoming_interceptors : * mut aeron_udp_channel_incoming_interceptor_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub recv_func : aeron_udp_transport_recv_func_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_data_paths_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_data_paths_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_data_paths_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . outgoing_interceptors as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( outgoing_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . incoming_interceptors as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( incoming_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . recv_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( recv_func ) ) ) ; } extern "C" { pub fn aeron_udp_channel_data_paths_init ( data_paths : * mut aeron_udp_channel_data_paths_t , outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , media_bindings : * mut aeron_udp_channel_transport_bindings_t , recv_func : aeron_udp_transport_recv_func_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_data_paths_delete ( data_paths : * mut aeron_udp_channel_data_paths_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_frame_header_stct { pub frame_length : i32 , pub version : i8 , pub flags : u8 , pub type_ : i16 , } # [ test ] fn bindgen_test_layout_aeron_frame_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_frame_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_frame_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . frame_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( frame_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . version as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . flags as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . type_ as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( type_ ) ) ) ; } pub type aeron_frame_header_t = aeron_frame_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_setup_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_length : i32 , pub mtu : i32 , pub ttl : i32 , } # [ test ] fn bindgen_test_layout_aeron_setup_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_setup_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_setup_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . active_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . mtu as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( mtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . ttl as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( ttl ) ) ) ; } pub type aeron_setup_header_t = aeron_setup_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub reserved_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_data_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_header_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . reserved_value as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( reserved_value ) ) ) ; } pub type aeron_data_header_t = aeron_data_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_nak_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub term_offset : i32 , pub length : i32 , } # [ test ] fn bindgen_test_layout_aeron_nak_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_nak_header_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_nak_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_nak_header_t = aeron_nak_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub consumption_term_id : i32 , pub consumption_term_offset : i32 , pub receiver_window : i32 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_header_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_window as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_status_message_header_t = aeron_status_message_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_optional_header_stct { pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_optional_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_optional_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_optional_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_optional_header_stct > ( ) ) ) . group_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_optional_header_stct ) , "::" , stringify ! ( group_tag ) ) ) ; } pub type aeron_status_message_optional_header_t = aeron_status_message_optional_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rttm_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub echo_timestamp : i64 , pub reception_delta : i64 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_rttm_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rttm_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rttm_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . echo_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( echo_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . reception_delta as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( reception_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_rttm_header_t = aeron_rttm_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_stct { pub res_type : i8 , pub res_flags : u8 , pub udp_port : u16 , pub age_in_ms : i32 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . udp_port as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( udp_port ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . age_in_ms as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( age_in_ms ) ) ) ; } pub type aeron_resolution_header_t = aeron_resolution_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv4_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 4usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv4_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv4_stct > ( ) , 14usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv4_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . name_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv4_t = aeron_resolution_header_ipv4_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv6_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 16usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv6_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv6_stct > ( ) , 26usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv6_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . name_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv6_t = aeron_resolution_header_ipv6_stct ; extern "C" { pub fn aeron_udp_protocol_group_tag ( sm : * mut aeron_status_message_header_t , group_tag : * mut i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_res_header_entry_length_ipv4 ( header : * mut aeron_resolution_header_ipv4_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length_ipv6 ( header : * mut aeron_resolution_header_ipv6_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length ( res : * mut :: std :: os :: raw :: c_void , remaining : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_logbuffer_metadata_stct { pub term_tail_counters : [ i64 ; 3usize ] , pub active_term_count : i32 , pub pad1 : [ u8 ; 100usize ] , pub end_of_stream_position : i64 , pub is_connected : i32 , pub active_transport_count : i32 , pub pad2 : [ u8 ; 112usize ] , pub correlation_id : i64 , pub initial_term_id : i32 , pub default_frame_header_length : i32 , pub mtu_length : i32 , pub term_length : i32 , pub page_size : i32 , pub pad3 : [ u8 ; 36usize ] , } # [ test ] fn bindgen_test_layout_aeron_logbuffer_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_logbuffer_metadata_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_logbuffer_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_tail_counters as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_tail_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_term_count as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_term_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . end_of_stream_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( end_of_stream_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . is_connected as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_transport_count as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_transport_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad2 as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . correlation_id as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . default_frame_header_length as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( default_frame_header_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . mtu_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_length as * const _ as usize } , 276usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad3 as * const _ as usize } , 284usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad3 ) ) ) ; } pub type aeron_logbuffer_metadata_t = aeron_logbuffer_metadata_stct ; extern "C" { pub fn aeron_logbuffer_check_term_length ( term_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_logbuffer_check_page_size ( page_size : u64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_file_stct { pub addr : * mut :: std :: os :: raw :: c_void , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_file_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_file_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_file_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_file_t = aeron_mapped_file_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_buffer_stct { pub addr : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_buffer_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_buffer_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_buffer_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_buffer_t = aeron_mapped_buffer_stct ; extern "C" { pub fn aeron_is_directory ( path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_new_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char , fill_with_zeroes : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unmap ( mapped_file : * mut aeron_mapped_file_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_usable_fs_space_func_t = :: std :: option :: Option < unsafe extern "C" fn ( path : * const :: std :: os :: raw :: c_char ) -> u64 > ; extern "C" { pub fn aeron_file_length ( path : * const :: std :: os :: raw :: c_char ) -> i64 ; } extern "C" { pub fn aeron_usable_fs_space ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } extern "C" { pub fn aeron_usable_fs_space_disabled ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_raw_log_stct { pub term_buffers : [ aeron_mapped_buffer_t ; 3usize ] , pub log_meta_data : aeron_mapped_buffer_t , pub mapped_file : aeron_mapped_file_t , pub term_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_raw_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_raw_log_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_raw_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . mapped_file as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( mapped_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_length as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_length ) ) ) ; } pub type aeron_mapped_raw_log_t = aeron_mapped_raw_log_stct ; extern "C" { pub fn aeron_ipc_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_temp_filename ( filename : * mut :: std :: os :: raw :: c_char , length : size_t ) -> size_t ; } pub type aeron_map_raw_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , arg2 : * const :: std :: os :: raw :: c_char , arg3 : bool , arg4 : u64 , arg5 : u64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_map_raw_log_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_map_raw_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , use_sparse_files : bool , term_length : u64 , page_size : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , pre_touch : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_raw_log_close ( mapped_raw_log : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub const aeron_queue_offer_result_stct_AERON_OFFER_SUCCESS : aeron_queue_offer_result_stct = 0 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_ERROR : aeron_queue_offer_result_stct = -2 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_FULL : aeron_queue_offer_result_stct = -1 ; pub type aeron_queue_offer_result_stct = i32 ; pub use self :: aeron_queue_offer_result_stct as aeron_queue_offer_result_t ; pub type aeron_queue_drain_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub padding : [ i8 ; 48usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_spsc_concurrent_array_queue_t = aeron_spsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_spsc_concurrent_array_queue_init ( queue : * mut aeron_spsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_spsc_concurrent_array_queue_close ( queue : * mut aeron_spsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub shared_head_cache : u64 , pub padding : [ i8 ; 40usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . shared_head_cache as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( shared_head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_mpsc_concurrent_array_queue_t = aeron_mpsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_mpsc_concurrent_array_queue_init ( queue : * mut aeron_mpsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_concurrent_array_queue_close ( queue : * mut aeron_mpsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_descriptor_stct { pub begin_pad : [ u8 ; 128usize ] , pub tail_position : i64 , pub tail_pad : [ u8 ; 120usize ] , pub head_cache_position : i64 , pub head_cache_pad : [ u8 ; 120usize ] , pub head_position : i64 , pub head_pad : [ u8 ; 120usize ] , pub correlation_counter : i64 , pub correlation_counter_pad : [ u8 ; 120usize ] , pub consumer_heartbeat : i64 , pub consumer_heartbeat_pad : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_rb_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_descriptor_stct > ( ) , 768usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . begin_pad as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( begin_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_pad as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_position as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_pad as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_position as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_pad as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter_pad as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat_pad as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat_pad ) ) ) ; } pub type aeron_rb_descriptor_t = aeron_rb_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_rb_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_rb_record_descriptor_t = aeron_rb_record_descriptor_stct ; pub const aeron_rb_write_result_stct_AERON_RB_SUCCESS : aeron_rb_write_result_stct = 0 ; pub const aeron_rb_write_result_stct_AERON_RB_ERROR : aeron_rb_write_result_stct = -2 ; pub const aeron_rb_write_result_stct_AERON_RB_FULL : aeron_rb_write_result_stct = -1 ; pub type aeron_rb_write_result_stct = i32 ; pub use self :: aeron_rb_write_result_stct as aeron_rb_write_result_t ; pub type aeron_rb_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : * const :: std :: os :: raw :: c_void , arg3 : size_t , arg4 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_rb_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_rb_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mpsc_rb_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_rb_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_rb_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_mpsc_rb_t = aeron_mpsc_rb_stct ; extern "C" { pub fn aeron_mpsc_rb_init ( ring_buffer : * mut aeron_mpsc_rb_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_rb_write ( ring_buffer : * mut aeron_mpsc_rb_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> aeron_rb_write_result_t ; } extern "C" { pub fn aeron_mpsc_rb_read ( ring_buffer : * mut aeron_mpsc_rb_t , handler : aeron_rb_handler_t , clientd : * mut :: std :: os :: raw :: c_void , message_count_limit : size_t ) -> size_t ; } extern "C" { pub fn aeron_mpsc_rb_next_correlation_id ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time ( ring_buffer : * mut aeron_mpsc_rb_t , now_ms : i64 ) ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time_value ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_unblock ( ring_buffer : * mut aeron_mpsc_rb_t ) -> bool ; } pub type aeron_flow_control_strategy_on_idle_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , snd_lmt : i64 , snd_pos : i64 , is_end_of_stream : bool ) -> i64 > ; pub type aeron_flow_control_strategy_on_sm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , sm : * const u8 , length : size_t , recv_addr : * mut sockaddr_storage , snd_lmt : i64 , initial_term_id : i32 , position_bits_to_shift : size_t , now_ns : i64 ) -> i64 > ; pub type aeron_flow_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_flow_control_strategy_has_required_receivers = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_stct { pub on_status_message : aeron_flow_control_strategy_on_sm_func_t , pub on_idle : aeron_flow_control_strategy_on_idle_func_t , pub fini : aeron_flow_control_strategy_fini_func_t , pub has_required_receivers : aeron_flow_control_strategy_has_required_receivers , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_status_message as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_status_message ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_idle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . has_required_receivers as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( has_required_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_flow_control_strategy_has_required_receivers_default ( strategy : * mut aeron_flow_control_strategy_t ) -> bool ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct { pub strategy_name_length : size_t , pub strategy_name : * const :: std :: os :: raw :: c_char , pub group_tag : aeron_flow_control_tagged_options_stct__bindgen_ty_1 , pub timeout_ns : aeron_flow_control_tagged_options_stct__bindgen_ty_2 , pub group_min_size : aeron_flow_control_tagged_options_stct__bindgen_ty_3 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_2 { pub is_present : bool , pub value : u64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_3 { pub is_present : bool , pub value : i32 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . value as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_min_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_min_size ) ) ) ; } pub type aeron_flow_control_tagged_options_t = aeron_flow_control_tagged_options_stct ; extern "C" { pub fn aeron_flow_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_max_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_min_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_to_string ( strategy : * mut aeron_flow_control_strategy_t , buffer : * mut :: std :: os :: raw :: c_char , buffer_len : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_supplier_func_table_entry_stct { pub name : * const :: std :: os :: raw :: c_char , pub supplier_func : aeron_flow_control_strategy_supplier_func_t , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_supplier_func_table_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . supplier_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( supplier_func ) ) ) ; } pub type aeron_flow_control_strategy_supplier_func_table_entry_t = aeron_flow_control_strategy_supplier_func_table_entry_stct ; extern "C" { pub fn aeron_flow_control_parse_tagged_options ( options_length : size_t , options : * const :: std :: os :: raw :: c_char , flow_control_options : * mut aeron_flow_control_tagged_options_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_congestion_control_strategy_should_measure_rtt_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 ) -> bool > ; pub type aeron_congestion_control_strategy_on_rttm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , rtt_ns : i64 , source_address : * mut sockaddr_storage ) > ; pub type aeron_congestion_control_strategy_on_track_rebuild_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , should_force_sm : * mut bool , now_ns : i64 , new_consumption_position : i64 , last_sm_position : i64 , hwm_position : i64 , starting_rebuild_position : i64 , ending_rebuild_position : i64 , loss_occurred : bool ) -> i32 > ; pub type aeron_congestion_control_strategy_initial_window_length_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void ) -> i32 > ; pub type aeron_congestion_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_congestion_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_congestion_control_strategy_stct { pub should_measure_rtt : aeron_congestion_control_strategy_should_measure_rtt_func_t , pub on_rttm : aeron_congestion_control_strategy_on_rttm_func_t , pub on_track_rebuild : aeron_congestion_control_strategy_on_track_rebuild_func_t , pub initial_window_length : aeron_congestion_control_strategy_initial_window_length_func_t , pub fini : aeron_congestion_control_strategy_fini_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_congestion_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_congestion_control_strategy_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_congestion_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . should_measure_rtt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( should_measure_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_rttm as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_rttm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_track_rebuild as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_track_rebuild ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_congestion_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_static_window_congestion_control_strategy_supplier ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_semantic_version_compose ( major : u8 , minor : u8 , patch : u8 ) -> i32 ; } extern "C" { pub fn aeron_semantic_version_major ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_minor ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_patch ( version : i32 ) -> u8 ; } pub type aeron_agent_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_agent_on_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_idle_strategy_stct { pub idle : aeron_idle_strategy_func_t , pub init : aeron_idle_strategy_init_func_t , } # [ test ] fn bindgen_test_layout_aeron_idle_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_idle_strategy_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_idle_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . init as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( init ) ) ) ; } pub type aeron_idle_strategy_t = aeron_idle_strategy_stct ; extern "C" { pub fn aeron_idle_strategy_sleeping_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_yielding_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_busy_spinning_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_noop_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_state_init ( state : * mut * mut :: std :: os :: raw :: c_void , max_spins : u64 , max_yields : u64 , min_park_period_ns : u64 , max_park_period_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_idle_strategy_init_null ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_agent_runner_stct { pub role_name : * const :: std :: os :: raw :: c_char , pub agent_state : * mut :: std :: os :: raw :: c_void , pub idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub on_start_state : * mut :: std :: os :: raw :: c_void , pub on_start : aeron_agent_on_start_func_t , pub do_work : aeron_agent_do_work_func_t , pub on_close : aeron_agent_on_close_func_t , pub idle_strategy : aeron_idle_strategy_func_t , pub thread : aeron_thread_t , pub running : bool , pub state : u8 , } # [ test ] fn bindgen_test_layout_aeron_agent_runner_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_agent_runner_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_agent_runner_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . role_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( role_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . agent_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( agent_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy_state as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start_state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . do_work as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( do_work ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_close as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_close ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . thread as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( thread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . running as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( running ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . state as * const _ as usize } , 73usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_agent_runner_t = aeron_agent_runner_stct ; extern "C" { pub fn aeron_idle_strategy_load ( idle_strategy_name : * const :: std :: os :: raw :: c_char , idle_strategy_state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> aeron_idle_strategy_func_t ; } extern "C" { pub fn aeron_agent_on_start_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_agent_init ( runner : * mut aeron_agent_runner_t , role_name : * const :: std :: os :: raw :: c_char , state : * mut :: std :: os :: raw :: c_void , on_start : aeron_agent_on_start_func_t , on_start_state : * mut :: std :: os :: raw :: c_void , do_work : aeron_agent_do_work_func_t , on_close : aeron_agent_on_close_func_t , idle_strategy_func : aeron_idle_strategy_func_t , idle_strategy_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_start ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_stop ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_close ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_value_descriptor_stct { pub counter_value : i64 , pub pad1 : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_value_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_value_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_value_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . counter_value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( counter_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . pad1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( pad1 ) ) ) ; } pub type aeron_counter_value_descriptor_t = aeron_counter_value_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_metadata_descriptor_stct { pub state : i32 , pub type_id : i32 , pub free_to_reuse_deadline : i64 , pub key : [ u8 ; 112usize ] , pub label_length : i32 , pub label : [ u8 ; 380usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_metadata_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( type_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . free_to_reuse_deadline as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( free_to_reuse_deadline ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . key as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label_length as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label ) ) ) ; } pub type aeron_counter_metadata_descriptor_t = aeron_counter_metadata_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stream_position_counter_key_layout_stct { pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 92usize ] , } # [ test ] fn bindgen_test_layout_aeron_stream_position_counter_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_stream_position_counter_key_layout_t = aeron_stream_position_counter_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_channel_endpoint_status_key_layout_stct { pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 108usize ] , } # [ test ] fn bindgen_test_layout_aeron_channel_endpoint_status_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_channel_endpoint_status_key_layout_t = aeron_channel_endpoint_status_key_layout_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_heartbeat_timestamp_key_layout_stct { pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_heartbeat_timestamp_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_heartbeat_timestamp_key_layout_t = aeron_heartbeat_timestamp_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_local_sockaddr_key_layout_stct { pub channel_status_id : i32 , pub local_sockaddr_len : i32 , pub local_sockaddr : [ :: std :: os :: raw :: c_char ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_local_sockaddr_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . channel_status_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( channel_status_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr ) ) ) ; } pub type aeron_local_sockaddr_key_layout_t = aeron_local_sockaddr_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_manager_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub id_high_water_mark : i32 , pub free_list : * mut i32 , pub free_list_index : i32 , pub free_list_length : size_t , pub clock_func : aeron_clock_func_t , pub free_to_reuse_timeout_ms : i64 , } # [ test ] fn bindgen_test_layout_aeron_counters_manager_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_manager_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_manager_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . id_high_water_mark as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( id_high_water_mark ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_index as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_length as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . clock_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( clock_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_to_reuse_timeout_ms as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_to_reuse_timeout_ms ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_reader_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub max_counter_id : size_t , } # [ test ] fn bindgen_test_layout_aeron_counters_reader_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_reader_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_reader_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . max_counter_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( max_counter_id ) ) ) ; } extern "C" { pub fn aeron_counters_manager_init ( manager : * mut aeron_counters_manager_t , metadata_buffer : * mut u8 , metadata_length : size_t , values_buffer : * mut u8 , values_length : size_t , clock_func : aeron_clock_func_t , free_to_reuse_timeout_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_counters_manager_close ( manager : * mut aeron_counters_manager_t ) ; } extern "C" { pub fn aeron_counters_manager_allocate ( manager : * mut aeron_counters_manager_t , type_id : i32 , key : * const u8 , key_length : size_t , label : * const :: std :: os :: raw :: c_char , label_length : size_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_update_label ( manager : * mut aeron_counters_manager_t , counter_id : i32 , label_length : size_t , label : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn aeron_counters_manager_next_counter_id ( manager : * mut aeron_counters_manager_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_free ( manager : * mut aeron_counters_manager_t , counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_counters_reader_foreach_metadata_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : i32 , arg3 : * const u8 , arg4 : size_t , arg5 : * const u8 , arg6 : size_t , arg7 : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_counters_reader_foreach_metadata ( metadata_buffer : * mut u8 , metadata_length : size_t , func : aeron_counters_reader_foreach_metadata_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_SENT : aeron_system_counter_enum_stct = 0 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_RECEIVED : aeron_system_counter_enum_stct = 1 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RECEIVER_PROXY_FAILS : aeron_system_counter_enum_stct = 2 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_PROXY_FAILS : aeron_system_counter_enum_stct = 3 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONDUCTOR_PROXY_FAILS : aeron_system_counter_enum_stct = 4 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_SENT : aeron_system_counter_enum_stct = 5 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 6 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_SENT : aeron_system_counter_enum_stct = 7 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 8 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_SENT : aeron_system_counter_enum_stct = 9 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_RECEIVED : aeron_system_counter_enum_stct = 10 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RETRANSMITS_SENT : aeron_system_counter_enum_stct = 11 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_UNDER_RUNS : aeron_system_counter_enum_stct = 12 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_OVER_RUNS : aeron_system_counter_enum_stct = 13 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_INVALID_PACKETS : aeron_system_counter_enum_stct = 14 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_ERRORS : aeron_system_counter_enum_stct = 15 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SHORT_SENDS : aeron_system_counter_enum_stct = 16 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FREE_FAILS : aeron_system_counter_enum_stct = 17 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_FLOW_CONTROL_LIMITS : aeron_system_counter_enum_stct = 18 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_PUBLICATIONS : aeron_system_counter_enum_stct = 19 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_COMMANDS : aeron_system_counter_enum_stct = 20 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_POSSIBLE_TTL_ASYMMETRY : aeron_system_counter_enum_stct = 21 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONTROLLABLE_IDLE_STRATEGY : aeron_system_counter_enum_stct = 22 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_LOSS_GAP_FILLS : aeron_system_counter_enum_stct = 23 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CLIENT_TIMEOUTS : aeron_system_counter_enum_stct = 24 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RESOLUTION_CHANGES : aeron_system_counter_enum_stct = 25 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_DUMMY_LAST : aeron_system_counter_enum_stct = 26 ; pub type aeron_system_counter_enum_stct = u32 ; pub use self :: aeron_system_counter_enum_stct as aeron_system_counter_enum_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counter_stct { pub label : * const :: std :: os :: raw :: c_char , pub id : i32 , } # [ test ] fn bindgen_test_layout_aeron_system_counter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counter_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . label as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( label ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( id ) ) ) ; } pub type aeron_system_counter_t = aeron_system_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counters_stct { pub counter_ids : * mut i32 , pub manager : * mut aeron_counters_manager_t , } # [ test ] fn bindgen_test_layout_aeron_system_counters_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counters_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counters_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . counter_ids as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( counter_ids ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . manager as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( manager ) ) ) ; } pub type aeron_system_counters_t = aeron_system_counters_stct ; extern "C" { pub fn aeron_system_counters_init ( counters : * mut aeron_system_counters_t , manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_system_counters_close ( counters : * mut aeron_system_counters_t ) ; } pub type aeron_name_resolver_resolve_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int > ; # [ doc = " Resolves a name to a host:port string." ] # [ doc = "" ] # [ doc = " @return 0 if not found, 1 if found, -1 on error." ] pub type aeron_name_resolver_lookup_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_name_resolver_stct { pub lookup_func : aeron_name_resolver_lookup_func_t , pub resolve_func : aeron_name_resolver_resolve_func_t , pub do_work_func : aeron_name_resolver_do_work_func_t , pub close_func : aeron_name_resolver_close_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_name_resolver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_name_resolver_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_name_resolver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . lookup_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( lookup_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . resolve_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( resolve_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . do_work_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( do_work_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_name_resolver_supplier_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_name_resolver_init ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_supplier ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_resolve ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_lookup ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_do_work ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_close ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_name_resolver_resolve_host_and_port ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_cnc_metadata_stct { pub cnc_version : i32 , pub to_driver_buffer_length : i32 , pub to_clients_buffer_length : i32 , pub counter_metadata_buffer_length : i32 , pub counter_values_buffer_length : i32 , pub error_log_buffer_length : i32 , pub client_liveness_timeout : i64 , pub start_timestamp : i64 , pub pid : i64 , } # [ test ] fn bindgen_test_layout_aeron_cnc_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_cnc_metadata_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_cnc_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . cnc_version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( cnc_version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_metadata_buffer_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_metadata_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_values_buffer_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . error_log_buffer_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( error_log_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . client_liveness_timeout as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( client_liveness_timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . start_timestamp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( start_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . pid as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( pid ) ) ) ; } pub type aeron_cnc_metadata_t = aeron_cnc_metadata_stct ; extern "C" { pub fn aeron_cnc_version_volatile ( metadata : * mut aeron_cnc_metadata_t ) -> i32 ; } pub type aeron_driver_conductor_proxy_t = aeron_driver_conductor_proxy_stct ; pub type aeron_driver_sender_proxy_t = aeron_driver_sender_proxy_stct ; pub type aeron_driver_receiver_proxy_t = aeron_driver_receiver_proxy_stct ; pub type aeron_driver_conductor_to_driver_interceptor_func_t = aeron_rb_handler_t ; pub type aeron_driver_conductor_to_client_interceptor_func_t = :: std :: option :: Option < unsafe extern "C" fn ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct { pub aeron_dir : * mut :: std :: os :: raw :: c_char , pub threading_mode : aeron_threading_mode_t , pub receiver_group_consideration : aeron_inferable_boolean_t , pub dirs_delete_on_start : bool , pub dirs_delete_on_shutdown : bool , pub warn_if_dirs_exist : bool , pub term_buffer_sparse_file : bool , pub perform_storage_checks : bool , pub spies_simulate_connection : bool , pub print_configuration_on_start : bool , pub reliable_stream : bool , pub tether_subscriptions : bool , pub rejoin_stream : bool , pub driver_timeout_ms : u64 , pub client_liveness_timeout_ns : u64 , pub publication_linger_timeout_ns : u64 , pub status_message_timeout_ns : u64 , pub image_liveness_timeout_ns : u64 , pub publication_unblock_timeout_ns : u64 , pub publication_connection_timeout_ns : u64 , pub timer_interval_ns : u64 , pub counter_free_to_reuse_ns : u64 , pub untethered_window_limit_timeout_ns : u64 , pub untethered_resting_timeout_ns : u64 , pub retransmit_unicast_delay_ns : u64 , pub retransmit_unicast_linger_ns : u64 , pub nak_unicast_delay_ns : u64 , pub nak_multicast_max_backoff_ns : u64 , pub re_resolution_check_interval_ns : u64 , pub to_driver_buffer_length : size_t , pub to_clients_buffer_length : size_t , pub counters_values_buffer_length : size_t , pub error_buffer_length : size_t , pub term_buffer_length : size_t , pub ipc_term_buffer_length : size_t , pub mtu_length : size_t , pub ipc_mtu_length : size_t , pub ipc_publication_window_length : size_t , pub publication_window_length : size_t , pub socket_rcvbuf : size_t , pub socket_sndbuf : size_t , pub send_to_sm_poll_ratio : size_t , pub initial_window_length : size_t , pub loss_report_length : size_t , pub file_page_size : size_t , pub nak_multicast_group_size : size_t , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub multicast_ttl : u8 , pub receiver_group_tag : aeron_driver_context_stct__bindgen_ty_1 , pub flow_control : aeron_driver_context_stct__bindgen_ty_2 , pub cnc_map : aeron_mapped_file_t , pub loss_report : aeron_mapped_file_t , pub to_driver_buffer : * mut u8 , pub to_clients_buffer : * mut u8 , pub counters_values_buffer : * mut u8 , pub counters_metadata_buffer : * mut u8 , pub error_buffer : * mut u8 , pub nano_clock : aeron_clock_func_t , pub epoch_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub sender_command_queue : aeron_spsc_concurrent_array_queue_t , pub receiver_command_queue : aeron_spsc_concurrent_array_queue_t , pub conductor_command_queue : aeron_mpsc_concurrent_array_queue_t , pub agent_on_start_func : aeron_agent_on_start_func_t , pub agent_on_start_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_func : aeron_idle_strategy_func_t , pub conductor_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub conductor_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_network_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_network_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub sender_idle_strategy_func : aeron_idle_strategy_func_t , pub sender_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub sender_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub sender_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub receiver_idle_strategy_func : aeron_idle_strategy_func_t , pub receiver_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub receiver_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub receiver_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub usable_fs_space_func : aeron_usable_fs_space_func_t , pub map_raw_log_func : aeron_map_raw_log_func_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub multicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub congestion_control_supplier_func : aeron_congestion_control_strategy_supplier_func_t , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub counters_manager : * mut aeron_counters_manager_t , pub system_counters : * mut aeron_system_counters_t , pub error_log : * mut aeron_distinct_error_log_t , pub to_driver_interceptor_func : aeron_driver_conductor_to_driver_interceptor_func_t , pub to_client_interceptor_func : aeron_driver_conductor_to_client_interceptor_func_t , pub termination_validator_func : aeron_driver_termination_validator_func_t , pub termination_validator_state : * mut :: std :: os :: raw :: c_void , pub termination_hook_func : aeron_driver_termination_hook_func_t , pub termination_hook_state : * mut :: std :: os :: raw :: c_void , pub udp_channel_transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub udp_channel_outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub udp_channel_incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub next_receiver_id : i64 , pub unicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub multicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub resolver_name : * const :: std :: os :: raw :: c_char , pub resolver_interface : * const :: std :: os :: raw :: c_char , pub resolver_bootstrap_neighbor : * const :: std :: os :: raw :: c_char , pub name_resolver_supplier_func : aeron_name_resolver_supplier_func_t , pub name_resolver_init_args : * const :: std :: os :: raw :: c_char , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_2 { pub group_min_size : i32 , pub receiver_timeout_ns : u64 , pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_min_size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_min_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . receiver_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( receiver_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_tag ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct > ( ) , 1600usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . aeron_dir as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( aeron_dir ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_consideration as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_consideration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_start as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_shutdown as * const _ as usize } , 17usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . warn_if_dirs_exist as * const _ as usize } , 18usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( warn_if_dirs_exist ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_sparse_file as * const _ as usize } , 19usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_sparse_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . perform_storage_checks as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( perform_storage_checks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 21usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . print_configuration_on_start as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( print_configuration_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . reliable_stream as * const _ as usize } , 23usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( reliable_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . tether_subscriptions as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( tether_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . rejoin_stream as * const _ as usize } , 25usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( rejoin_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . driver_timeout_ms as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( driver_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . client_liveness_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( client_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_linger_timeout_ns as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . status_message_timeout_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( status_message_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . image_liveness_timeout_ns as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( image_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_unblock_timeout_ns as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_connection_timeout_ns as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . timer_interval_ns as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( timer_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counter_free_to_reuse_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counter_free_to_reuse_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_window_limit_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_window_limit_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_resting_timeout_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_resting_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_delay_ns as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_linger_ns as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_linger_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_unicast_delay_ns as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_max_backoff_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_max_backoff_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . re_resolution_check_interval_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( re_resolution_check_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer_length as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer_length as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_term_buffer_length as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . mtu_length as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_mtu_length as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_publication_window_length as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_window_length as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_rcvbuf as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_sndbuf as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_sndbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . send_to_sm_poll_ratio as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( send_to_sm_poll_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . file_page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( file_page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_group_size as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_group_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 300usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_tag as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . flow_control as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cnc_map as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cnc_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_metadata_buffer as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_metadata_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nano_clock as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . epoch_clock as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( epoch_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cached_clock as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_command_queue as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_command_queue as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_command_queue as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_func as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_state as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_func as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_state as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_init_args as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_name as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_func as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_state as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_init_args as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_name as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_func as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_state as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_init_args as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_name as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_func as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_state as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_init_args as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_name as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_func as * const _ as usize } , 1240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_state as * const _ as usize } , 1248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_init_args as * const _ as usize } , 1256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_name as * const _ as usize } , 1264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . usable_fs_space_func as * const _ as usize } , 1272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( usable_fs_space_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_func as * const _ as usize } , 1280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_flow_control_supplier_func as * const _ as usize } , 1296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_flow_control_supplier_func as * const _ as usize } , 1304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . congestion_control_supplier_func as * const _ as usize } , 1312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( congestion_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 1320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 1328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 1336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_manager as * const _ as usize } , 1344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . system_counters as * const _ as usize } , 1352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_log as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_interceptor_func as * const _ as usize } , 1368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_client_interceptor_func as * const _ as usize } , 1376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_client_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_func as * const _ as usize } , 1384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_state as * const _ as usize } , 1392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_func as * const _ as usize } , 1400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_state as * const _ as usize } , 1408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_transport_bindings as * const _ as usize } , 1416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_outgoing_interceptor_bindings as * const _ as usize } , 1424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_outgoing_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_incoming_interceptor_bindings as * const _ as usize } , 1432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_incoming_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . next_receiver_id as * const _ as usize } , 1440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( next_receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_delay_feedback_generator as * const _ as usize } , 1448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_delay_feedback_generator as * const _ as usize } , 1504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_name as * const _ as usize } , 1560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_interface as * const _ as usize } , 1568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_bootstrap_neighbor as * const _ as usize } , 1576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_bootstrap_neighbor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_supplier_func as * const _ as usize } , 1584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_init_args as * const _ as usize } , 1592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_init_args ) ) ) ; } extern "C" { pub fn aeron_config_parse_inferable_boolean ( inferable_boolean : * const :: std :: os :: raw :: c_char , def : aeron_inferable_boolean_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_print_configuration ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_fill_cnc_metadata ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_context_validate_mtu_length ( mtu_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_cnc_length ( context : * mut aeron_driver_context_t ) -> size_t ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_descriptor_stct { pub tail_intent_counter : i64 , pub tail_counter : i64 , pub latest_counter : i64 , pub pad : [ u8 ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_broadcast_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_intent_counter as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_intent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_counter as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . latest_counter as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( latest_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . pad as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( pad ) ) ) ; } pub type aeron_broadcast_descriptor_t = aeron_broadcast_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_broadcast_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_broadcast_record_descriptor_t = aeron_broadcast_record_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_transmitter_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_broadcast_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_broadcast_transmitter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_transmitter_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_transmitter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_broadcast_transmitter_t = aeron_broadcast_transmitter_stct ; extern "C" { pub fn aeron_broadcast_transmitter_init ( transmitter : * mut aeron_broadcast_transmitter_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_broadcast_transmitter_transmit ( transmitter : * mut aeron_broadcast_transmitter_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_correlated_command_stct { pub client_id : i64 , pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_correlated_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_correlated_command_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_correlated_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . correlation_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_correlated_command_t = aeron_correlated_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_command_stct { pub correlated : aeron_correlated_command_t , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_publication_command_t = aeron_publication_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_buffers_ready_stct { pub correlation_id : i64 , pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub position_limit_counter_id : i32 , pub channel_status_indicator_id : i32 , pub log_file_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_buffers_ready_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . position_limit_counter_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( position_limit_counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . log_file_length as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( log_file_length ) ) ) ; } pub type aeron_publication_buffers_ready_t = aeron_publication_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_command_stct { pub correlated : aeron_correlated_command_t , pub registration_correlation_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_command_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . registration_correlation_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( registration_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_subscription_command_t = aeron_subscription_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_ready_stct { pub correlation_id : i64 , pub channel_status_indicator_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_ready_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; } pub type aeron_subscription_ready_t = aeron_subscription_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_buffers_ready_stct { pub correlation_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub subscriber_registration_id : i64 , pub subscriber_position_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_buffers_ready_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_position_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_position_id ) ) ) ; } pub type aeron_image_buffers_ready_t = aeron_image_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_operation_succeeded_stct { pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_operation_succeeded_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_operation_succeeded_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_operation_succeeded_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_operation_succeeded_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_operation_succeeded_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_operation_succeeded_t = aeron_operation_succeeded_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_response_stct { pub offending_command_correlation_id : i64 , pub error_code : i32 , pub error_message_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_error_response_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_response_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_response_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . offending_command_correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( offending_command_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_message_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_message_length ) ) ) ; } pub type aeron_error_response_t = aeron_error_response_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_remove_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_remove_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_remove_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_remove_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_remove_command_t = aeron_remove_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_message_stct { pub correlation_id : i64 , pub subscription_registration_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_message_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_message_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_message_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_image_message_t = aeron_image_message_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_destination_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_destination_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_destination_command_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_destination_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_destination_command_t = aeron_destination_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_command_stct { pub correlated : aeron_correlated_command_t , pub type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . type_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( type_id ) ) ) ; } pub type aeron_counter_command_t = aeron_counter_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_update_stct { pub correlation_id : i64 , pub counter_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_update_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_update_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_update_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( counter_id ) ) ) ; } pub type aeron_counter_update_t = aeron_counter_update_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_timeout_stct { pub client_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_client_timeout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_timeout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_timeout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_timeout_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_timeout_stct ) , "::" , stringify ! ( client_id ) ) ) ; } pub type aeron_client_timeout_t = aeron_client_timeout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_terminate_driver_command_stct { pub correlated : aeron_correlated_command_t , pub token_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_terminate_driver_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_terminate_driver_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_terminate_driver_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . token_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( token_length ) ) ) ; } pub type aeron_terminate_driver_command_t = aeron_terminate_driver_command_stct ; pub mod aeron_ipc_publication_state_enum { pub type Type = u32 ; pub const AERON_IPC_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_IPC_PUBLICATION_STATE_INACTIVE : Type = 1 ; pub const AERON_IPC_PUBLICATION_STATE_LINGER : Type = 2 ; } pub use self :: aeron_ipc_publication_state_enum :: Type as aeron_ipc_publication_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct { pub mapped_raw_log : aeron_mapped_raw_log_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub pub_lmt_position : aeron_position_t , pub pub_pos_position : aeron_position_t , pub conductor_fields : aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_window_length : i64 , pub trip_gain : i64 , pub unblock_timeout_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub is_exclusive : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_ipc_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub trip_limit : i64 , pub clean_position : i64 , pub consumer_position : i64 , pub last_consumer_position : i64 , pub time_of_last_consumer_position_change : i64 , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . trip_limit as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( trip_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . consumer_position as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . last_consumer_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( last_consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . time_of_last_consumer_position_change as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_consumer_position_change ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . tag as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 316usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_ipc_publication_t = aeron_ipc_publication_stct ; extern "C" { pub fn aeron_ipc_publication_create ( publication : * mut * mut aeron_ipc_publication_t , context : * mut aeron_driver_context_t , session_id : i32 , stream_id : i32 , registration_id : i64 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , initial_term_id : i32 , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_ipc_publication_t ) ; } extern "C" { pub fn aeron_ipc_publication_update_pub_lmt ( publication : * mut aeron_ipc_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_clean_buffer ( publication : * mut aeron_ipc_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_ipc_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_check_for_blocked_publisher ( publication : * mut aeron_ipc_publication_t , producer_position : i64 , now_ns : i64 ) ; } extern "C" { pub fn aeron_format_date ( str : * mut :: std :: os :: raw :: c_char , count : size_t , timestamp : i64 ) ; } extern "C" { pub fn aeron_format_to_hex ( str : * mut :: std :: os :: raw :: c_char , str_length : size_t , data : * mut u8 , data_len : size_t ) ; } extern "C" { pub fn aeron_tokenise ( input : * mut :: std :: os :: raw :: c_char , delimiter : :: std :: os :: raw :: c_char , max_tokens : :: std :: os :: raw :: c_int , tokens : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_per_thread_error_stct { pub errcode : :: std :: os :: raw :: c_int , pub errmsg : [ :: std :: os :: raw :: c_char ; 384usize ] , } # [ test ] fn bindgen_test_layout_aeron_per_thread_error_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_per_thread_error_stct > ( ) , 388usize , concat ! ( "Size of: " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_per_thread_error_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errmsg as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errmsg ) ) ) ; } pub type aeron_per_thread_error_t = aeron_per_thread_error_stct ; extern "C" { pub fn aeron_set_err ( errcode : :: std :: os :: raw :: c_int , format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_set_err_from_last_err_code ( format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_error_code_str ( errcode : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_key_stct { pub str : * const :: std :: os :: raw :: c_char , pub hash_code : u64 , pub str_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_key_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . hash_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( hash_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str_length ) ) ) ; } pub type aeron_str_to_ptr_hash_map_key_t = aeron_str_to_ptr_hash_map_key_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_stct { pub keys : * mut aeron_str_to_ptr_hash_map_key_t , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_str_to_ptr_hash_map_t = aeron_str_to_ptr_hash_map_stct ; pub type aeron_str_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , key_len : size_t , value : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_ptr_hash_map_stct { pub keys : * mut i64 , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_ptr_hash_map_t = aeron_int64_to_ptr_hash_map_stct ; pub type aeron_int64_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; pub type aeron_uri_hostname_resolver_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , host : * const :: std :: os :: raw :: c_char , hints : * mut addrinfo , info : * mut * mut addrinfo ) -> :: std :: os :: raw :: c_int > ; pub type aeron_getifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut * mut ifaddrs ) -> :: std :: os :: raw :: c_int > ; pub type aeron_freeifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ifaddrs ) > ; pub type aeron_ifaddr_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr , netmask : * mut sockaddr , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_ip_addr_resolver ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , family_hint : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_port_resolver ( port_str : * const :: std :: os :: raw :: c_char , optional : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv4 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv4_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv6 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv6_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces_from_ifaddrs ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void , ifaddrs : * mut ifaddrs ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_getifaddrs ( get_func : aeron_getifaddrs_func_t , free_func : aeron_freeifaddrs_func_t ) ; } extern "C" { pub fn aeron_interface_parse_and_resolve ( interface_str : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , prefixlen : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_ipv4_wildcard_host_and_port ( sockaddr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_ipv4_does_prefix_match ( in_addr1 : * mut in_addr , in_addr2 : * mut in_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv6_does_prefix_match ( in6_addr1 : * mut in6_addr , in6_addr2 : * mut in6_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv4_netmask_to_prefixlen ( netmask : * mut in_addr ) -> size_t ; } extern "C" { pub fn aeron_ipv6_netmask_to_prefixlen ( netmask : * mut in6_addr ) -> size_t ; } extern "C" { pub fn aeron_find_interface ( interface_str : * const :: std :: os :: raw :: c_char , if_addr : * mut sockaddr_storage , if_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_find_unicast_interface ( family : :: std :: os :: raw :: c_int , interface_str : * const :: std :: os :: raw :: c_char , interface_addr : * mut sockaddr_storage , interface_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_is_addr_multicast ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_addr ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_port ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_format_source_identity ( buffer : * mut :: std :: os :: raw :: c_char , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_retransmit_action_state_enum { pub type Type = u32 ; pub const AERON_RETRANSMIT_ACTION_STATE_DELAYED : Type = 0 ; pub const AERON_RETRANSMIT_ACTION_STATE_LINGERING : Type = 1 ; pub const AERON_RETRANSMIT_ACTION_STATE_INACTIVE : Type = 2 ; } pub use self :: aeron_retransmit_action_state_enum :: Type as aeron_retransmit_action_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_action_stct { pub expiry_ns : i64 , pub term_id : i32 , pub term_offset : i32 , pub length : size_t , pub state : aeron_retransmit_action_state_t , } # [ test ] fn bindgen_test_layout_aeron_retransmit_action_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_action_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_action_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_retransmit_action_t = aeron_retransmit_action_stct ; pub type aeron_retransmit_handler_resend_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_handler_stct { pub retransmit_action_pool : [ aeron_retransmit_action_t ; 16usize ] , pub active_retransmits_map : aeron_int64_to_ptr_hash_map_t , pub delay_timeout_ns : u64 , pub linger_timeout_ns : u64 , pub invalid_packets_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_retransmit_handler_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_handler_stct > ( ) , 584usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_handler_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . retransmit_action_pool as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( retransmit_action_pool ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . active_retransmits_map as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( active_retransmits_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . delay_timeout_ns as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( delay_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . invalid_packets_counter as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( invalid_packets_counter ) ) ) ; } pub type aeron_retransmit_handler_t = aeron_retransmit_handler_stct ; extern "C" { pub fn aeron_retransmit_handler_init ( handler : * mut aeron_retransmit_handler_t , invalid_packets_counter : * mut i64 , delay_timeout_ns : u64 , linger_timeout_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_close ( handler : * mut aeron_retransmit_handler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_on_nak ( handler : * mut aeron_retransmit_handler_t , term_id : i32 , term_offset : i32 , length : size_t , term_length : size_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_process_timeouts ( handler : * mut aeron_retransmit_handler_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_network_publication_state_enum { pub type Type = u32 ; pub const AERON_NETWORK_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_NETWORK_PUBLICATION_STATE_DRAINING : Type = 1 ; pub const AERON_NETWORK_PUBLICATION_STATE_LINGER : Type = 2 ; pub const AERON_NETWORK_PUBLICATION_STATE_CLOSING : Type = 3 ; } pub use self :: aeron_network_publication_state_enum :: Type as aeron_network_publication_state_t ; pub type aeron_send_channel_endpoint_t = aeron_send_channel_endpoint_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct { pub conductor_fields : aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct , pub conductor_fields_pad : [ u8 ; 128usize ] , pub mapped_raw_log : aeron_mapped_raw_log_t , pub pub_pos_position : aeron_position_t , pub pub_lmt_position : aeron_position_t , pub snd_pos_position : aeron_position_t , pub snd_lmt_position : aeron_position_t , pub snd_bpe_counter : aeron_atomic_counter_t , pub retransmit_handler : aeron_retransmit_handler_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_send_channel_endpoint_t , pub flow_control : * mut aeron_flow_control_strategy_t , pub cached_clock : * mut aeron_clock_cache_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_buffer_length : i64 , pub term_window_length : i64 , pub trip_gain : i64 , pub linger_timeout_ns : i64 , pub unblock_timeout_ns : i64 , pub connection_timeout_ns : i64 , pub time_of_last_send_or_heartbeat_ns : i64 , pub time_of_last_setup_ns : i64 , pub status_message_deadline_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub mtu_length : size_t , pub is_exclusive : bool , pub spies_simulate_connection : bool , pub signal_eos : bool , pub should_send_setup_frame : bool , pub has_receivers : bool , pub has_spies : bool , pub is_connected : bool , pub is_end_of_stream : bool , pub track_sender_limits : bool , pub has_sender_released : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub short_sends_counter : * mut i64 , pub heartbeats_sent_counter : * mut i64 , pub sender_flow_control_limits_counter : * mut i64 , pub retransmits_sent_counter : * mut i64 , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_network_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub clean_position : i64 , pub time_of_last_activity_ns : i64 , pub last_snd_pos : i64 , } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . last_snd_pos as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( last_snd_pos ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct > ( ) , 1232usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields_pad as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_pos_position as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_lmt_position as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_bpe_counter as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_bpe_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmit_handler as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmit_handler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . endpoint as * const _ as usize } , 1016usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . flow_control as * const _ as usize } , 1024usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . cached_clock as * const _ as usize } , 1032usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 1040usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 1048usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 1056usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 1064usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 1072usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 1080usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . connection_timeout_ns as * const _ as usize } , 1088usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_send_or_heartbeat_ns as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_send_or_heartbeat_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_setup_ns as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_setup_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . status_message_deadline_ns as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( status_message_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . tag as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 1132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 1140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mtu_length as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 1169usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . signal_eos as * const _ as usize } , 1170usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . should_send_setup_frame as * const _ as usize } , 1171usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( should_send_setup_frame ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_receivers as * const _ as usize } , 1172usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_spies as * const _ as usize } , 1173usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_spies ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_connected as * const _ as usize } , 1174usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 1175usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . track_sender_limits as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( track_sender_limits ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 1177usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . heartbeats_sent_counter as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( heartbeats_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . sender_flow_control_limits_counter as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( sender_flow_control_limits_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmits_sent_counter as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmits_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_network_publication_t = aeron_network_publication_stct ; extern "C" { pub fn aeron_network_publication_create ( publication : * mut * mut aeron_network_publication_t , endpoint : * mut aeron_send_channel_endpoint_t , context : * mut aeron_driver_context_t , registration_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , snd_pos_position : * mut aeron_position_t , snd_lmt_position : * mut aeron_position_t , snd_bpe_counter : * mut aeron_atomic_counter_t , flow_control_strategy : * mut aeron_flow_control_strategy_t , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , spies_simulate_connection : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_network_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_send ( publication : * mut aeron_network_publication_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_resend ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_send_data ( publication : * mut aeron_network_publication_t , now_ns : i64 , snd_pos : i64 , term_offset : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_on_nak ( publication : * mut aeron_network_publication_t , term_id : i32 , term_offset : i32 , length : i32 ) ; } extern "C" { pub fn aeron_network_publication_on_status_message ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_on_rttm ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_clean_buffer ( publication : * mut aeron_network_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_network_publication_update_pub_lmt ( publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_check_for_blocked_publisher ( publication : * mut aeron_network_publication_t , now_ns : i64 , producer_position : i64 , snd_pos : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_stct { pub original_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub canonical_form : [ :: std :: os :: raw :: c_char ; 384usize ] , pub uri : aeron_uri_t , pub remote_data : sockaddr_storage , pub local_data : sockaddr_storage , pub remote_control : sockaddr_storage , pub local_control : sockaddr_storage , pub tag_id : i64 , pub interface_index : :: std :: os :: raw :: c_uint , pub uri_length : size_t , pub canonical_length : size_t , pub multicast_ttl : u8 , pub has_explicit_endpoint : bool , pub has_explicit_control : bool , pub is_manual_control_mode : bool , pub is_dynamic_control_mode : bool , pub is_multicast : bool , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_stct > ( ) , 1784usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . original_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( original_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_form as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_form ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_data as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_data as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_control as * const _ as usize } , 1488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_control as * const _ as usize } , 1616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . tag_id as * const _ as usize } , 1744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( tag_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . interface_index as * const _ as usize } , 1752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( interface_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri_length as * const _ as usize } , 1760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_length as * const _ as usize } , 1768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 1776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_endpoint as * const _ as usize } , 1777usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_control as * const _ as usize } , 1778usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 1779usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_dynamic_control_mode as * const _ as usize } , 1780usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_dynamic_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_multicast as * const _ as usize } , 1781usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_multicast ) ) ) ; } extern "C" { pub fn aeron_udp_channel_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , resolver : * mut aeron_name_resolver_t , channel : * mut * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_delete ( channel : * const aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_stct { pub fd : aeron_socket_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub dispatch_clientd : * mut :: std :: os :: raw :: c_void , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , pub destination_clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . fd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . data_paths as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . dispatch_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( dispatch_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . destination_clientd as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( destination_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_init ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_close ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_recvmmsg ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_get_so_rcvbuf ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_bind_addr_and_port ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_entry_stct { pub time_of_last_activity_ns : i64 , pub destination_timeout_ns : i64 , pub receiver_id : i64 , pub is_receiver_id_valid : bool , pub uri : * mut aeron_uri_t , pub addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . receiver_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . is_receiver_id_valid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( is_receiver_id_valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . uri as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( addr ) ) ) ; } pub type aeron_udp_destination_entry_t = aeron_udp_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct { pub destinations : aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct , pub is_manual_control_mode : bool , pub cached_clock : * mut aeron_clock_cache_t , pub destination_timeout_ns : i64 , pub data_paths : * mut aeron_udp_channel_data_paths_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct { pub array : * mut aeron_udp_destination_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destinations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . cached_clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( data_paths ) ) ) ; } pub type aeron_udp_destination_tracker_t = aeron_udp_destination_tracker_stct ; extern "C" { pub fn aeron_udp_destination_tracker_init ( tracker : * mut aeron_udp_destination_tracker_t , data_paths : * mut aeron_udp_channel_data_paths_t , cached_clock : * mut aeron_clock_cache_t , is_manual_control_model : bool , timeout_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_close ( tracker : * mut aeron_udp_destination_tracker_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_on_status_message ( tracker : * mut aeron_udp_destination_tracker_t , buffer : * const u8 , len : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_manual_add_destination ( tracker : * mut aeron_udp_destination_tracker_t , now_ns : i64 , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_remove_destination ( tracker : * mut aeron_udp_destination_tracker_t , addr : * mut sockaddr_storage , removed_uri : * mut * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_check_for_re_resolution ( tracker : * mut aeron_udp_destination_tracker_t , endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_udp_destination_tracker_resolution_change ( tracker : * mut aeron_udp_destination_tracker_t , endpoint_name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr_storage ) ; } pub type aeron_driver_sender_t = aeron_driver_sender_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_proxy_stct { pub sender : * mut aeron_driver_sender_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . sender as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_resolution_change ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut aeron_send_channel_endpoint_t , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_destination_stct { pub base : aeron_command_base_t , pub control_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub uri : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_destination_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . control_address as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . uri as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( uri ) ) ) ; } pub type aeron_command_destination_t = aeron_command_destination_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_sender_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_sender_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_sender_resolution_change_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_sender_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_sender_resolution_change_t = aeron_command_sender_resolution_change_stct ; extern "C" { pub fn aeron_driver_sender_proxy_on_add_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_delete_cmd ( sender_proxy : * mut aeron_driver_sender_proxy_t , cmd : * mut aeron_command_base_t ) ; } pub mod aeron_send_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; } pub use self :: aeron_send_channel_endpoint_status_enum :: Type as aeron_send_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct { pub conductor_fields : aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct , pub has_sender_released : bool , pub transport : aeron_udp_channel_transport_t , pub channel_status : aeron_atomic_counter_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub destination_tracker : * mut aeron_udp_destination_tracker_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub publication_dispatch_map : aeron_int64_to_ptr_hash_map_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub current_data_addr : sockaddr_storage , pub cached_clock : * mut aeron_clock_cache_t , pub time_of_last_sm_ns : i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub refcnt : i32 , pub has_reached_end_of_life : bool , pub udp_channel : * const aeron_udp_channel_t , pub status : aeron_send_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . destination_tracker as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( destination_tracker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . publication_dispatch_map as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( publication_dispatch_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . data_paths as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . current_data_addr as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( current_data_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . time_of_last_sm_ns as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( time_of_last_sm_ns ) ) ) ; } extern "C" { pub fn aeron_send_channel_endpoint_create ( endpoint : * mut * mut aeron_send_channel_endpoint_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_send_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_endpoint_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_sendmmsg ( endpoint : * mut aeron_send_channel_endpoint_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_sendmsg ( endpoint : * mut aeron_send_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_add_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_remove_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , sender_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_nak ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_status_message ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_rttm ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_resolution_change ( endpoint : * mut aeron_send_channel_endpoint_t , endpoint_name : * const :: std :: os :: raw :: c_char , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_counter_map_stct { pub entries : * mut i64 , pub load_factor : f32 , pub entries_length : size_t , pub size : size_t , pub resize_threshold : size_t , pub initial_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_int64_counter_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_counter_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_counter_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . initial_value as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( initial_value ) ) ) ; } pub type aeron_int64_counter_map_t = aeron_int64_counter_map_stct ; pub type aeron_int64_counter_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : i64 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_entry_stct { pub value : * mut :: std :: os :: raw :: c_void , pub internal_flags : u32 , pub tag : u32 , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . internal_flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( internal_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . tag as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( tag ) ) ) ; } pub type aeron_int64_to_tagged_ptr_entry_t = aeron_int64_to_tagged_ptr_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_hash_map_stct { pub keys : * mut i64 , pub entries : * mut aeron_int64_to_tagged_ptr_entry_t , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . entries as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_tagged_ptr_hash_map_t = aeron_int64_to_tagged_ptr_hash_map_stct ; pub type aeron_int64_to_tagged_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_tagged_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_proxy_stct { pub conductor : * mut aeron_driver_conductor_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_mpsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . conductor as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , cmd : * mut aeron_command_base_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_create_publication_image_stct { pub base : aeron_command_base_t , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub control_address : sockaddr_storage , pub src_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_create_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_create_publication_image_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_create_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_offset as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . control_address as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . src_address as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( src_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . destination as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_create_publication_image_t = aeron_command_create_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_re_resolve_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub existing_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_re_resolve_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_re_resolve_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_re_resolve_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . existing_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( existing_addr ) ) ) ; } pub type aeron_command_re_resolve_t = aeron_command_re_resolve_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_delete_destination_stct { pub base : aeron_command_base_t , pub destination : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_delete_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_delete_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_delete_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . destination as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_delete_destination_t = aeron_command_delete_destination_stct ; extern "C" { pub fn aeron_driver_conductor_proxy_on_create_publication_image_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , term_offset : i32 , term_length : i32 , mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_linger_buffer ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , buffer : * mut u8 ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_endpoint ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_control ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_receive_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , destination : * mut :: std :: os :: raw :: c_void , channel : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_conductor_proxy_on_delete_send_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , removed_uri : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_receive_endpoint_removed ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct { pub conductor_fields : aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct , pub transport : aeron_udp_channel_transport_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub current_control_addr : sockaddr_storage , pub so_rcvbuf : size_t , pub time_of_last_activity_ns : i64 , pub has_control_addr : bool , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct { pub udp_channel : * mut aeron_udp_channel_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . transport as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . current_control_addr as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( current_control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . so_rcvbuf as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( so_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . has_control_addr as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( has_control_addr ) ) ) ; } pub type aeron_receive_destination_t = aeron_receive_destination_stct ; extern "C" { pub fn aeron_receive_destination_create ( destination : * mut * mut aeron_receive_destination_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t , channel_status_counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_destination_delete ( destination : * mut aeron_receive_destination_t , counters_manager : * mut aeron_counters_manager_t ) ; } pub type aeron_publication_image_t = aeron_publication_image_stct ; pub type aeron_receive_channel_endpoint_t = aeron_receive_channel_endpoint_stct ; pub type aeron_driver_receiver_t = aeron_driver_receiver_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct { pub ignored_sessions_map : aeron_int64_to_ptr_hash_map_t , pub session_by_stream_id_map : aeron_int64_to_ptr_hash_map_t , pub tokens : aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub receiver : * mut aeron_driver_receiver_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct { pub subscribed : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) ) ) . subscribed as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) , "::" , stringify ! ( subscribed ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . ignored_sessions_map as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( ignored_sessions_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . session_by_stream_id_map as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( session_by_stream_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . tokens as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( tokens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . receiver as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( receiver ) ) ) ; } pub type aeron_data_packet_dispatcher_t = aeron_data_packet_dispatcher_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_init ( dispatcher : * mut aeron_data_packet_dispatcher_t , conductor_proxy : * mut aeron_driver_conductor_proxy_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_close ( dispatcher : * mut aeron_data_packet_dispatcher_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stream_interest_stct { pub is_all_sessions : bool , pub image_by_session_id_map : aeron_int64_to_tagged_ptr_hash_map_t , pub subscribed_sessions : aeron_int64_to_ptr_hash_map_t , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stream_interest_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . is_all_sessions as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( is_all_sessions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . image_by_session_id_map as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( image_by_session_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . subscribed_sessions as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( subscribed_sessions ) ) ) ; } pub type aeron_data_packet_dispatcher_stream_interest_t = aeron_data_packet_dispatcher_stream_interest_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_data ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_data_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_setup ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_setup_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_rttm ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_rttm_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_elicit_setup_from_source ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_interest : * mut aeron_data_packet_dispatcher_stream_interest_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_receive_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSED : Type = 2 ; } pub use self :: aeron_receive_channel_endpoint_status_enum :: Type as aeron_receive_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_entry_stct { pub destination : * mut aeron_receive_destination_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_entry_stct > ( ) ) ) . destination as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_receive_destination_entry_t = aeron_receive_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct { pub conductor_fields : aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct , pub destinations : aeron_receive_channel_endpoint_stct_destination_stct , pub dispatcher : aeron_data_packet_dispatcher_t , pub stream_id_to_refcnt_map : aeron_int64_counter_map_t , pub stream_and_session_id_to_refcnt_map : aeron_int64_counter_map_t , pub channel_status : aeron_atomic_counter_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub cached_clock : * mut aeron_clock_cache_t , pub receiver_id : i64 , pub has_receiver_released : bool , pub group_tag : aeron_receive_channel_endpoint_stct__bindgen_ty_1 , pub short_sends_counter : * mut i64 , pub possible_ttl_asymmetry_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub udp_channel : * mut aeron_udp_channel_t , pub status : aeron_receive_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_destination_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_destination_entry_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . destinations as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . dispatcher as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( dispatcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_id_to_refcnt_map as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_and_session_id_to_refcnt_map as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_and_session_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_id as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . has_receiver_released as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_receiver_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . group_tag as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . possible_ttl_asymmetry_counter as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( possible_ttl_asymmetry_counter ) ) ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_create ( endpoint : * mut * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , straight_through_destination : * mut aeron_receive_destination_t , status_indicator : * mut aeron_atomic_counter_t , system_counters : * mut aeron_system_counters_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_close ( endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_sendmsg ( endpoint : * mut aeron_receive_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_sm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , receiver_window : i32 , flags : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_nak ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , length : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , echo_timestamp : i64 , reception_delta : i64 , is_reply : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_data ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , destination_out : * mut * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receiver_channel_endpoint_validate_sender_mtu_length ( endpoint : * mut aeron_receive_channel_endpoint_t , sender_mtu_length : size_t , window_max_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_receive_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_update_control_address ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , address : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_term_gap_scanner_on_gap_detected_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_gap_stct { pub term_id : i32 , pub term_offset : i32 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_gap_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_gap_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_gap_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_loss_detector_gap_t = aeron_loss_detector_gap_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_stct { pub on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , pub feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , pub on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void , pub scanned_gap : aeron_loss_detector_gap_t , pub active_gap : aeron_loss_detector_gap_t , pub expiry_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . feedback_delay_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( feedback_delay_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . scanned_gap as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( scanned_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . active_gap as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( active_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; } pub type aeron_loss_detector_t = aeron_loss_detector_stct ; extern "C" { pub fn aeron_loss_detector_init ( detector : * mut aeron_loss_detector_t , feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_scan ( detector : * mut aeron_loss_detector_t , loss_found : * mut bool , buffer : * const u8 , rebuild_position : i64 , hwm_position : i64 , now_ns : i64 , term_length_mask : size_t , position_bits_to_shift : size_t , initial_term_id : i32 ) -> i32 ; } extern "C" { pub fn aeron_feedback_delay_state_init ( state : * mut aeron_feedback_delay_generator_state_t , delay_generator : aeron_feedback_delay_generator_func_t , delay_ns : i64 , multicast_group_size : size_t , should_immediate_feedback : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_nak_multicast_delay_generator ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_entry_stct { pub observation_count : i64 , pub total_bytes_lost : i64 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_entry_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . total_bytes_lost as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( total_bytes_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_loss_reporter_entry_t = aeron_loss_reporter_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_stct { pub buffer : * mut u8 , pub next_record_offset : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . next_record_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( next_record_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( capacity ) ) ) ; } pub type aeron_loss_reporter_t = aeron_loss_reporter_stct ; pub type aeron_loss_reporter_entry_offset_t = i64 ; extern "C" { pub fn aeron_loss_reporter_init ( reporter : * mut aeron_loss_reporter_t , buffer : * mut u8 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_reporter_create_entry ( reporter : * mut aeron_loss_reporter_t , initial_bytes_lost : i64 , timestamp_ms : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t , source : * const :: std :: os :: raw :: c_char , source_length : size_t ) -> aeron_loss_reporter_entry_offset_t ; } pub type aeron_loss_reporter_read_entry_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , observation_count : i64 , total_bytes_lost : i64 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : i32 , source : * const :: std :: os :: raw :: c_char , source_length : i32 ) > ; extern "C" { pub fn aeron_loss_reporter_read ( buffer : * const u8 , capacity : size_t , entry_func : aeron_loss_reporter_read_entry_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> size_t ; } pub mod aeron_publication_image_state_enum { pub type Type = u32 ; pub const AERON_PUBLICATION_IMAGE_STATE_INACTIVE : Type = 0 ; pub const AERON_PUBLICATION_IMAGE_STATE_ACTIVE : Type = 1 ; pub const AERON_PUBLICATION_IMAGE_STATE_LINGER : Type = 2 ; pub const AERON_PUBLICATION_IMAGE_STATE_DONE : Type = 3 ; } pub use self :: aeron_publication_image_state_enum :: Type as aeron_publication_image_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_connection_stct { pub resolved_control_address_for_implicit_unicast_channels : sockaddr_storage , pub destination : * mut aeron_receive_destination_t , pub control_addr : * mut sockaddr_storage , pub time_of_last_activity_ns : i64 , pub time_of_last_frame_ns : i64 , pub is_eos : bool , } # [ test ] fn bindgen_test_layout_aeron_publication_image_connection_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_connection_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_connection_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . resolved_control_address_for_implicit_unicast_channels as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( resolved_control_address_for_implicit_unicast_channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . destination as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . control_addr as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_frame_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_frame_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . is_eos as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( is_eos ) ) ) ; } pub type aeron_publication_image_connection_t = aeron_publication_image_connection_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct { pub padding_before : [ u8 ; 64usize ] , pub conductor_fields : aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct , pub padding_after : [ u8 ; 64usize ] , pub connections : aeron_publication_image_stct_image_connection_entries , pub source_address : sockaddr_storage , pub loss_detector : aeron_loss_detector_t , pub mapped_raw_log : aeron_mapped_raw_log_t , pub rcv_hwm_position : aeron_position_t , pub rcv_pos_position : aeron_position_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub congestion_control : * mut aeron_congestion_control_strategy_t , pub nano_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub loss_reporter : * mut aeron_loss_reporter_t , pub loss_reporter_offset : aeron_loss_reporter_entry_offset_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub initial_term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub begin_loss_change : i64 , pub end_loss_change : i64 , pub loss_term_id : i32 , pub loss_term_offset : i32 , pub loss_length : size_t , pub begin_sm_change : i64 , pub end_sm_change : i64 , pub next_sm_position : i64 , pub next_sm_receiver_window_length : i32 , pub last_status_message_timestamp : i64 , pub last_packet_timestamp_ns : i64 , pub last_sm_change_number : i64 , pub last_sm_position : i64 , pub last_sm_position_window_limit : i64 , pub last_loss_change_number : i64 , pub is_end_of_stream : bool , pub heartbeats_received_counter : * mut i64 , pub flow_control_under_runs_counter : * mut i64 , pub flow_control_over_runs_counter : * mut i64 , pub status_messages_sent_counter : * mut i64 , pub nak_messages_sent_counter : * mut i64 , pub loss_gap_fills_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct { pub is_reliable : bool , pub state : aeron_publication_image_state_t , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub time_of_last_state_change_ns : i64 , pub liveness_timeout_ns : i64 , pub clean_position : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . time_of_last_state_change_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_state_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . liveness_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_image_connection_entries { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_connection_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_image_connection_entries ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct > ( ) , 872usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_before as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_before ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_after as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_after ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . connections as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( connections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . source_address as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( source_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_detector as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_detector ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_hwm_position as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_hwm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_pos_position as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . congestion_control as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( congestion_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nano_clock as * const _ as usize } , 608usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . cached_clock as * const _ as usize } , 616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter_offset as * const _ as usize } , 632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 652usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 656usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 660usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_offset as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 668usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 676usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 680usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 688usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 696usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_loss_change as * const _ as usize } , 704usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_loss_change as * const _ as usize } , 712usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_id as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_offset as * const _ as usize } , 724usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_length as * const _ as usize } , 728usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_sm_change as * const _ as usize } , 736usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_sm_change as * const _ as usize } , 744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_position as * const _ as usize } , 752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_receiver_window_length as * const _ as usize } , 760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_receiver_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_status_message_timestamp as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_status_message_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_packet_timestamp_ns as * const _ as usize } , 776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_packet_timestamp_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_change_number as * const _ as usize } , 784usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position as * const _ as usize } , 792usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position_window_limit as * const _ as usize } , 800usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position_window_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_loss_change_number as * const _ as usize } , 808usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_loss_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . heartbeats_received_counter as * const _ as usize } , 824usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( heartbeats_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_under_runs_counter as * const _ as usize } , 832usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_under_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_over_runs_counter as * const _ as usize } , 840usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_over_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . status_messages_sent_counter as * const _ as usize } , 848usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( status_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nak_messages_sent_counter as * const _ as usize } , 856usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nak_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_gap_fills_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_gap_fills_counter ) ) ) ; } extern "C" { pub fn aeron_publication_image_create ( image : * mut * mut aeron_publication_image_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , context : * mut aeron_driver_context_t , correlation_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , initial_term_offset : i32 , rcv_hwm_position : * mut aeron_position_t , rcv_pos_position : * mut aeron_position_t , congestion_control : * mut aeron_congestion_control_strategy_t , control_address : * mut sockaddr_storage , source_address : * mut sockaddr_storage , term_buffer_length : i32 , sender_mtu_length : i32 , loss_reporter : * mut aeron_loss_reporter_t , is_reliable : bool , is_sparse : bool , treat_as_multicast : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_close ( counters_manager : * mut aeron_counters_manager_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_clean_buffer_to ( image : * mut aeron_publication_image_t , position : i64 ) ; } extern "C" { pub fn aeron_publication_image_on_gap_detected ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) ; } extern "C" { pub fn aeron_publication_image_track_rebuild ( image : * mut aeron_publication_image_t , now_ns : i64 , status_message_timeout : i64 ) ; } extern "C" { pub fn aeron_publication_image_insert_packet ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , term_id : i32 , term_offset : i32 , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_on_rttm ( image : * mut aeron_publication_image_t , header : * mut aeron_rttm_header_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_status_message ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_loss ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_initiate_rttm ( image : * mut aeron_publication_image_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_destination ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_remove_destination ( image : * mut aeron_publication_image_t , channel : * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_connection_if_unknown ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , src_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_publication_image_on_time_event ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t , now_ns : i64 , now_ms : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_link_stct { pub resource : * mut aeron_driver_managed_resource_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_publication_link_t = aeron_publication_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_link_stct { pub counter_id : i32 , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_counter_link_t = aeron_counter_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct { pub reached_end_of_life : bool , pub closed_by_command : bool , pub client_id : i64 , pub client_liveness_timeout_ms : i64 , pub heartbeat_timestamp : aeron_atomic_counter_t , pub publication_links : aeron_client_stct_publication_link_stct , pub counter_links : aeron_client_stct_counter_link_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_publication_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_publication_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_counter_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_counter_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_counter_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . closed_by_command as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( closed_by_command ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_liveness_timeout_ms as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_liveness_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . heartbeat_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( heartbeat_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . publication_links as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( publication_links ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . counter_links as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( counter_links ) ) ) ; } pub type aeron_client_t = aeron_client_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_list_entry_stct { pub counter_id : i32 , pub subscribable : * mut aeron_subscribable_t , } # [ test ] fn bindgen_test_layout_aeron_subscribable_list_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_list_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_list_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . subscribable as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( subscribable ) ) ) ; } pub type aeron_subscribable_list_entry_t = aeron_subscribable_list_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct { pub channel : [ :: std :: os :: raw :: c_char ; 384usize ] , pub is_tether : bool , pub is_sparse : bool , pub is_reliable : bool , pub is_rejoin : bool , pub has_session_id : bool , pub group : aeron_inferable_boolean_t , pub stream_id : i32 , pub session_id : i32 , pub channel_length : i32 , pub registration_id : i64 , pub client_id : i64 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub spy_channel : * mut aeron_udp_channel_t , pub subscribable_list : aeron_subscription_link_stct_subscribable_list_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct_subscribable_list_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscribable_list_entry_t , } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct_subscribable_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_tether as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_sparse as * const _ as usize } , 385usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_reliable as * const _ as usize } , 386usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 387usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . has_session_id as * const _ as usize } , 388usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . group as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . stream_id as * const _ as usize } , 396usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . session_id as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel_length as * const _ as usize } , 404usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . client_id as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . endpoint as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . spy_channel as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( spy_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . subscribable_list as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( subscribable_list ) ) ) ; } pub type aeron_subscription_link_t = aeron_subscription_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_entry_stct { pub publication : * mut aeron_ipc_publication_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_ipc_publication_entry_t = aeron_ipc_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_network_publication_entry_t = aeron_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_entry_stct { pub endpoint : * mut aeron_send_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_send_channel_endpoint_entry_t = aeron_send_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_entry_stct { pub endpoint : * mut aeron_receive_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_receive_channel_endpoint_entry_t = aeron_receive_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_publication_image_entry_t = aeron_publication_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_linger_resource_entry_stct { pub has_reached_end_of_life : bool , pub buffer : * mut u8 , pub timeout_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_linger_resource_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_linger_resource_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_linger_resource_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . buffer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; } pub type aeron_linger_resource_entry_t = aeron_linger_resource_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct { pub context : * mut aeron_driver_context_t , pub to_driver_commands : aeron_mpsc_rb_t , pub to_clients : aeron_broadcast_transmitter_t , pub error_log : aeron_distinct_error_log_t , pub counters_manager : aeron_counters_manager_t , pub system_counters : aeron_system_counters_t , pub conductor_proxy : aeron_driver_conductor_proxy_t , pub loss_reporter : aeron_loss_reporter_t , pub name_resolver : aeron_name_resolver_t , pub send_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub receive_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub clients : aeron_driver_conductor_stct_client_stct , pub ipc_subscriptions : aeron_driver_conductor_stct_ipc_subscriptions_stct , pub ipc_publications : aeron_driver_conductor_stct_ipc_publication_stct , pub network_subscriptions : aeron_driver_conductor_stct_network_subscriptions_stct , pub spy_subscriptions : aeron_driver_conductor_stct_spy_subscriptions_stct , pub network_publications : aeron_driver_conductor_stct_network_publication_stct , pub send_channel_endpoints : aeron_driver_conductor_stct_send_channel_endpoint_stct , pub receive_channel_endpoints : aeron_driver_conductor_stct_receive_channel_endpoint_stct , pub publication_images : aeron_driver_conductor_stct_publication_image_stct , pub lingering_resources : aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct , pub errors_counter : * mut i64 , pub unblocked_commands_counter : * mut i64 , pub client_timeouts_counter : * mut i64 , pub clock_update_deadline_ns : i64 , pub next_session_id : i32 , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub time_of_last_timeout_check_ns : i64 , pub time_of_last_to_driver_position_change_ns : i64 , pub last_consumer_command_position : i64 , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_client_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_client_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_ipc_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_spy_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_spy_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_network_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_send_channel_endpoint_stct { pub array : * mut aeron_send_channel_endpoint_entry_t , pub length : size_t , pub capacity : size_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_receive_channel_endpoint_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_channel_endpoint_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_publication_image_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_linger_resource_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct > ( ) , 1000usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_driver_commands as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_driver_commands ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_clients as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . error_log as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . counters_manager as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . system_counters as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . name_resolver as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( name_resolver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoint_by_channel_map as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoint_by_channel_map as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clients as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_subscriptions as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_publications as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_subscriptions as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . spy_subscriptions as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( spy_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_publications as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoints as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoints as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_images as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . lingering_resources as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( lingering_resources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . errors_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . unblocked_commands_counter as * const _ as usize } , 872usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( unblocked_commands_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . client_timeouts_counter as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( client_timeouts_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clock_update_deadline_ns as * const _ as usize } , 888usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clock_update_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . next_session_id as * const _ as usize } , 896usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( next_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 900usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 904usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_timeout_check_ns as * const _ as usize } , 912usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_timeout_check_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_to_driver_position_change_ns as * const _ as usize } , 920usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_to_driver_position_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . last_consumer_command_position as * const _ as usize } , 928usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( last_consumer_command_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . padding as * const _ as usize } , 936usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_client_on_time_event ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_client_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t ) -> bool ; } extern "C" { pub fn aeron_client_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_client_t ) ; } extern "C" { pub fn aeron_ipc_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_ipc_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_ipc_publication_entry_t ) ; } extern "C" { pub fn aeron_network_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_network_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_network_publication_entry_t ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_send_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_receive_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_publication_image_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_publication_image_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t ) -> bool ; } extern "C" { pub fn aeron_publication_image_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_publication_image_entry_t ) ; } extern "C" { pub fn aeron_linger_resource_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_linger_resource_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t ) -> bool ; } extern "C" { pub fn aeron_linger_resource_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_linger_resource_entry_t ) ; } extern "C" { pub fn aeron_driver_conductor_image_transition_to_linger ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_conductor_init ( conductor : * mut aeron_driver_conductor_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_client_transmit ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_available_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , stream_id : i32 , session_id : i32 , log_file_name : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , subscriber_position_id : i32 , subscriber_registration_id : i64 , source_identity : * const :: std :: os :: raw :: c_char , source_identity_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , subscription_registration_id : i64 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_counter_ready ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_counter ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_client_timeout ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_spies ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_network_publication ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_command ( msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_link_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t , original_registration_id : i64 , session_id : i32 , stream_id : i32 , join_position : i64 , now_ns : i64 , source_identity_length : size_t , source_identity : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , log_file_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_unlink_subscribable ( link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t ) ; } extern "C" { pub fn aeron_driver_conductor_unlink_all_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_spy_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_keepalive ( conductor : * mut aeron_driver_conductor_t , client_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_delete_receive_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_delete_send_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_counter_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_close ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_correlated_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_terminate_driver ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_terminate_driver_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_create_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_linger_buffer ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_control ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_receive_endpoint_removed ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_find_send_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_send_channel_endpoint_t ; } extern "C" { pub fn aeron_driver_conductor_find_receive_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_receive_channel_endpoint_t ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_entry_stct { pub transport : * mut aeron_udp_channel_transport_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_entry_stct > ( ) ) ) . transport as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) , "::" , stringify ! ( transport ) ) ) ; } pub type aeron_udp_channel_transport_entry_t = aeron_udp_channel_transport_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct { pub transports : aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct { pub array : * mut aeron_udp_channel_transport_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . transports as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( transports ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_transport_poller_init ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_close ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_add ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_remove ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_poll ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_send_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_receive_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_driver_sender_network_publication_entry_t = aeron_driver_sender_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct { pub sender_proxy : aeron_driver_sender_proxy_t , pub poller : aeron_udp_transport_poller_t , pub network_publications : aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct , pub recv_buffers : aeron_driver_sender_stct_aeron_driver_sender_buffers_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub total_bytes_sent_counter : * mut i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub status_messages_received_counter : * mut i64 , pub nak_messages_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub status_message_read_timeout_ns : i64 , pub control_poll_timeout_ns : i64 , pub re_resolution_deadline_ns : i64 , pub round_robin_index : size_t , pub duty_cycle_counter : size_t , pub duty_cycle_ratio : size_t , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct { pub array : * mut aeron_driver_sender_network_publication_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct > ( ) , 624usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . network_publications as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . data_paths as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . total_bytes_sent_counter as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( total_bytes_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . errors_counter as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_messages_received_counter as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . nak_messages_received_counter as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( nak_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . context as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . error_log as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_message_read_timeout_ns as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_message_read_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . control_poll_timeout_ns as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( control_poll_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . round_robin_index as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( round_robin_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_counter as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_ratio as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . padding as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_driver_sender_init ( sender : * mut aeron_driver_sender_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_do_send ( sender : * mut aeron_driver_sender_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_proxy_stct { pub receiver : * mut aeron_driver_receiver_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . receiver as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_delete_cmd ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , cmd : * mut aeron_command_base_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_subscription_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub stream_id : i32 , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_subscription_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_subscription_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_subscription_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . session_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_command_subscription_t = aeron_command_subscription_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_add_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_add_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_add_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_add_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_add_rcv_destination_t = aeron_command_add_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_remove_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_remove_rcv_destination_t = aeron_command_remove_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_publication_image_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub image : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_publication_image_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . image as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_command_publication_image_t = aeron_command_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_cool_down_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_remove_cool_down_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_cool_down_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_cool_down_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . session_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . stream_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_command_remove_cool_down_t = aeron_command_remove_cool_down_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_cool_down ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , session_id : i32 , stream_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_receiver_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_receiver_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_receiver_resolution_change_t = aeron_command_receiver_resolution_change_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_resolution_change ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_driver_receiver_image_entry_t = aeron_driver_receiver_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_pending_setup_entry_stct { pub is_periodic : bool , pub session_id : i32 , pub stream_id : i32 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub destination : * mut aeron_receive_destination_t , pub time_of_status_message_ns : i64 , pub control_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_pending_setup_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . is_periodic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( is_periodic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . time_of_status_message_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( time_of_status_message_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . control_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( control_addr ) ) ) ; } pub type aeron_driver_receiver_pending_setup_entry_t = aeron_driver_receiver_pending_setup_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct { pub receiver_proxy : aeron_driver_receiver_proxy_t , pub poller : aeron_udp_transport_poller_t , pub recv_buffers : aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct , pub images : aeron_driver_receiver_stct_aeron_driver_receiver_images_stct , pub pending_setups : aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub re_resolution_deadline_ns : i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub total_bytes_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_images_stct { pub array : * mut aeron_driver_receiver_image_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct { pub array : * mut aeron_driver_receiver_pending_setup_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct > ( ) , 528usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . images as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . pending_setups as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( pending_setups ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . data_paths as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . context as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . error_log as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . errors_counter as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . total_bytes_received_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( total_bytes_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_init ( receiver : * mut aeron_driver_receiver_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_cool_down ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_add_pending_setup ( receiver : * mut aeron_driver_receiver_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , session_id : i32 , stream_id : i32 , control_addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_stct { pub context : * mut aeron_driver_context_t , pub conductor : aeron_driver_conductor_t , pub sender : aeron_driver_sender_t , pub receiver : aeron_driver_receiver_t , pub runners : [ aeron_agent_runner_t ; 3usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_stct > ( ) , 2400usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . conductor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . sender as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . receiver as * const _ as usize } , 1632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . runners as * const _ as usize } , 2160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( runners ) ) ) ; } extern "C" { pub fn aeron_is_driver_active_with_cnc ( cnc_map : * mut aeron_mapped_file_t , timeout_ms : i64 , now_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stderr] [INFO] [stderr] error: reference to packed field is unaligned [INFO] [stderr] --> /opt/rustwide/target/debug/build/libaeron_driver-sys-a8b4d3a9f05df5ef/out/bindings.rs:3:217799 [INFO] [stderr] | [INFO] [stderr] 3 | pub const AERON_NULL_VALUE : i32 = -1 ; pub const AERON_DIR_ENV_VAR : & 'static [ u8 ; 10usize ] = b"AERON_DIR\0" ; pub const AERON_DRIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_DRIVER_TIMEOUT\0" ; pub const AERON_CLIENT_RESOURCE_LINGER_DURATION_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_CLIENT_RESOURCE_LINGER_DURATION\0" ; pub const AERON_AGENT_ON_START_FUNCTION_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_AGENT_ON_START_FUNCTION\0" ; pub const AERON_PUBLICATION_NOT_CONNECTED : i32 = -1 ; pub const AERON_PUBLICATION_BACK_PRESSURED : i32 = -2 ; pub const AERON_PUBLICATION_ADMIN_ACTION : i32 = -3 ; pub const AERON_PUBLICATION_CLOSED : i32 = -4 ; pub const AERON_PUBLICATION_MAX_POSITION_EXCEEDED : i32 = -5 ; pub const AERON_PUBLICATION_ERROR : i32 = -6 ; pub const AERON_COMPILER_GCC : u32 = 1 ; pub const AERON_COMPILER_LLVM : u32 = 1 ; pub const AERON_CPU_X64 : u32 = 1 ; pub const AERON_CACHE_LINE_LENGTH : u32 = 64 ; pub const AERON_INIT_ONCE_VALUE : u32 = 0 ; pub const AERON_MAX_PATH : u32 = 384 ; pub const AERON_CHANNEL_STATUS_INDICATOR_NOT_ALLOCATED : i32 = -1 ; pub const AERON_URI_INVALID_TAG : i32 = -1 ; pub const AERON_DIR_WARN_IF_EXISTS_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_DIR_WARN_IF_EXISTS\0" ; pub const AERON_THREADING_MODE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_THREADING_MODE\0" ; pub const AERON_DIR_DELETE_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_DIR_DELETE_ON_START\0" ; pub const AERON_DIR_DELETE_ON_SHUTDOWN_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_DIR_DELETE_ON_SHUTDOWN\0" ; pub const AERON_TO_CONDUCTOR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_BUFFER_LENGTH\0" ; pub const AERON_TO_CLIENTS_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 28usize ] = b"AERON_CLIENTS_BUFFER_LENGTH\0" ; pub const AERON_COUNTERS_VALUES_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_COUNTERS_BUFFER_LENGTH\0" ; pub const AERON_ERROR_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_ERROR_BUFFER_LENGTH\0" ; pub const AERON_CLIENT_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CLIENT_LIVENESS_TIMEOUT\0" ; pub const AERON_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_TERM_BUFFER_LENGTH\0" ; pub const AERON_IPC_TERM_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IPC_TERM_BUFFER_LENGTH\0" ; pub const AERON_TERM_BUFFER_SPARSE_FILE_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_TERM_BUFFER_SPARSE_FILE\0" ; pub const AERON_PERFORM_STORAGE_CHECKS_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_PERFORM_STORAGE_CHECKS\0" ; pub const AERON_SPIES_SIMULATE_CONNECTION_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SPIES_SIMULATE_CONNECTION\0" ; pub const AERON_FILE_PAGE_SIZE_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_FILE_PAGE_SIZE\0" ; pub const AERON_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 17usize ] = b"AERON_MTU_LENGTH\0" ; pub const AERON_IPC_MTU_LENGTH_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_IPC_MTU_LENGTH\0" ; pub const AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_IPC_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_TERM_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_TERM_WINDOW_LENGTH\0" ; pub const AERON_PUBLICATION_LINGER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_PUBLICATION_LINGER_TIMEOUT\0" ; pub const AERON_SOCKET_SO_RCVBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_RCVBUF\0" ; pub const AERON_SOCKET_SO_SNDBUF_ENV_VAR : & 'static [ u8 ; 23usize ] = b"AERON_SOCKET_SO_SNDBUF\0" ; pub const AERON_SOCKET_MULTICAST_TTL_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SOCKET_MULTICAST_TTL\0" ; pub const AERON_SEND_TO_STATUS_POLL_RATIO_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_SEND_TO_STATUS_POLL_RATIO\0" ; pub const AERON_RCV_STATUS_MESSAGE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_RCV_STATUS_MESSAGE_TIMEOUT\0" ; pub const AERON_MULTICAST_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_min\0" ; pub const AERON_MULTICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 14usize ] = b"multicast_max\0" ; pub const AERON_MULTICAST_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 17usize ] = b"multicast_tagged\0" ; pub const AERON_UNICAST_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 12usize ] = b"unicast_max\0" ; pub const AERON_MULTICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_MULTICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_UNICAST_FLOWCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_UNICAST_FLOWCONTROL_SUPPLIER\0" ; pub const AERON_IMAGE_LIVENESS_TIMEOUT_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_IMAGE_LIVENESS_TIMEOUT\0" ; pub const AERON_RCV_INITIAL_WINDOW_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RCV_INITIAL_WINDOW_LENGTH\0" ; pub const AERON_CONGESTIONCONTROL_SUPPLIER_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_CONGESTIONCONTROL_SUPPLIER\0" ; pub const AERON_LOSS_REPORT_BUFFER_LENGTH_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_LOSS_REPORT_BUFFER_LENGTH\0" ; pub const AERON_PUBLICATION_UNBLOCK_TIMEOUT_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_PUBLICATION_UNBLOCK_TIMEOUT\0" ; pub const AERON_PUBLICATION_CONNECTION_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_PUBLICATION_CONNECTION_TIMEOUT\0" ; pub const AERON_TIMER_INTERVAL_ENV_VAR : & 'static [ u8 ; 21usize ] = b"AERON_TIMER_INTERVAL\0" ; pub const AERON_SENDER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SENDER_IDLE_STRATEGY\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_RECEIVER_IDLE_STRATEGY\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_SHARED_IDLE_STRATEGY\0" ; pub const AERON_SENDER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SENDER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_CONDUCTOR_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 39usize ] = b"AERON_RECEIVER_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 44usize ] = b"AERON_SHAREDNETWORK_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_SHARED_IDLE_STRATEGY_ENV_INIT_ARGS_VAR : & 'static [ u8 ; 37usize ] = b"AERON_SHARED_IDLE_STRATEGY_INIT_ARGS\0" ; pub const AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT_ENV_VAR : & 'static [ u8 ; 37usize ] = b"AERON_COUNTERS_FREE_TO_REUSE_TIMEOUT\0" ; pub const AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT_ENV_VAR : & 'static [ u8 ; 50usize ] = b"AERON_MIN_MULTICAST_FLOW_CONTROL_RECEIVER_TIMEOUT\0" ; pub const AERON_FLOW_CONTROL_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_FLOW_CONTROL_GROUP_TAG\0" ; pub const AERON_FLOW_CONTROL_GROUP_MIN_SIZE_ENV_VAR : & 'static [ u8 ; 34usize ] = b"AERON_FLOW_CONTROL_GROUP_MIN_SIZE\0" ; pub const AERON_RECEIVER_GROUP_TAG_ENV_VAR : & 'static [ u8 ; 25usize ] = b"AERON_RECEIVER_GROUP_TAG\0" ; pub const AERON_DRIVER_TERMINATION_VALIDATOR_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_DRIVER_TERMINATION_VALIDATOR\0" ; pub const AERON_PRINT_CONFIGURATION_ON_START_ENV_VAR : & 'static [ u8 ; 26usize ] = b"AERON_PRINT_CONFIGURATION\0" ; pub const AERON_RELIABLE_STREAM_ENV_VAR : & 'static [ u8 ; 22usize ] = b"AERON_RELIABLE_STREAM\0" ; pub const AERON_TETHER_SUBSCRIPTIONS_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_TETHER_SUBSCRIPTIONS\0" ; pub const AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT_ENV_VAR : & 'static [ u8 ; 38usize ] = b"AERON_UNTETHERED_WINDOW_LIMIT_TIMEOUT\0" ; pub const AERON_UNTETHERED_RESTING_TIMEOUT_ENV_VAR : & 'static [ u8 ; 33usize ] = b"AERON_UNTETHERED_RESTING_TIMEOUT\0" ; pub const AERON_NAK_MULTICAST_GROUP_SIZE_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_NAK_MULTICAST_GROUP_SIZE\0" ; pub const AERON_NAK_MULTICAST_MAX_BACKOFF_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_NAK_MULTICAST_MAX_BACKOFF\0" ; pub const AERON_NAK_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 24usize ] = b"AERON_NAK_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_DELAY_ENV_VAR : & 'static [ u8 ; 31usize ] = b"AERON_RETRANSMIT_UNICAST_DELAY\0" ; pub const AERON_RETRANSMIT_UNICAST_LINGER_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_RETRANSMIT_UNICAST_LINGER\0" ; pub const AERON_RECEIVER_GROUP_CONSIDERATION_ENV_VAR : & 'static [ u8 ; 35usize ] = b"AERON_RECEIVER_GROUP_CONSIDERATION\0" ; pub const AERON_REJOIN_STREAM_ENV_VAR : & 'static [ u8 ; 20usize ] = b"AERON_REJOIN_STREAM\0" ; pub const AERON_IPC_CHANNEL : & 'static [ u8 ; 10usize ] = b"aeron:ipc\0" ; pub const AERON_SPY_PREFIX : & 'static [ u8 ; 11usize ] = b"aeron-spy:\0" ; pub const AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_UDP_CHANNEL_TRANSPORT_BINDINGS_MEDIA\0" ; pub const AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_OUTGOING_INTERCEPTORS\0" ; pub const AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS_ENV_VAR : & 'static [ u8 ; 40usize ] = b"AERON_UDP_CHANNEL_INCOMING_INTERCEPTORS\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_LOW_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_LOW\0" ; pub const AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH_ENV_VAR : & 'static [ u8 ; 43usize ] = b"AERON_PUBLICATION_RESERVED_SESSION_ID_HIGH\0" ; pub const AERON_DRIVER_RESOLVER_NAME_ENV_VAR : & 'static [ u8 ; 27usize ] = b"AERON_DRIVER_RESOLVER_NAME\0" ; pub const AERON_DRIVER_RESOLVER_INTERFACE_ENV_VAR : & 'static [ u8 ; 32usize ] = b"AERON_DRIVER_RESOLVER_INTERFACE\0" ; pub const AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RESOLVER_BOOTSTRAP_NEIGHBOR\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_ENV_VAR : & 'static [ u8 ; 29usize ] = b"AERON_NAME_RESOLVER_SUPPLIER\0" ; pub const AERON_NAME_RESOLVER_SUPPLIER_DEFAULT : & 'static [ u8 ; 8usize ] = b"default\0" ; pub const AERON_NAME_RESOLVER_INIT_ARGS_ENV_VAR : & 'static [ u8 ; 30usize ] = b"AERON_NAME_RESOLVER_INIT_ARGS\0" ; pub const AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL_ENV_VAR : & 'static [ u8 ; 41usize ] = b"AERON_DRIVER_RERESOLUTION_CHECK_INTERVAL\0" ; pub const AERON_UDP_CHANNEL_RELIABLE_KEY : & 'static [ u8 ; 9usize ] = b"reliable\0" ; pub const AERON_UDP_CHANNEL_TTL_KEY : & 'static [ u8 ; 4usize ] = b"ttl\0" ; pub const AERON_UDP_CHANNEL_ENDPOINT_KEY : & 'static [ u8 ; 9usize ] = b"endpoint\0" ; pub const AERON_UDP_CHANNEL_INTERFACE_KEY : & 'static [ u8 ; 10usize ] = b"interface\0" ; pub const AERON_UDP_CHANNEL_CONTROL_KEY : & 'static [ u8 ; 8usize ] = b"control\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_KEY : & 'static [ u8 ; 13usize ] = b"control-mode\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_MANUAL_VALUE : & 'static [ u8 ; 7usize ] = b"manual\0" ; pub const AERON_UDP_CHANNEL_CONTROL_MODE_DYNAMIC_VALUE : & 'static [ u8 ; 8usize ] = b"dynamic\0" ; pub const AERON_URI_INITIAL_TERM_ID_KEY : & 'static [ u8 ; 13usize ] = b"init-term-id\0" ; pub const AERON_URI_TERM_ID_KEY : & 'static [ u8 ; 8usize ] = b"term-id\0" ; pub const AERON_URI_TERM_OFFSET_KEY : & 'static [ u8 ; 12usize ] = b"term-offset\0" ; pub const AERON_URI_TERM_LENGTH_KEY : & 'static [ u8 ; 12usize ] = b"term-length\0" ; pub const AERON_URI_LINGER_TIMEOUT_KEY : & 'static [ u8 ; 7usize ] = b"linger\0" ; pub const AERON_URI_MTU_LENGTH_KEY : & 'static [ u8 ; 4usize ] = b"mtu\0" ; pub const AERON_URI_SPARSE_TERM_KEY : & 'static [ u8 ; 7usize ] = b"sparse\0" ; pub const AERON_URI_EOS_KEY : & 'static [ u8 ; 4usize ] = b"eos\0" ; pub const AERON_URI_TETHER_KEY : & 'static [ u8 ; 7usize ] = b"tether\0" ; pub const AERON_URI_TAGS_KEY : & 'static [ u8 ; 5usize ] = b"tags\0" ; pub const AERON_URI_SESSION_ID_KEY : & 'static [ u8 ; 11usize ] = b"session-id\0" ; pub const AERON_URI_GROUP_KEY : & 'static [ u8 ; 6usize ] = b"group\0" ; pub const AERON_URI_REJOIN_KEY : & 'static [ u8 ; 7usize ] = b"rejoin\0" ; pub const AERON_URI_FC_KEY : & 'static [ u8 ; 3usize ] = b"fc\0" ; pub const AERON_URI_GTAG_KEY : & 'static [ u8 ; 5usize ] = b"gtag\0" ; pub const AERON_URI_CC_KEY : & 'static [ u8 ; 3usize ] = b"cc\0" ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP4 : u32 = 4 ; pub const AERON_RES_HEADER_ADDRESS_LENGTH_IP6 : u32 = 16 ; pub const AERON_FRAME_HEADER_VERSION : u32 = 0 ; pub const AERON_HDR_TYPE_PAD : u32 = 0 ; pub const AERON_HDR_TYPE_DATA : u32 = 1 ; pub const AERON_HDR_TYPE_NAK : u32 = 2 ; pub const AERON_HDR_TYPE_SM : u32 = 3 ; pub const AERON_HDR_TYPE_ERR : u32 = 4 ; pub const AERON_HDR_TYPE_SETUP : u32 = 5 ; pub const AERON_HDR_TYPE_RTTM : u32 = 6 ; pub const AERON_HDR_TYPE_RES : u32 = 7 ; pub const AERON_HDR_TYPE_EXT : u32 = 65535 ; pub const AERON_DATA_HEADER_DEFAULT_RESERVED_VALUE : u32 = 0 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD : u32 = 1 ; pub const AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD : u32 = 2 ; pub const AERON_FRAME_MAX_MESSAGE_LENGTH : u32 = 16777216 ; pub const AERON_LOGBUFFER_PARTITION_COUNT : u32 = 3 ; pub const AERON_LOGBUFFER_TERM_MIN_LENGTH : u32 = 65536 ; pub const AERON_LOGBUFFER_TERM_MAX_LENGTH : u32 = 1073741824 ; pub const AERON_PAGE_MIN_SIZE : u32 = 4096 ; pub const AERON_PAGE_MAX_SIZE : u32 = 1073741824 ; pub const AERON_LOGBUFFER_DEFAULT_FRAME_HEADER_MAX_LENGTH : u32 = 128 ; pub const AERON_MAX_UDP_PAYLOAD_LENGTH : u32 = 65504 ; pub const AERON_LOGBUFFER_FRAME_ALIGNMENT : u32 = 32 ; pub const AERON_LOG_META_DATA_SECTION_INDEX : u32 = 3 ; pub const AERON_PUBLICATIONS_DIR : & 'static [ u8 ; 13usize ] = b"publications\0" ; pub const AERON_IMAGES_DIR : & 'static [ u8 ; 7usize ] = b"images\0" ; pub const AERON_RB_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_MAX_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"max\0" ; pub const AERON_MIN_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 4usize ] = b"min\0" ; pub const AERON_TAGGED_FLOW_CONTROL_STRATEGY_NAME : & 'static [ u8 ; 7usize ] = b"tagged\0" ; pub const AERON_AGENT_STATE_UNUSED : u32 = 0 ; pub const AERON_AGENT_STATE_INITED : u32 = 1 ; pub const AERON_AGENT_STATE_STARTED : u32 = 2 ; pub const AERON_AGENT_STATE_MANUAL : u32 = 3 ; pub const AERON_AGENT_STATE_STOPPING : u32 = 4 ; pub const AERON_AGENT_STATE_STOPPED : u32 = 5 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_SPINS : u32 = 10 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_YIELDS : u32 = 20 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MIN_PARK_PERIOD_NS : u32 = 1000 ; pub const AERON_IDLE_STRATEGY_BACKOFF_MAX_PARK_PERIOD_NS : u32 = 1000000 ; pub const AERON_COUNTER_RECORD_UNUSED : u32 = 0 ; pub const AERON_COUNTER_RECORD_ALLOCATED : u32 = 1 ; pub const AERON_COUNTER_RECORD_RECLAIMED : i32 = -1 ; pub const AERON_NULL_COUNTER_ID : i32 = -1 ; pub const AERON_COUNTER_PUBLISHER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"pub-lmt\0" ; pub const AERON_COUNTER_PUBLISHER_LIMIT_TYPE_ID : u32 = 1 ; pub const AERON_COUNTER_SENDER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"snd-pos\0" ; pub const AERON_COUNTER_SENDER_POSITION_TYPE_ID : u32 = 2 ; pub const AERON_COUNTER_SENDER_LIMIT_NAME : & 'static [ u8 ; 8usize ] = b"snd-lmt\0" ; pub const AERON_COUNTER_SENDER_LIMIT_TYPE_ID : u32 = 9 ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"sub-pos\0" ; pub const AERON_COUNTER_SUBSCRIPTION_POSITION_TYPE_ID : u32 = 4 ; pub const AERON_COUNTER_RECEIVER_HWM_NAME : & 'static [ u8 ; 8usize ] = b"rcv-hwm\0" ; pub const AERON_COUNTER_RECEIVER_HWM_TYPE_ID : u32 = 3 ; pub const AERON_COUNTER_RECEIVER_POSITION_NAME : & 'static [ u8 ; 8usize ] = b"rcv-pos\0" ; pub const AERON_COUNTER_RECEIVER_POSITION_TYPE_ID : u32 = 5 ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"snd-channel\0" ; pub const AERON_COUNTER_SEND_CHANNEL_STATUS_TYPE_ID : u32 = 6 ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_NAME : & 'static [ u8 ; 12usize ] = b"rcv-channel\0" ; pub const AERON_COUNTER_RECEIVE_CHANNEL_STATUS_TYPE_ID : u32 = 7 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_INITIALIZING : u32 = 0 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_ERRORED : i32 = -1 ; pub const AERON_COUNTER_CHANNEL_ENDPOINT_STATUS_NO_ID_ALLOCATED : i32 = -1 ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_NAME : & 'static [ u8 ; 17usize ] = b"client-heartbeat\0" ; pub const AERON_COUNTER_CLIENT_HEARTBEAT_TIMESTAMP_TYPE_ID : u32 = 11 ; pub const AERON_COUNTER_PUBLISHER_POSITION_NAME : & 'static [ u8 ; 18usize ] = b"pub-pos (sampled)\0" ; pub const AERON_COUNTER_PUBLISHER_POSITION_TYPE_ID : u32 = 12 ; pub const AERON_COUNTER_SENDER_BPE_NAME : & 'static [ u8 ; 8usize ] = b"snd-bpe\0" ; pub const AERON_COUNTER_SENDER_BPE_TYPE_ID : u32 = 13 ; pub const AERON_COUNTER_RCV_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"rcv-local-sockaddr\0" ; pub const AERON_COUNTER_SND_LOCAL_SOCKADDR_NAME : & 'static [ u8 ; 19usize ] = b"snd-local-sockaddr\0" ; pub const AERON_COUNTER_LOCAL_SOCKADDR_TYPE_ID : u32 = 14 ; pub const AERON_SYSTEM_COUNTER_TYPE_ID : u32 = 0 ; pub const AERON_NAME_RESOLVER_CSV_TABLE : & 'static [ u8 ; 10usize ] = b"csv_table\0" ; pub const AERON_NAME_RESOLVER_DRIVER : & 'static [ u8 ; 7usize ] = b"driver\0" ; pub const AERON_NAME_RESOLVER_CSV_TABLE_ARGS_ENV_VAR : & 'static [ u8 ; 42usize ] = b"AERON_NAME_RESOLVER_CSV_LOOKUP_TABLE_ARGS\0" ; pub const AERON_CNC_FILE : & 'static [ u8 ; 8usize ] = b"cnc.dat\0" ; pub const AERON_LOSS_REPORT_FILE : & 'static [ u8 ; 16usize ] = b"loss-report.dat\0" ; pub const AERON_COMMAND_QUEUE_CAPACITY : u32 = 256 ; pub const AERON_BROADCAST_PADDING_MSG_TYPE_ID : i32 = -1 ; pub const AERON_COMMAND_ADD_PUBLICATION : u32 = 1 ; pub const AERON_COMMAND_REMOVE_PUBLICATION : u32 = 2 ; pub const AERON_COMMAND_ADD_EXCLUSIVE_PUBLICATION : u32 = 3 ; pub const AERON_COMMAND_ADD_SUBSCRIPTION : u32 = 4 ; pub const AERON_COMMAND_REMOVE_SUBSCRIPTION : u32 = 5 ; pub const AERON_COMMAND_CLIENT_KEEPALIVE : u32 = 6 ; pub const AERON_COMMAND_ADD_DESTINATION : u32 = 7 ; pub const AERON_COMMAND_REMOVE_DESTINATION : u32 = 8 ; pub const AERON_COMMAND_ADD_COUNTER : u32 = 9 ; pub const AERON_COMMAND_REMOVE_COUNTER : u32 = 10 ; pub const AERON_COMMAND_CLIENT_CLOSE : u32 = 11 ; pub const AERON_COMMAND_ADD_RCV_DESTINATION : u32 = 12 ; pub const AERON_COMMAND_REMOVE_RCV_DESTINATION : u32 = 13 ; pub const AERON_COMMAND_TERMINATE_DRIVER : u32 = 14 ; pub const AERON_RESPONSE_ON_ERROR : u32 = 3841 ; pub const AERON_RESPONSE_ON_AVAILABLE_IMAGE : u32 = 3842 ; pub const AERON_RESPONSE_ON_PUBLICATION_READY : u32 = 3843 ; pub const AERON_RESPONSE_ON_OPERATION_SUCCESS : u32 = 3844 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_IMAGE : u32 = 3845 ; pub const AERON_RESPONSE_ON_EXCLUSIVE_PUBLICATION_READY : u32 = 3846 ; pub const AERON_RESPONSE_ON_SUBSCRIPTION_READY : u32 = 3847 ; pub const AERON_RESPONSE_ON_COUNTER_READY : u32 = 3848 ; pub const AERON_RESPONSE_ON_UNAVAILABLE_COUNTER : u32 = 3849 ; pub const AERON_RESPONSE_ON_CLIENT_TIMEOUT : u32 = 3850 ; pub const AERON_ERROR_CODE_UNKNOWN_CODE_VALUE : i32 = -1 ; pub const AERON_ERROR_CODE_GENERIC_ERROR : u32 = 0 ; pub const AERON_ERROR_CODE_INVALID_CHANNEL : u32 = 1 ; pub const AERON_ERROR_CODE_UNKNOWN_SUBSCRIPTION : u32 = 2 ; pub const AERON_ERROR_CODE_UNKNOWN_PUBLICATION : u32 = 3 ; pub const AERON_ERROR_CODE_CHANNEL_ENDPOINT_ERROR : u32 = 4 ; pub const AERON_ERROR_CODE_UNKNOWN_COUNTER : u32 = 5 ; pub const AERON_ERROR_CODE_UNKNOWN_COMMAND_TYPE_ID : u32 = 6 ; pub const AERON_ERROR_CODE_MALFORMED_COMMAND : u32 = 7 ; pub const AERON_ERROR_CODE_NOT_SUPPORTED : u32 = 8 ; pub const AERON_ERROR_CODE_UNKNOWN_HOST : u32 = 9 ; pub const AERON_ERROR_CODE_RESOURCE_TEMPORARILY_UNAVAILABLE : u32 = 10 ; pub const AERON_MAP_DEFAULT_LOAD_FACTOR : f64 = 0.55 ; pub const AERON_NETUTIL_FORMATTED_MAX_LENGTH : u32 = 54 ; pub const AERON_RETRANSMIT_HANDLER_MAX_RETRANSMITS : u32 = 16 ; pub const AERON_NETWORK_PUBLICATION_HEARTBEAT_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_SETUP_TIMEOUT_NS : u32 = 100000000 ; pub const AERON_NETWORK_PUBLICATION_MAX_MESSAGES_PER_SEND : u32 = 2 ; pub const AERON_UDP_DESTINATION_TRACKER_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_SEND_CHANNEL_ENDPOINT_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_RECEIVE_DESTINATION_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_LOSS_DETECTOR_TIMER_INACTIVE : i32 = -1 ; pub const AERON_LOSS_DETECTOR_NAK_UNICAST_DELAY_NS : u32 = 60000000 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_GROUP_SIZE : f64 = 10.0 ; pub const AERON_LOSS_DETECTOR_NAK_MULTICAST_MAX_BACKOFF_NS : f64 = 60000000.0 ; pub const AERON_LOSS_REPORTER_ENTRY_ALIGNMENT : u32 = 64 ; pub const AERON_DRIVER_CONDUCTOR_LINGER_RESOURCE_TIMEOUT_NS : u64 = 5000000000 ; pub const AERON_DRIVER_CONDUCTOR_CLOCK_UPDATE_DURATION_NS : u32 = 1000000 ; pub const AERON_UDP_TRANSPORT_POLLER_ITERATION_THRESHOLD : u32 = 5 ; pub const AERON_DRIVER_SENDER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_NUM_RECV_BUFFERS : u32 = 2 ; pub const AERON_DRIVER_RECEIVER_MAX_UDP_PACKET_LENGTH : u32 = 65536 ; pub const AERON_DRIVER_RECEIVER_PENDING_SETUP_TIMEOUT_NS : u32 = 1000000000 ; pub const AERON_AGENT_RUNNER_CONDUCTOR : u32 = 0 ; pub const AERON_AGENT_RUNNER_SENDER : u32 = 1 ; pub const AERON_AGENT_RUNNER_RECEIVER : u32 = 2 ; pub const AERON_AGENT_RUNNER_SHARED_NETWORK : u32 = 1 ; pub const AERON_AGENT_RUNNER_SHARED : u32 = 0 ; pub const AERON_AGENT_RUNNER_MAX : u32 = 3 ; pub type size_t = :: 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 __socklen_t = :: std :: os :: raw :: c_uint ; extern "C" { pub fn aeron_alloc_no_err ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_alloc_aligned ( ptr : * mut * mut :: std :: os :: raw :: c_void , offset : * mut size_t , size : size_t , alignment : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_reallocf ( ptr : * mut * mut :: std :: os :: raw :: c_void , size : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_free ( ptr : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_context_stct { _unused : [ u8 ; 0 ] , } pub type aeron_context_t = aeron_context_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stct { _unused : [ u8 ; 0 ] , } pub type aeron_t = aeron_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] pub type aeron_buffer_claim_t = aeron_buffer_claim_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_publication_t = aeron_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_exclusive_publication_stct { _unused : [ u8 ; 0 ] , } pub type aeron_exclusive_publication_t = aeron_exclusive_publication_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_header_stct { _unused : [ u8 ; 0 ] , } pub type aeron_header_t = aeron_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_stct { _unused : [ u8 ; 0 ] , } pub type aeron_subscription_t = aeron_subscription_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_t = aeron_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_stct { _unused : [ u8 ; 0 ] , } pub type aeron_counter_t = aeron_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_log_buffer_stct { _unused : [ u8 ; 0 ] , } pub type aeron_log_buffer_t = aeron_log_buffer_stct ; pub type aeron_counters_reader_t = aeron_counters_reader_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_registering_resource_stct { _unused : [ u8 ; 0 ] , } pub type aeron_async_add_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_exclusive_publication_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_subscription_t = aeron_client_registering_resource_stct ; pub type aeron_async_add_counter_t = aeron_client_registering_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_fragment_assembler_t = aeron_image_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_image_controlled_fragment_assembler_t = aeron_image_controlled_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_fragment_assembler_t = aeron_fragment_assembler_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_controlled_fragment_assembler_stct { _unused : [ u8 ; 0 ] , } pub type aeron_controlled_fragment_assembler_t = aeron_controlled_fragment_assembler_stct ; extern "C" { pub fn aeron_context_set_dir ( context : * mut aeron_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_dir ( context : * mut aeron_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_context_set_driver_timeout_ms ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_driver_timeout_ms ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_keepalive_interval_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_keepalive_interval_ns ( context : * mut aeron_context_t ) -> u64 ; } extern "C" { pub fn aeron_context_set_resource_linger_duration_ns ( context : * mut aeron_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_resource_linger_duration_ns ( context : * mut aeron_context_t ) -> u64 ; } # [ doc = " The error handler to be called when an error occurs." ] pub type aeron_error_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , errcode : :: std :: os :: raw :: c_int , message : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_error_handler ( context : * mut aeron_context_t , handler : aeron_error_handler_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_error_handler ( context : * mut aeron_context_t ) -> aeron_error_handler_t ; } extern "C" { pub fn aeron_context_get_error_handler_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_publication_t" ] # [ doc = " or aeron_exclusive_publication_t successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original add publication call" ] # [ doc = " @param channel of the publication" ] # [ doc = " @param stream_id within the channel of the publication" ] # [ doc = " @param session_id of the publication" ] # [ doc = " @param correlation_id used by the publication" ] pub type aeron_on_new_publication_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_publication_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_context_set_on_new_exclusive_publication ( context : * mut aeron_context_t , handler : aeron_on_new_publication_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication ( context : * mut aeron_context_t ) -> aeron_on_new_publication_t ; } extern "C" { pub fn aeron_context_get_on_new_exclusive_publication_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notification that the media driver has added an aeron_subscription_t" ] # [ doc = " successfully." ] # [ doc = "" ] # [ doc = " Implementations should do the minimum work for passing off state to another thread for later processing." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call" ] # [ doc = " @param async associated with the original aeron_add_async_subscription call" ] # [ doc = " @param channel of the subscirption" ] # [ doc = " @param stream_id within the channel of the subscription" ] # [ doc = " @param session_id of the subscription" ] # [ doc = " @param correlation_id used by the subscription" ] pub type aeron_on_new_subscription_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , async_ : * mut aeron_async_add_subscription_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , correlation_id : i64 ) > ; extern "C" { pub fn aeron_context_set_on_new_subscription ( context : * mut aeron_context_t , handler : aeron_on_new_subscription_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_on_new_subscription ( context : * mut aeron_context_t ) -> aeron_on_new_subscription_t ; } extern "C" { pub fn aeron_context_get_on_new_subscription_clientd ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } # [ doc = " Function called by aeron_client_t to deliver notifications that an aeron_image_t was added." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become available." ] pub type aeron_on_available_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; # [ doc = " Function called by aeron_client_t to deliver notifications than an aeron_image_t has been removed from use and" ] # [ doc = " should not be used any longer." ] # [ doc = "" ] # [ doc = " @param clientd to be returned in the call." ] # [ doc = " @param image that has become unavailble." ] pub type aeron_on_unavailable_image_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , image : * mut aeron_image_t ) > ; pub type aeron_on_available_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_unavailable_counter_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , counters_reader : * mut aeron_counters_reader_t , registration_id : i64 , counter_id : i32 ) > ; pub type aeron_on_close_client_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Whether to use an invoker to control the conductor agent or spawn a thread." ] pub fn aeron_context_set_use_conductor_agent_invoker ( context : * mut aeron_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_use_conductor_agent_invoker ( context : * mut aeron_context_t ) -> bool ; } pub type aeron_agent_on_start_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , role_name : * const :: std :: os :: raw :: c_char ) > ; extern "C" { pub fn aeron_context_set_agent_on_start_function ( context : * mut aeron_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_context_get_agent_on_start_function ( context : * mut aeron_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_context_get_agent_on_start_state ( context : * mut aeron_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = " Create a aeron_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_init ( context : * mut * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_context_close ( context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_t client struct and initialize from the aeron_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_context_t struct will be used exclusively by the client. Do not reuse between clients." ] # [ doc = "" ] # [ doc = " @param aeron client to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_init ( client : * mut * mut aeron_t , context : * mut aeron_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_t. This may spawn a thread for the Client Conductor." ] # [ doc = "" ] # [ doc = " @param client to start." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_start ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Client must have been created with use conductor invoker set to true." ] # [ doc = "" ] # [ doc = " @param client to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_main_do_work ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor Idle Strategy." ] # [ doc = "" ] # [ doc = " @param client to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_main_idle_strategy ( client : * mut aeron_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_t struct." ] # [ doc = "" ] # [ doc = " @param client to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_close ( client : * mut aeron_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call stream_out to print the counter labels and values." ] # [ doc = "" ] # [ doc = " @param client to get the counters from" ] # [ doc = " @param stream_out to call for each label and value" ] pub fn aeron_print_counters ( client : * mut aeron_t , stream_out : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ) ; } extern "C" { # [ doc = " Return the aeron_context_t that is in use by the given client." ] # [ doc = "" ] # [ doc = " @param client to return the aeron_context_t for." ] # [ doc = " @return the aeron_context_t for the given client or NULL for an error." ] pub fn aeron_context ( client : * mut aeron_t ) -> * mut aeron_context_t ; } extern "C" { # [ doc = " Return the client id in use by the client." ] # [ doc = "" ] # [ doc = " @param client to return the client id for." ] # [ doc = " @return id value or -1 for an error." ] pub fn aeron_client_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Return a unique correlation id from the driver." ] # [ doc = "" ] # [ doc = " @param client to use to get the id." ] # [ doc = " @return unique correlation id or -1 for an error." ] pub fn aeron_next_correlation_id ( client : * mut aeron_t ) -> i64 ; } extern "C" { # [ doc = " Asynchronously add a publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_publication ( async_ : * mut * mut aeron_async_add_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_publication_poll ( publication : * mut * mut aeron_publication_t , async_ : * mut aeron_async_add_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add an exclusive publication using the given client and return an object to use to determine when the" ] # [ doc = " publication is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the publication to." ] # [ doc = " @param uri for the channel of the publication." ] # [ doc = " @param stream_id for the publication." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_exclusive_publication ( async_ : * mut * mut aeron_async_add_exclusive_publication_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_exclusive_publication call." ] # [ doc = "" ] # [ doc = " @param publication to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_exclusive_publication_poll ( publication : * mut * mut aeron_exclusive_publication_t , async_ : * mut aeron_async_add_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously add a subscription using the given client and return an object to use to determine when the" ] # [ doc = " subscription is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the subscription to." ] # [ doc = " @param uri for the channel of the subscription." ] # [ doc = " @param stream_id for the subscription." ] # [ doc = " @param on_available_image_handler to be called when images become available on the subscription." ] # [ doc = " @param on_available_image_clientd to be passed when images become available on the subscription." ] # [ doc = " @param on_unavailable_image_handler to be called when images go unavailable on the subscription." ] # [ doc = " @param on_available_image_clientd to be pacced when images go unavailable on the subscription." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_subscription ( async_ : * mut * mut aeron_async_add_subscription_t , client : * mut aeron_t , uri : * const :: std :: os :: raw :: c_char , stream_id : i32 , on_available_image_handler : aeron_on_available_image_t , on_available_image_clientd : * mut :: std :: os :: raw :: c_void , on_unavailable_image_handler : aeron_on_unavailable_image_t , on_unavailable_image_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_subscription call." ] # [ doc = "" ] # [ doc = " @param subscription to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_subscription_poll ( subscription : * mut * mut aeron_subscription_t , async_ : * mut aeron_async_add_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return a reference to the counters reader of the given client." ] # [ doc = "" ] # [ doc = " The aeron_counters_reader_t is maintained by the client. And should not be freed." ] # [ doc = "" ] # [ doc = " @param client that contains the counters reader." ] # [ doc = " @return aeron_counters_reader_t or NULL for error." ] pub fn aeron_counters_reader ( client : * mut aeron_t ) -> * mut aeron_counters_reader_t ; } extern "C" { # [ doc = " Asynchronously add a counter using the given client and return an object to use to determine when the" ] # [ doc = " counter is available." ] # [ doc = "" ] # [ doc = " @param async object to use for polling completion." ] # [ doc = " @param client to add the counter to." ] # [ doc = " @param type_id for the counter." ] # [ doc = " @param key_buffer for the counter." ] # [ doc = " @param key_buffer_length for the counter." ] # [ doc = " @param label_buffer for the counter." ] # [ doc = " @param label_buffer_length for the counter." ] # [ doc = " @return 0 for success or -1 for an error." ] pub fn aeron_async_add_counter ( async_ : * mut * mut aeron_async_add_counter_t , client : * mut aeron_t , type_id : i32 , key_buffer : * const u8 , key_buffer_length : size_t , label_buffer : * const :: std :: os :: raw :: c_char , label_buffer_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the completion of the aeron_async_add_counter call." ] # [ doc = "" ] # [ doc = " @param counter to set if completed successfully." ] # [ doc = " @param async to check for completion." ] # [ doc = " @return 0 for not cmplete (try again), 1 for completed successfully, or -1 for an error." ] pub fn aeron_async_add_counter_poll ( counter : * mut * mut aeron_counter_t , async_ : * mut aeron_async_add_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_available_counter_handler ( client : * mut aeron_t , handler : aeron_on_available_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_unavailable_counter_handler ( client : * mut aeron_t , handler : aeron_on_unavailable_counter_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_add_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_remove_close_handler ( client : * mut aeron_t , handler : aeron_on_close_client_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Function called by aeron_counters_reader_foreach_counter for each counter in the aeron_counters_reader_t." ] # [ doc = "" ] # [ doc = " @param value of the counter." ] # [ doc = " @param id of the counter." ] # [ doc = " @param label for the counter." ] # [ doc = " @param label_length for the counter." ] # [ doc = " @param clientd to be returned in the call" ] pub type aeron_counters_reader_foreach_counter_func_t = :: std :: option :: Option < unsafe extern "C" fn ( value : i64 , id : i32 , label : * const :: std :: os :: raw :: c_char , label_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ doc = " Iterate over the coounters in the counters_reader and call the given function for each counter." ] # [ doc = "" ] # [ doc = " @param counters_reader to iterate over." ] # [ doc = " @param func to call for each counter." ] # [ doc = " @param clientd to pass for each call to func." ] pub fn aeron_counters_reader_foreach_counter ( counters_reader : * mut aeron_counters_reader_t , func : aeron_counters_reader_foreach_counter_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } # [ doc = " Function called when filling in the reserved value field of a message." ] # [ doc = "" ] # [ doc = " @param clientd passed to the offer function." ] # [ doc = " @param buffer of the entire frame, including Aeron data header." ] # [ doc = " @param frame_length of the enture frame." ] pub type aeron_reserved_value_supplier_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , frame_length : size_t ) -> i64 > ; # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_iovec_stct { pub iov_base : * mut u8 , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_aeron_iovec_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_iovec_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_iovec_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_iovec_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_iovec_stct > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_iovec_stct ) , "::" , stringify ! ( iov_len ) ) ) ; } # [ doc = " Structure to hold pointer to a buffer and the buffer length." ] # [ doc = "" ] # [ doc = " TLM 2020-05-25: want to make this a typedef of iovec when already defined as an option." ] pub type aeron_iovec_t = aeron_iovec_stct ; # [ doc = " Structure used to hold information for a try_claim function call." ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_buffer_claim_stct { pub frame_header : * mut u8 , pub data : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_buffer_claim_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_buffer_claim_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_buffer_claim_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_buffer_claim_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_buffer_claim_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_buffer_claim_stct ) , "::" , stringify ! ( length ) ) ) ; } extern "C" { # [ doc = " Commit the given buffer_claim as a complete message available for consumption." ] # [ doc = "" ] # [ doc = " @param buffer_claim to commit." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_commit ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Abort the given buffer_claim and assign its position as padding." ] # [ doc = "" ] # [ doc = " @param buffer_claim to abort." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_buffer_claim_abort ( buffer_claim : * mut aeron_buffer_claim_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offer ( publication : * mut aeron_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_publication_offerv ( publication : * mut aeron_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_publication_try_claim ( publication : * mut aeron_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { pub fn aeron_publication_channel_status ( publication : * mut aeron_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_add_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_remove_destination ( publication : * mut aeron_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_publication_close ( publication : * mut aeron_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Non-blocking publish of a buffer containing a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param buffer to publish." ] # [ doc = " @param length of the buffer." ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { # [ doc = " Non-blocking publish by gathering buffer vectors into a message." ] # [ doc = "" ] # [ doc = " @param publication to publish on." ] # [ doc = " @param iov array for the vectors" ] # [ doc = " @param iovcnt of the number of vectors" ] # [ doc = " @param reserved_value_supplier to use for setting the reserved fvalue field or NULL." ] # [ doc = " @param clientd to pass to the reserved_value_supplier." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offerv ( publication : * mut aeron_exclusive_publication_t , iov : * mut aeron_iovec_t , iovcnt : size_t , reserved_value_supplier : aeron_reserved_value_supplier_t , clientd : * mut :: std :: os :: raw :: c_void ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_try_claim ( publication : * mut aeron_exclusive_publication_t , length : size_t , buffer_claim : * mut aeron_buffer_claim_t ) -> i64 ; } extern "C" { # [ doc = " Append a padding record log of a given length to make up the log to a position." ] # [ doc = "" ] # [ doc = " @param length of the range to claim, in bytes." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_append_padding ( publication : * mut aeron_exclusive_publication_t , length : size_t ) -> i64 ; } extern "C" { # [ doc = " Offer a block of pre-formatted message fragments directly into the current term." ] # [ doc = "" ] # [ doc = " @param buffer containing the pre-formatted block of message fragments." ] # [ doc = " @param offset offset in the buffer at which the first fragment begins." ] # [ doc = " @param length in bytes of the encoded block." ] # [ doc = " @return the new stream position otherwise a negative error value." ] pub fn aeron_exclusive_publication_offer_block ( publication : * mut aeron_exclusive_publication_t , buffer : * const u8 , length : size_t ) -> i64 ; } extern "C" { pub fn aeron_exclusive_publication_channel_status ( publication : * mut aeron_exclusive_publication_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_add_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination manually from a multi-destination-cast publication." ] # [ doc = "" ] # [ doc = " @param publication to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_remove_destination ( exclusive : * mut aeron_exclusive_publication_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the publication." ] # [ doc = "" ] # [ doc = " @param publication to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_exclusive_publication_close ( publication : * mut aeron_exclusive_publication_t ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " The frame will either contain a whole message or a fragment of a message to be reassembled. Messages are fragmented" ] # [ doc = " if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub type aeron_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) > ; # [ doc = " Abort the current polling operation and do not advance the position for this fragment." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_ABORT : aeron_controlled_fragment_handler_action_en = 0 ; # [ doc = " Break from the current polling operation and commit the position as of the end of the current fragment" ] # [ doc = " being handled." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_BREAK : aeron_controlled_fragment_handler_action_en = 1 ; # [ doc = " Continue processing but commit the position as of the end of the current fragment so that" ] # [ doc = " flow control is applied to this point." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_COMMIT : aeron_controlled_fragment_handler_action_en = 2 ; # [ doc = " Continue processing until fragment limit or no fragments with position commit at end of poll as in" ] # [ doc = " aeron_fragment_handler_t." ] pub const aeron_controlled_fragment_handler_action_en_AERON_ACTION_CONTINUE : aeron_controlled_fragment_handler_action_en = 3 ; pub type aeron_controlled_fragment_handler_action_en = u32 ; pub use self :: aeron_controlled_fragment_handler_action_en as aeron_controlled_fragment_handler_action_t ; # [ doc = " Callback for handling fragments of data being read from a log." ] # [ doc = "" ] # [ doc = " Handler for reading data that is coming from a log buffer. The frame will either contain a whole message" ] # [ doc = " or a fragment of a message to be reassembled. Messages are fragmented if greater than the frame for MTU in length." ] # [ doc = "" ] # [ doc = " @param clientd passed to the controlled poll function." ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub type aeron_controlled_fragment_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t > ; # [ doc = " Callback for handling a block of messages being read from a log." ] # [ doc = "" ] # [ doc = " @param clientd passed to the block poll function." ] # [ doc = " @param buffer containing the block of message fragments." ] # [ doc = " @param offset at which the block begins, including any frame headers." ] # [ doc = " @param length of the block in bytes, including any frame headers that is aligned." ] # [ doc = " @param session_id of the stream containing this block of message fragments." ] # [ doc = " @param term_id of the stream containing this block of message fragments." ] pub type aeron_block_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , session_id : i32 , term_id : i32 ) > ; extern "C" { # [ doc = " Poll the images under the subscription for available message fragments." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_fragment_asssembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_poll ( subscription : * mut aeron_subscription_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll in a controlled manner the images under the subscription for available message fragments." ] # [ doc = " Control is applied to fragments in the stream. If more fragments can be read on another stream" ] # [ doc = " they will even if BREAK or ABORT is returned from the fragment handler." ] # [ doc = "

" ] # [ doc = " Each fragment read will be a whole message if it is under MTU length. If larger than MTU then it will come" ] # [ doc = " as a series of fragments ordered within a session." ] # [ doc = "

" ] # [ doc = " To assemble messages that span multiple fragments then use aeron_controlled_fragment_assembler_t." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler for handling each message fragment as it is read." ] # [ doc = " @param fragment_limit number of message fragments to limit when polling across multiple images." ] # [ doc = " @return the number of fragments received or -1 for error." ] pub fn aeron_subscription_controlled_poll ( subscription : * mut aeron_subscription_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll the images under the subscription for available message fragments in blocks." ] # [ doc = "

" ] # [ doc = " This method is useful for operations like bulk archiving and messaging indexing." ] # [ doc = "" ] # [ doc = " @param subscription to poll." ] # [ doc = " @param handler to receive a block of fragments from each image." ] # [ doc = " @param block_length_limit for each image polled." ] # [ doc = " @return the number of bytes consumed or -1 for error." ] pub fn aeron_subscription_block_poll ( subscription : * mut aeron_subscription_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ doc = " Is this subscription connected by having at least one open publication image." ] # [ doc = "" ] # [ doc = " @param subscription to check." ] # [ doc = " @return true if this subscription connected by having at least one open publication image." ] pub fn aeron_subscription_is_connected ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { # [ doc = " Count of images associated to this subscription." ] # [ doc = "" ] # [ doc = " @param subscription to count images for." ] # [ doc = " @return count of count associated to this subscription or -1 for error." ] pub fn aeron_subscription_image_count ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the image associated with the given session_id under the given subscription." ] # [ doc = "" ] # [ doc = " Note: the returned image is considered retained by the application and thus must be released via" ] # [ doc = " aeron_image_release when finished or if the image becomes unavailable." ] # [ doc = "" ] # [ doc = " @param subscription to search." ] # [ doc = " @param session_id associated with the image." ] # [ doc = " @return image associated with the given session_id or NULL if no image exists." ] pub fn aeron_subscription_image_by_session_id ( subscription : * mut aeron_subscription_t , session_id : i32 ) -> * mut aeron_image_t ; } extern "C" { # [ doc = " Iterate over the images for this subscription calling the given function." ] # [ doc = "" ] # [ doc = " @param subscription to iterate over." ] # [ doc = " @param handler to be called for each image." ] pub fn aeron_subscription_for_each_image ( subscription : * mut aeron_subscription_t , handler : :: std :: option :: Option < unsafe extern "C" fn ( image : * mut aeron_image_t ) > ) ; } extern "C" { pub fn aeron_subscription_is_closed ( subscription : * mut aeron_subscription_t ) -> bool ; } extern "C" { pub fn aeron_subscription_channel_status ( subscription : * mut aeron_subscription_t ) -> i64 ; } extern "C" { # [ doc = " Add a destination manually to a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to add destination to." ] # [ doc = " @param uri for the destination to add." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_add_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Remove a previously added destination from a multi-destination subscription." ] # [ doc = "" ] # [ doc = " @param subscription to remove destination from." ] # [ doc = " @param uri for the destination to remove." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_subscription_remove_destination ( subscription : * mut aeron_subscription_t , uri : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Asynchronously close the subscription." ] # [ doc = "" ] # [ doc = " @param subscription to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_subscription_close ( subscription : * mut aeron_subscription_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Retain the given image for access in the application." ] # [ doc = "" ] # [ doc = " Note: A retain call must have a corresponding release call." ] # [ doc = "" ] # [ doc = " @param image to retain" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_retain ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Release the given image and relinquish desire to use the image directly." ] # [ doc = "" ] # [ doc = " Note: Images are not threadsafe and should not be shared between subscribers." ] # [ doc = "" ] # [ doc = " @param image to release" ] # [ doc = " @return 0 for succes and -1 for error." ] pub fn aeron_image_release ( image : * mut aeron_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The position this image has been consumed to by the subscriber." ] # [ doc = "" ] # [ doc = " @param image to query position of." ] # [ doc = " @return the position this image has been consumed to by the subscriber." ] pub fn aeron_image_position ( image : * mut aeron_image_t ) -> i64 ; } extern "C" { # [ doc = " Set the subscriber position for this image to indicate where it has been consumed to." ] # [ doc = "" ] # [ doc = " @param image to set the position of." ] # [ doc = " @param new_position for the consumption point." ] pub fn aeron_image_set_position ( image : * mut aeron_image_t , position : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_poll ( image : * mut aeron_image_t , handler : aeron_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position to consume messages up to." ] # [ doc = " @param fragment_limit for the number of fragments to be consumed during one polling operation." ] # [ doc = " @return the number of fragments that have been consumed or -1 for error." ] pub fn aeron_image_bounded_controlled_poll ( image : * mut aeron_image_t , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 , fragment_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Peek for new messages in a stream by scanning forward from an initial position. If new messages are found then" ] # [ doc = " they will be delivered to the handler up to a limited position." ] # [ doc = "

" ] # [ doc = " Use a controlled fragment assembler to assemble messages which span multiple fragments. Scans must also" ] # [ doc = " start at the beginning of a message so that the assembler is reset." ] # [ doc = "" ] # [ doc = " @param image to peek." ] # [ doc = " @param initial_position from which to peek forward." ] # [ doc = " @param handler to which message fragments are delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param limit_position up to which can be scanned." ] # [ doc = " @return the resulting position after the scan terminates which is a complete message or -1 for error." ] pub fn aeron_image_controlled_peek ( image : * mut aeron_image_t , initial_position : i64 , handler : aeron_controlled_fragment_handler_t , clientd : * mut :: std :: os :: raw :: c_void , limit_position : i64 ) -> i64 ; } extern "C" { # [ doc = " Poll for new messages in a stream. If new messages are found beyond the last consumed position then they" ] # [ doc = " will be delivered to the handler up to a limited number of bytes." ] # [ doc = "

" ] # [ doc = " A scan will terminate if a padding frame is encountered. If first frame in a scan is padding then a block" ] # [ doc = " for the padding is notified. If the padding comes after the first frame in a scan then the scan terminates" ] # [ doc = " at the offset the padding frame begins. Padding frames are delivered singularly in a block." ] # [ doc = "

" ] # [ doc = " Padding frames may be for a greater range than the limit offset but only the header needs to be valid so" ] # [ doc = " relevant length of the frame is data header length." ] # [ doc = "" ] # [ doc = " @param image to poll." ] # [ doc = " @param handler to which block is delivered." ] # [ doc = " @param clientd to pass to the handler." ] # [ doc = " @param block_length_limit up to which a block may be in length." ] # [ doc = " @return the number of bytes that have been consumed or -1 for error." ] pub fn aeron_image_block_poll ( image : * mut aeron_image_t , handler : aeron_block_handler_t , clientd : * mut :: std :: os :: raw :: c_void , block_length_limit : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_image_is_closed ( image : * mut aeron_image_t ) -> bool ; } extern "C" { # [ doc = " Create an image fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_fragment_assembler_create ( assembler : * mut * mut aeron_image_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_fragment_assembler_delete ( assembler : * mut aeron_image_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create an image controlled fragment assembler for use with a single image." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_image_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete an image controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_image_controlled_fragment_assembler_delete ( assembler : * mut aeron_image_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_image_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_image_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Create a fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_fragment_assembler_create ( assembler : * mut * mut aeron_fragment_assembler_t , delegate : aeron_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_fragment_assembler_delete ( assembler : * mut aeron_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] pub fn aeron_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) ; } extern "C" { # [ doc = " Create a controlled fragment assembler for use with a subscription." ] # [ doc = "" ] # [ doc = " @param assembler to be set when created successfully." ] # [ doc = " @param delegate to call on completed" ] # [ doc = " @param delegate_clientd to pass to delegate handler." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_controlled_fragment_assembler_create ( assembler : * mut * mut aeron_controlled_fragment_assembler_t , delegate : aeron_controlled_fragment_handler_t , delegate_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete a controlled fragment assembler." ] # [ doc = "" ] # [ doc = " @param assembler to delete." ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_controlled_fragment_assembler_delete ( assembler : * mut aeron_controlled_fragment_assembler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Handler function to be passed for handling fragment assembly." ] # [ doc = "" ] # [ doc = " @param clientd passed in the poll call (must be a aeron_controlled_fragment_assembler_t)" ] # [ doc = " @param buffer containing the data." ] # [ doc = " @param offset at which the data begins." ] # [ doc = " @param length of the data in bytes." ] # [ doc = " @param header representing the meta data for the data." ] # [ doc = " @return The action to be taken with regard to the stream position after the callback." ] pub fn aeron_controlled_fragment_assembler_handler ( clientd : * mut :: std :: os :: raw :: c_void , buffer : * const u8 , offset : size_t , length : size_t , header : * mut aeron_header_t ) -> aeron_controlled_fragment_handler_action_t ; } extern "C" { # [ doc = " Return a pointer to the counter value." ] # [ doc = "" ] # [ doc = " @param counter to pointer to." ] # [ doc = " @return pointer to the counter value." ] pub fn aeron_counter_addr ( counter : * mut aeron_counter_t ) -> * mut i64 ; } extern "C" { # [ doc = " Asynchronously close the counter." ] # [ doc = "" ] # [ doc = " @param counter to close" ] # [ doc = " @return 0 for success or -1 for error." ] pub fn aeron_counter_close ( counter : * mut aeron_counter_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return full version and build string." ] # [ doc = "" ] # [ doc = " @return full version and build string." ] pub fn aeron_version_full ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = " Return major version number." ] # [ doc = "" ] # [ doc = " @return major version number." ] pub fn aeron_version_major ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return minor version number." ] # [ doc = "" ] # [ doc = " @return minor version number." ] pub fn aeron_version_minor ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return patch version number." ] # [ doc = "" ] # [ doc = " @return patch version number." ] pub fn aeron_version_patch ( ) -> :: std :: os :: raw :: c_int ; } # [ doc = " Clock function used by aeron." ] pub type aeron_clock_func_t = :: std :: option :: Option < unsafe extern "C" fn ( ) -> i64 > ; extern "C" { # [ doc = " Return time in nanoseconds for machine. Is not wall clock time." ] # [ doc = "" ] # [ doc = " @return nanoseconds since epoch for machine." ] pub fn aeron_nano_clock ( ) -> i64 ; } extern "C" { # [ doc = " Return time in milliseconds since epoch. Is wall clock time." ] # [ doc = "" ] # [ doc = " @return milliseconds since epoch." ] pub fn aeron_epoch_clock ( ) -> i64 ; } # [ doc = " Function to return logging information." ] pub type aeron_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_char ) > ; extern "C" { # [ doc = " Determine if an aeron driver is using a given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname for aeron directory" ] # [ doc = " @param timeout_ms to use to determine activity for aeron directory" ] # [ doc = " @param log_func to call during activity check to log diagnostic information." ] # [ doc = " @return true for active driver or false for no active driver." ] pub fn aeron_is_driver_active ( dirname : * const :: std :: os :: raw :: c_char , timeout_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } extern "C" { # [ doc = " Load properties from a string containing name=value pairs and set appropriate environment variables for the" ] # [ doc = " process so that subsequent calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param buffer containing properties and values." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_buffer_load ( buffer : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties file and set appropriate environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param filename to load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_file_load ( filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties from HTTP URL and set environment variables for the process so that subsequent" ] # [ doc = " calls to aeron_driver_context_init will use those values." ] # [ doc = "" ] # [ doc = " @param url to attempt to retrieve and load." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_http_load ( url : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Load properties based on URL or filename. If string contains file or http URL, it will attempt" ] # [ doc = " to load properties from a file or http as indicated. If not a URL, then it will try to load the string" ] # [ doc = " as a filename." ] # [ doc = "" ] # [ doc = " @param url_or_filename to load properties from." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_properties_load ( url_or_filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return current aeron error code (errno) for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error code for calling thread." ] pub fn aeron_errcode ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Return the current aeron error message for calling thread." ] # [ doc = "" ] # [ doc = " @return aeron error message for calling thread." ] pub fn aeron_errmsg ( ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_clock_cache_stct { _unused : [ u8 ; 0 ] , } # [ doc = " Opaque reference to a cached clock instance." ] pub type aeron_clock_cache_t = aeron_clock_cache_stct ; extern "C" { # [ doc = " Update the cached clock with the current epoch and nano time values." ] # [ doc = "" ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @param epoch_time current ms since epoch." ] # [ doc = " @param nano_time current ns time." ] pub fn aeron_clock_update_cached_time ( cached_time : * mut aeron_clock_cache_t , epoch_time : i64 , nano_time : i64 ) ; } extern "C" { # [ doc = " Retrieves the cached epoch time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the epoch time." ] pub fn aeron_clock_cached_epoch_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Retrieves the cached nano time from supplied cached clock." ] # [ doc = " @param cached_time 'this'" ] # [ doc = " @return The current cached value for the nano time." ] pub fn aeron_clock_cached_nano_time ( cached_time : * mut aeron_clock_cache_t ) -> i64 ; } extern "C" { # [ doc = " Allocate a cached clock" ] # [ doc = " @param cached_time Pointer to the pointer to be initialised with the new cached clock" ] # [ doc = " @return -1 if allocation fails, e.g. out of memory." ] pub fn aeron_clock_cache_alloc ( cached_time : * mut * mut aeron_clock_cache_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Free a cached clock." ] # [ doc = " @param cached_time" ] pub fn aeron_clock_cache_free ( cached_time : * mut aeron_clock_cache_t ) ; } extern "C" { pub fn aeron_randomised_int32 ( ) -> i32 ; } extern "C" { pub fn aeron_thread_set_name ( role_name : * const :: std :: os :: raw :: c_char ) ; } pub type aeron_mutex_t = pthread_mutex_t ; pub type aeron_thread_t = pthread_t ; extern "C" { pub fn aeron_nano_sleep ( nanoseconds : u64 ) ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_log_entry_stct { pub length : i32 , pub observation_count : i32 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , } # [ test ] fn bindgen_test_layout_aeron_error_log_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_log_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_log_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_log_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_log_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_log_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; } pub type aeron_error_log_entry_t = aeron_error_log_entry_stct ; pub type aeron_resource_linger_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , resource : * mut u8 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_observation_stct { pub description : * const :: std :: os :: raw :: c_char , pub error_code : :: std :: os :: raw :: c_int , pub offset : size_t , pub description_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_observation_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_observation_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_observation_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_observation_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_observation_stct > ( ) ) ) . description_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_observation_stct ) , "::" , stringify ! ( description_length ) ) ) ; } pub type aeron_distinct_observation_t = aeron_distinct_observation_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_observation_list_stct { pub num_observations : u64 , pub observations : * mut aeron_distinct_observation_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_observation_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_observation_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . num_observations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( num_observations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_observation_list_stct > ( ) ) ) . observations as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_observation_list_stct ) , "::" , stringify ! ( observations ) ) ) ; } pub type aeron_distinct_error_log_observation_list_t = aeron_distinct_error_log_observation_list_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_distinct_error_log_stct { pub buffer : * mut u8 , pub observation_list : * mut aeron_distinct_error_log_observation_list_t , pub buffer_capacity : size_t , pub next_offset : size_t , pub clock : aeron_clock_func_t , pub linger_resource : aeron_resource_linger_func_t , pub linger_resource_clientd : * mut :: std :: os :: raw :: c_void , pub mutex : aeron_mutex_t , } # [ test ] fn bindgen_test_layout_aeron_distinct_error_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_distinct_error_log_stct > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_distinct_error_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_distinct_error_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . observation_list as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( observation_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . buffer_capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( buffer_capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . next_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( next_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . linger_resource_clientd as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( linger_resource_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_distinct_error_log_stct > ( ) ) ) . mutex as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_distinct_error_log_stct ) , "::" , stringify ! ( mutex ) ) ) ; } pub type aeron_distinct_error_log_t = aeron_distinct_error_log_stct ; extern "C" { pub fn aeron_distinct_error_log_init ( log : * mut aeron_distinct_error_log_t , buffer : * mut u8 , buffer_size : size_t , clock : aeron_clock_func_t , linger : aeron_resource_linger_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_distinct_error_log_close ( log : * mut aeron_distinct_error_log_t ) ; } extern "C" { pub fn aeron_distinct_error_log_record ( log : * mut aeron_distinct_error_log_t , error_code : :: std :: os :: raw :: c_int , description : * const :: std :: os :: raw :: c_char , message : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub type aeron_error_log_reader_func_t = :: std :: option :: Option < unsafe extern "C" fn ( observation_count : i32 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , error : * const :: std :: os :: raw :: c_char , error_length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_error_log_exists ( buffer : * const u8 , buffer_size : size_t ) -> bool ; } extern "C" { pub fn aeron_error_log_read ( buffer : * const u8 , buffer_size : size_t , reader : aeron_error_log_reader_func_t , clientd : * mut :: std :: os :: raw :: c_void , since_timestamp : i64 ) -> size_t ; } extern "C" { pub fn aeron_distinct_error_log_num_observations ( log : * mut aeron_distinct_error_log_t ) -> size_t ; } pub type aeron_idle_strategy_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) > ; pub type aeron_idle_strategy_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , init_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_managed_resource_stct { pub registration_id : i64 , pub time_of_last_state_change : i64 , pub clientd : * mut :: std :: os :: raw :: c_void , pub decref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub incref : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_managed_resource_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_managed_resource_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_managed_resource_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_managed_resource_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . time_of_last_state_change as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( time_of_last_state_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . decref as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( decref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_managed_resource_stct > ( ) ) ) . incref as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_managed_resource_stct ) , "::" , stringify ! ( incref ) ) ) ; } pub type aeron_driver_managed_resource_t = aeron_driver_managed_resource_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_position_stct { pub counter_id : i32 , pub value_addr : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_position_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; } pub type aeron_position_t = aeron_position_stct ; pub type aeron_atomic_counter_t = aeron_position_stct ; pub mod aeron_subscription_tether_state_enum { pub type Type = u32 ; pub const AERON_SUBSCRIPTION_TETHER_ACTIVE : Type = 0 ; pub const AERON_SUBSCRIPTION_TETHER_LINGER : Type = 1 ; pub const AERON_SUBSCRIPTION_TETHER_RESTING : Type = 2 ; } pub use self :: aeron_subscription_tether_state_enum :: Type as aeron_subscription_tether_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_tetherable_position_stct { pub is_tether : bool , pub state : aeron_subscription_tether_state_t , pub counter_id : i32 , pub value_addr : * mut i64 , pub subscription_registration_id : i64 , pub time_of_last_update_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_tetherable_position_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_tetherable_position_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_tetherable_position_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_tetherable_position_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . is_tether as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . value_addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( value_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_tetherable_position_stct > ( ) ) ) . time_of_last_update_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_tetherable_position_stct ) , "::" , stringify ! ( time_of_last_update_ns ) ) ) ; } pub type aeron_tetherable_position_t = aeron_tetherable_position_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_tetherable_position_t , pub add_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub remove_position_hook_func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , value_addr : * mut i64 ) > , pub clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_subscribable_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . add_position_hook_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( add_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . remove_position_hook_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( remove_position_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_stct > ( ) ) ) . clientd as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_stct ) , "::" , stringify ! ( clientd ) ) ) ; } pub type aeron_subscribable_t = aeron_subscribable_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_base_stct { pub func : :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) > , pub item : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_base_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_base_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_base_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_base_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_base_stct > ( ) ) ) . item as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_base_stct ) , "::" , stringify ! ( item ) ) ) ; } pub type aeron_command_base_t = aeron_command_base_stct ; pub type aeron_feedback_delay_generator_state_t = aeron_feedback_delay_generator_state_stct ; pub type aeron_feedback_delay_generator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct { pub static_delay : aeron_feedback_delay_generator_state_stct_static_delay_stct , pub optimal_delay : aeron_feedback_delay_generator_state_stct_optimal_delay_stct , pub should_immediate_feedback : bool , pub delay_generator : aeron_feedback_delay_generator_func_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_static_delay_stct { pub delay_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_static_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_static_delay_stct > ( ) ) ) . delay_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_static_delay_stct ) , "::" , stringify ! ( delay_ns ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_feedback_delay_generator_state_stct_optimal_delay_stct { pub rand_max : f64 , pub base_x : f64 , pub constant_t : f64 , pub factor_t : f64 , } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct_optimal_delay_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . rand_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( rand_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . base_x as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( base_x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . constant_t as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( constant_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct_optimal_delay_stct > ( ) ) ) . factor_t as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct_optimal_delay_stct ) , "::" , stringify ! ( factor_t ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_feedback_delay_generator_state_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_feedback_delay_generator_state_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_feedback_delay_generator_state_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . static_delay as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( static_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . optimal_delay as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( optimal_delay ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . should_immediate_feedback as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( should_immediate_feedback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_feedback_delay_generator_state_stct > ( ) ) ) . delay_generator as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_feedback_delay_generator_state_stct ) , "::" , stringify ! ( delay_generator ) ) ) ; } extern "C" { pub fn aeron_driver_subscribable_remove_position ( subscribable : * mut aeron_subscribable_t , counter_id : i32 ) ; } extern "C" { pub fn aeron_command_on_delete_cmd ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } pub type aeron_driver_context_t = aeron_driver_context_stct ; pub type aeron_driver_t = aeron_driver_stct ; extern "C" { pub fn aeron_driver_context_set_dir ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_dir_warn_if_exists ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_warn_if_exists ( context : * mut aeron_driver_context_t ) -> bool ; } pub mod aeron_threading_mode_enum { pub type Type = u32 ; pub const AERON_THREADING_MODE_DEDICATED : Type = 0 ; pub const AERON_THREADING_MODE_SHARED_NETWORK : Type = 1 ; pub const AERON_THREADING_MODE_SHARED : Type = 2 ; pub const AERON_THREADING_MODE_INVOKER : Type = 3 ; } pub use self :: aeron_threading_mode_enum :: Type as aeron_threading_mode_t ; extern "C" { pub fn aeron_driver_context_set_threading_mode ( context : * mut aeron_driver_context_t , mode : aeron_threading_mode_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_threading_mode ( context : * mut aeron_driver_context_t ) -> aeron_threading_mode_t ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_start ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_start ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_dir_delete_on_shutdown ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_to_conductor_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_conductor_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_to_clients_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_to_clients_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_counters_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_error_buffer_length ( context : * mut aeron_driver_context_t , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_error_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_client_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_term_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_term_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_term_buffer_sparse_file ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_term_buffer_sparse_file ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_perform_storage_checks ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_perform_storage_checks ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_spies_simulate_connection ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_spies_simulate_connection ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_file_page_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_file_page_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_mtu_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_mtu_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_ipc_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_term_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_term_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_linger_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_socket_so_rcvbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_rcvbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_so_sndbuf ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_so_sndbuf ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_socket_multicast_ttl ( context : * mut aeron_driver_context_t , value : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_socket_multicast_ttl ( context : * mut aeron_driver_context_t ) -> u8 ; } extern "C" { pub fn aeron_driver_context_set_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_send_to_status_poll_ratio ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_status_message_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub type aeron_flow_control_strategy_t = aeron_flow_control_strategy_stct ; pub type aeron_udp_channel_t = aeron_udp_channel_stct ; pub type aeron_flow_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { # [ doc = " Return a flow control strategy supplier function pointer associated with the given name. This only will find" ] # [ doc = " strategies built into the driver and will not try to dynamically load nor find any in the current executable." ] # [ doc = "" ] # [ doc = " @param name of the strategy" ] # [ doc = " @return function pointer to supplier associated with the name" ] pub fn aeron_flow_control_strategy_supplier_by_name ( name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_multicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_flow_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_unicast_flowcontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_image_liveness_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_rcv_initial_window_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rcv_initial_window_length ( context : * mut aeron_driver_context_t ) -> size_t ; } pub type aeron_congestion_control_strategy_t = aeron_congestion_control_strategy_stct ; pub type aeron_counters_manager_t = aeron_counters_manager_stct ; pub type aeron_congestion_control_strategy_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_congestioncontrol_supplier ( context : * mut aeron_driver_context_t , value : aeron_congestion_control_strategy_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_congestioncontrol_supplier ( context : * mut aeron_driver_context_t ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_loss_report_buffer_length ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_loss_report_buffer_length ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_unblock_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_connection_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_timer_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_timer_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sender_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_conductor_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_sharednetwork_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_shared_idle_strategy_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_agent_on_start_function ( context : * mut aeron_driver_context_t , value : aeron_agent_on_start_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_function ( context : * mut aeron_driver_context_t ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_driver_context_get_agent_on_start_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_counters_free_to_reuse_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_receiver_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_tag ( context : * mut aeron_driver_context_t , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_tag ( context : * mut aeron_driver_context_t ) -> i64 ; } extern "C" { pub fn aeron_driver_context_set_flow_control_group_min_size ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_flow_control_group_min_size ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_receiver_group_tag ( context : * mut aeron_driver_context_t , is_present : bool , value : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_is_present ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_tag_value ( context : * mut aeron_driver_context_t ) -> i64 ; } pub type aeron_driver_termination_validator_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : i32 ) -> bool > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_validator ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_validator_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_validator_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_validator_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } pub type aeron_driver_termination_hook_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_driver_context_set_driver_termination_hook ( context : * mut aeron_driver_context_t , value : aeron_driver_termination_hook_func_t , state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook ( context : * mut aeron_driver_context_t ) -> aeron_driver_termination_hook_func_t ; } extern "C" { pub fn aeron_driver_context_get_driver_termination_hook_state ( context : * mut aeron_driver_context_t ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn aeron_driver_context_set_print_configuration ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_print_configuration ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_reliable_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_reliable_stream ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_tether_subscriptions ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_tether_subscriptions ( context : * mut aeron_driver_context_t ) -> bool ; } extern "C" { pub fn aeron_driver_context_set_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_window_limit_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_untethered_resting_timeout_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_driver_timeout_ms ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_driver_timeout_ms ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_group_size ( context : * mut aeron_driver_context_t , value : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_group_size ( context : * mut aeron_driver_context_t ) -> size_t ; } extern "C" { pub fn aeron_driver_context_set_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_multicast_max_backoff_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_nak_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_delay_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { pub fn aeron_driver_context_set_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_retransmit_unicast_linger_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } pub mod aeron_inferable_boolean_enum { pub type Type = u32 ; pub const AERON_FORCE_FALSE : Type = 0 ; pub const AERON_FORCE_TRUE : Type = 1 ; pub const AERON_INFER : Type = 2 ; } pub use self :: aeron_inferable_boolean_enum :: Type as aeron_inferable_boolean_t ; extern "C" { pub fn aeron_driver_context_set_receiver_group_consideration ( context : * mut aeron_driver_context_t , value : aeron_inferable_boolean_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_receiver_group_consideration ( context : * mut aeron_driver_context_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_set_rejoin_stream ( context : * mut aeron_driver_context_t , value : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_rejoin_stream ( context : * mut aeron_driver_context_t ) -> bool ; } pub type aeron_udp_channel_transport_bindings_t = aeron_udp_channel_transport_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_transport_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_transport_bindings ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_t = aeron_udp_channel_interceptor_bindings_stct ; extern "C" { pub fn aeron_driver_context_set_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_outgoing_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t , value : * mut aeron_udp_channel_interceptor_bindings_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_udp_channel_incoming_interceptors ( context : * mut aeron_driver_context_t ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_low ( context : * mut aeron_driver_context_t ) -> i32 ; } extern "C" { pub fn aeron_driver_context_set_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t , value : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_publication_reserved_session_id_high ( context : * mut aeron_driver_context_t ) -> i32 ; } pub type aeron_name_resolver_t = aeron_name_resolver_stct ; pub type aeron_name_resolver_supplier_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_driver_context_set_resolver_name ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_name ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_interface ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_interface ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_resolver_bootstrap_neighbor ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_supplier ( context : * mut aeron_driver_context_t , value : aeron_name_resolver_supplier_func_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_supplier ( context : * mut aeron_driver_context_t ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_driver_context_set_name_resolver_init_args ( context : * mut aeron_driver_context_t , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_name_resolver_init_args ( context : * mut aeron_driver_context_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_driver_context_set_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_context_get_re_resolution_check_interval_ns ( context : * mut aeron_driver_context_t ) -> u64 ; } extern "C" { # [ doc = " Create a aeron_driver_context_t struct and initialize with default values." ] # [ doc = "" ] # [ doc = " @param context to create and initialize" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_init ( context : * mut * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Close and delete aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " @param context to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_context_close ( context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Create a aeron_driver_t struct and initialize from the aeron_driver_context_t struct." ] # [ doc = "" ] # [ doc = " The given aeron_driver_context_t struct will be used exclusively by the driver. Do not reuse between drivers." ] # [ doc = "" ] # [ doc = " @param driver to create and initialize." ] # [ doc = " @param context to use for initialization." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_init ( driver : * mut * mut aeron_driver_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Start an aeron_driver_t given the threading mode. This may spawn threads for the Sender, Receiver, and Conductor" ] # [ doc = " depending on threading mode used." ] # [ doc = "" ] # [ doc = " @param driver to start." ] # [ doc = " @param manual_main_loop to be called by the caller for the Conductor do_work cycle." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_start ( driver : * mut aeron_driver_t , manual_main_loop : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) main do_work duty cycle once." ] # [ doc = "" ] # [ doc = " Driver must have been created with manual_main_loop set to true." ] # [ doc = "" ] # [ doc = " @param driver to call do_work duty cycle on." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_main_do_work ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Call the Conductor (or Shared) Idle Strategy." ] # [ doc = "" ] # [ doc = " @param driver to idle." ] # [ doc = " @param work_count to pass to idle strategy." ] pub fn aeron_driver_main_idle_strategy ( driver : * mut aeron_driver_t , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = " Close and delete aeron_driver_t struct." ] # [ doc = "" ] # [ doc = " @param driver to close and delete" ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_driver_close ( driver : * mut aeron_driver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Delete the given aeron directory." ] # [ doc = "" ] # [ doc = " @param dirname to delete." ] # [ doc = " @return 0 for success and -1 for error." ] pub fn aeron_delete_directory ( dirname : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_param_stct { pub key : * const :: std :: os :: raw :: c_char , pub value : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_aeron_uri_param_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_param_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_param_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_param_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . key as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_param_stct > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_param_stct ) , "::" , stringify ! ( value ) ) ) ; } pub type aeron_uri_param_t = aeron_uri_param_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_params_stct { pub length : size_t , pub array : * mut aeron_uri_param_t , } # [ test ] fn bindgen_test_layout_aeron_uri_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_params_stct > ( ) ) ) . array as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_params_stct ) , "::" , stringify ! ( array ) ) ) ; } pub type aeron_uri_params_t = aeron_uri_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_publication_params_stct { pub has_position : bool , pub is_sparse : bool , pub signal_eos : bool , pub mtu_length : size_t , pub term_length : size_t , pub term_offset : size_t , pub initial_term_id : i32 , pub term_id : i32 , pub linger_timeout_ns : u64 , pub has_session_id : bool , pub session_id : i32 , pub entity_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_uri_publication_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_publication_params_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_publication_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_publication_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_position as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . signal_eos as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . mtu_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . term_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . session_id as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_publication_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_publication_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; } pub type aeron_uri_publication_params_t = aeron_uri_publication_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_subscription_params_stct { pub is_reliable : bool , pub is_sparse : bool , pub is_tether : bool , pub is_rejoin : bool , pub group : aeron_inferable_boolean_t , pub has_session_id : bool , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_uri_subscription_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_subscription_params_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_subscription_params_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_subscription_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_sparse as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_tether as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . group as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . has_session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_subscription_params_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_subscription_params_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_uri_subscription_params_t = aeron_uri_subscription_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_params_stct { pub endpoint : * const :: std :: os :: raw :: c_char , pub bind_interface : * const :: std :: os :: raw :: c_char , pub control : * const :: std :: os :: raw :: c_char , pub control_mode : * const :: std :: os :: raw :: c_char , pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub ttl : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_params_stct > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . bind_interface as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( bind_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . ttl as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_udp_channel_params_t = aeron_udp_channel_params_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_channel_params_stct { pub channel_tag : * const :: std :: os :: raw :: c_char , pub entity_tag : * const :: std :: os :: raw :: c_char , pub additional_params : aeron_uri_params_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_channel_params_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_channel_params_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_channel_params_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_channel_params_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . channel_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( channel_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . entity_tag as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( entity_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_channel_params_stct > ( ) ) ) . additional_params as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_channel_params_stct ) , "::" , stringify ! ( additional_params ) ) ) ; } pub type aeron_ipc_channel_params_t = aeron_ipc_channel_params_stct ; pub mod aeron_uri_type_enum { pub type Type = u32 ; pub const AERON_URI_UDP : Type = 0 ; pub const AERON_URI_IPC : Type = 1 ; pub const AERON_URI_UNKNOWN : Type = 2 ; } pub use self :: aeron_uri_type_enum :: Type as aeron_uri_type_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_uri_stct { pub mutable_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub type_ : aeron_uri_type_t , pub params : aeron_uri_stct__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union aeron_uri_stct__bindgen_ty_1 { pub udp : aeron_udp_channel_params_t , pub ipc : aeron_ipc_channel_params_t , _bindgen_union_align : [ u64 ; 9usize ] , } # [ test ] fn bindgen_test_layout_aeron_uri_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct__bindgen_ty_1 > ( ) ) ) . ipc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct__bindgen_ty_1 ) , "::" , stringify ! ( ipc ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_uri_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_uri_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_uri_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_uri_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . mutable_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( mutable_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . type_ as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_uri_stct > ( ) ) ) . params as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_uri_stct ) , "::" , stringify ! ( params ) ) ) ; } pub type aeron_uri_t = aeron_uri_stct ; pub type aeron_uri_parse_callback_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , value : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_uri_parse_params ( uri : * mut :: std :: os :: raw :: c_char , param_func : aeron_uri_parse_callback_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_udp_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_uri_parse ( uri : * mut :: std :: os :: raw :: c_char , params : * mut aeron_ipc_channel_params_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , params : * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_close ( params : * mut aeron_uri_t ) ; } extern "C" { pub fn aeron_uri_multicast_ttl ( uri : * mut aeron_uri_t ) -> u8 ; } extern "C" { pub fn aeron_uri_find_param_value ( uri_params : * const aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn aeron_uri_get_int64 ( uri_params : * mut aeron_uri_params_t , key : * const :: std :: os :: raw :: c_char , retval : * mut i64 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_driver_conductor_t = aeron_driver_conductor_stct ; extern "C" { pub fn aeron_uri_publication_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_publication_params_t , context : * mut aeron_driver_conductor_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_subscription_params ( uri : * mut aeron_uri_t , params : * mut aeron_uri_subscription_params_t , conductor : * mut aeron_driver_conductor_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_uri_parse_tag ( tag_str : * const :: std :: os :: raw :: c_char ) -> i64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : size_t , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type socklen_t = __socklen_t ; pub type sa_family_t = :: std :: os :: raw :: c_ushort ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr { pub sa_family : sa_family_t , pub sa_data : [ :: std :: os :: raw :: c_char ; 14usize ] , } # [ test ] fn bindgen_test_layout_sockaddr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( sockaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr > ( ) ) ) . sa_data as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr ) , "::" , stringify ! ( sa_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sockaddr_storage { pub ss_family : sa_family_t , pub __ss_padding : [ :: std :: os :: raw :: c_char ; 118usize ] , pub __ss_align : :: std :: os :: raw :: c_ulong , } # [ test ] fn bindgen_test_layout_sockaddr_storage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sockaddr_storage > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sockaddr_storage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sockaddr_storage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . ss_family as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( ss_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_padding as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sockaddr_storage > ( ) ) ) . __ss_align as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sockaddr_storage ) , "::" , stringify ! ( __ss_align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct msghdr { pub msg_name : * mut :: std :: os :: raw :: c_void , pub msg_namelen : socklen_t , pub msg_iov : * mut iovec , pub msg_iovlen : size_t , pub msg_control : * mut :: std :: os :: raw :: c_void , pub msg_controllen : size_t , pub msg_flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_msghdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < msghdr > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < msghdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( msghdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_namelen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_namelen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_iovlen as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_iovlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_control as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_controllen as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_controllen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < msghdr > ( ) ) ) . msg_flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( msghdr ) , "::" , stringify ! ( msg_flags ) ) ) ; } pub type in_addr_t = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in_addr { pub s_addr : in_addr_t , } # [ test ] fn bindgen_test_layout_in_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in_addr > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in_addr > ( ) ) ) . s_addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in_addr ) , "::" , stringify ! ( s_addr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct in6_addr { pub __in6_u : in6_addr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union in6_addr__bindgen_ty_1 { pub __u6_addr8 : [ u8 ; 16usize ] , pub __u6_addr16 : [ u16 ; 8usize ] , pub __u6_addr32 : [ u32 ; 4usize ] , _bindgen_union_align : [ u32 ; 4usize ] , } # [ test ] fn bindgen_test_layout_in6_addr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr8 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr16 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr__bindgen_ty_1 > ( ) ) ) . __u6_addr32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( __u6_addr32 ) ) ) ; } # [ test ] fn bindgen_test_layout_in6_addr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < in6_addr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < in6_addr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( in6_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < in6_addr > ( ) ) ) . __in6_u as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( in6_addr ) , "::" , stringify ! ( __in6_u ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct addrinfo { pub ai_flags : :: std :: os :: raw :: c_int , pub ai_family : :: std :: os :: raw :: c_int , pub ai_socktype : :: std :: os :: raw :: c_int , pub ai_protocol : :: std :: os :: raw :: c_int , pub ai_addrlen : socklen_t , pub ai_addr : * mut sockaddr , pub ai_canonname : * mut :: std :: os :: raw :: c_char , pub ai_next : * mut addrinfo , } # [ test ] fn bindgen_test_layout_addrinfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < addrinfo > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < addrinfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( addrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_family as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_socktype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_socktype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_protocol as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_protocol ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addrlen as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addrlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_canonname as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_canonname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < addrinfo > ( ) ) ) . ai_next as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( addrinfo ) , "::" , stringify ! ( ai_next ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ifaddrs { pub ifa_next : * mut ifaddrs , pub ifa_name : * mut :: std :: os :: raw :: c_char , pub ifa_flags : :: std :: os :: raw :: c_uint , pub ifa_addr : * mut sockaddr , pub ifa_netmask : * mut sockaddr , pub ifa_ifu : ifaddrs__bindgen_ty_1 , pub ifa_data : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ifaddrs__bindgen_ty_1 { pub ifu_broadaddr : * mut sockaddr , pub ifu_dstaddr : * mut sockaddr , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ifaddrs__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_broadaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_broadaddr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs__bindgen_ty_1 > ( ) ) ) . ifu_dstaddr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs__bindgen_ty_1 ) , "::" , stringify ! ( ifu_dstaddr ) ) ) ; } # [ test ] fn bindgen_test_layout_ifaddrs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ifaddrs > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ifaddrs > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ifaddrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_addr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_netmask as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_netmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_ifu as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_ifu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ifaddrs > ( ) ) ) . ifa_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ifaddrs ) , "::" , stringify ! ( ifa_data ) ) ) ; } pub type aeron_socket_t = :: std :: os :: raw :: c_int ; extern "C" { pub fn aeron_socket ( domain : :: std :: os :: raw :: c_int , type_ : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> aeron_socket_t ; } extern "C" { pub fn aeron_close_socket ( socket : aeron_socket_t ) ; } extern "C" { pub fn aeron_net_init ( ) ; } extern "C" { pub fn aeron_getsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * mut :: std :: os :: raw :: c_void , optlen : * mut socklen_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_setsockopt ( fd : aeron_socket_t , level : :: std :: os :: raw :: c_int , optname : :: std :: os :: raw :: c_int , optval : * const :: std :: os :: raw :: c_void , optlen : socklen_t ) -> :: std :: os :: raw :: c_int ; } pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_SENDER : aeron_udp_channel_transport_affinity_en = 0 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_RECEIVER : aeron_udp_channel_transport_affinity_en = 1 ; pub const aeron_udp_channel_transport_affinity_en_AERON_UDP_CHANNEL_TRANSPORT_AFFINITY_CONDUCTOR : aeron_udp_channel_transport_affinity_en = 2 ; pub type aeron_udp_channel_transport_affinity_en = u32 ; pub use self :: aeron_udp_channel_transport_affinity_en as aeron_udp_channel_transport_affinity_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct mmsghdr { _unused : [ u8 ; 0 ] , } pub type aeron_udp_channel_transport_t = aeron_udp_channel_transport_stct ; pub type aeron_udp_transport_poller_t = aeron_udp_transport_poller_stct ; pub type aeron_udp_channel_data_paths_t = aeron_udp_channel_data_paths_stct ; pub type aeron_udp_channel_transport_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_recv_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_transport_recvmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_sendmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_get_so_rcvbuf_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_transport_bind_addr_and_port_func_t = :: std :: option :: Option < unsafe extern "C" fn ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_add_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_remove_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_transport_poller_poll_func_t = :: std :: option :: Option < unsafe extern "C" fn ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct { pub init_func : aeron_udp_channel_transport_init_func_t , pub close_func : aeron_udp_channel_transport_close_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub get_so_rcvbuf_func : aeron_udp_channel_transport_get_so_rcvbuf_func_t , pub bind_addr_and_port_func : aeron_udp_channel_transport_bind_addr_and_port_func_t , pub poller_init_func : aeron_udp_transport_poller_init_func_t , pub poller_close_func : aeron_udp_transport_poller_close_func_t , pub poller_add_func : aeron_udp_transport_poller_add_func_t , pub poller_remove_func : aeron_udp_transport_poller_remove_func_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub meta_info : aeron_udp_channel_transport_bindings_stct_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_bindings_stct_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_binding : * const aeron_udp_channel_transport_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . next_binding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( next_binding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . close_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . get_so_rcvbuf_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( get_so_rcvbuf_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . bind_addr_and_port_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( bind_addr_and_port_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_init_func as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_close_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_add_func as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_add_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_remove_func as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_remove_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_bindings_load_media ( bindings_name : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_transport_bindings_t ; } pub type aeron_udp_channel_interceptor_bindings_load_func_t = :: std :: option :: Option < unsafe extern "C" fn ( delegate_bindings : * mut aeron_udp_channel_interceptor_bindings_t ) -> * mut aeron_udp_channel_interceptor_bindings_t > ; extern "C" { pub fn aeron_udp_channel_interceptor_bindings_load ( existing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , interceptors : * const :: std :: os :: raw :: c_char ) -> * mut aeron_udp_channel_interceptor_bindings_t ; } pub type aeron_udp_channel_outgoing_interceptor_t = aeron_udp_channel_outgoing_interceptor_stct ; pub type aeron_udp_channel_incoming_interceptor_t = aeron_udp_channel_incoming_interceptor_stct ; pub type aeron_udp_channel_interceptor_outgoing_mmsg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_outgoing_msg_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_outgoing_interceptor_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_incoming_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void , delegate : * mut aeron_udp_channel_incoming_interceptor_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) > ; pub type aeron_udp_channel_interceptor_init_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut * mut :: std :: os :: raw :: c_void , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_udp_channel_interceptor_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( interceptor_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct { pub outgoing_init_func : aeron_udp_channel_interceptor_init_func_t , pub incoming_init_func : aeron_udp_channel_interceptor_init_func_t , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub outgoing_close_func : aeron_udp_channel_interceptor_close_func_t , pub incoming_close_func : aeron_udp_channel_interceptor_close_func_t , pub meta_info : aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields { pub name : * const :: std :: os :: raw :: c_char , pub type_ : * const :: std :: os :: raw :: c_char , pub next_interceptor_bindings : * const aeron_udp_channel_interceptor_bindings_t , pub source_symbol : * const :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . next_interceptor_bindings as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( next_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields > ( ) ) ) . source_symbol as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct_interceptor_meta_info_fields ) , "::" , stringify ! ( source_symbol ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_channel_interceptor_bindings_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_interceptor_bindings_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_init_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_init_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_init_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . outgoing_close_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( outgoing_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . incoming_close_func as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( incoming_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_interceptor_bindings_stct > ( ) ) ) . meta_info as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_interceptor_bindings_stct ) , "::" , stringify ! ( meta_info ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_outgoing_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub outgoing_mmsg_func : aeron_udp_channel_interceptor_outgoing_mmsg_func_t , pub outgoing_msg_func : aeron_udp_channel_interceptor_outgoing_msg_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_outgoing_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_outgoing_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_mmsg_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_mmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . outgoing_msg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( outgoing_msg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_outgoing_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_outgoing_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_incoming_interceptor_stct { pub interceptor_state : * mut :: std :: os :: raw :: c_void , pub incoming_func : aeron_udp_channel_interceptor_incoming_func_t , pub close_func : aeron_udp_channel_interceptor_close_func_t , pub next_interceptor : * mut aeron_udp_channel_incoming_interceptor_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_incoming_interceptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_incoming_interceptor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . interceptor_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( interceptor_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . incoming_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( incoming_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . close_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_incoming_interceptor_stct > ( ) ) ) . next_interceptor as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_incoming_interceptor_stct ) , "::" , stringify ! ( next_interceptor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_data_paths_stct { pub outgoing_interceptors : * mut aeron_udp_channel_outgoing_interceptor_t , pub incoming_interceptors : * mut aeron_udp_channel_incoming_interceptor_t , pub sendmmsg_func : aeron_udp_channel_transport_sendmmsg_func_t , pub sendmsg_func : aeron_udp_channel_transport_sendmsg_func_t , pub recv_func : aeron_udp_transport_recv_func_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_data_paths_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_data_paths_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_data_paths_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_data_paths_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . outgoing_interceptors as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( outgoing_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . incoming_interceptors as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( incoming_interceptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmmsg_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . sendmsg_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( sendmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_data_paths_stct > ( ) ) ) . recv_func as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_data_paths_stct ) , "::" , stringify ! ( recv_func ) ) ) ; } extern "C" { pub fn aeron_udp_channel_data_paths_init ( data_paths : * mut aeron_udp_channel_data_paths_t , outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , media_bindings : * mut aeron_udp_channel_transport_bindings_t , recv_func : aeron_udp_transport_recv_func_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_data_paths_delete ( data_paths : * mut aeron_udp_channel_data_paths_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_frame_header_stct { pub frame_length : i32 , pub version : i8 , pub flags : u8 , pub type_ : i16 , } # [ test ] fn bindgen_test_layout_aeron_frame_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_frame_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_frame_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_frame_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . frame_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( frame_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . version as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . flags as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_frame_header_stct > ( ) ) ) . type_ as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( aeron_frame_header_stct ) , "::" , stringify ! ( type_ ) ) ) ; } pub type aeron_frame_header_t = aeron_frame_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_setup_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_length : i32 , pub mtu : i32 , pub ttl : i32 , } # [ test ] fn bindgen_test_layout_aeron_setup_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_setup_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_setup_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_setup_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . active_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . term_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . mtu as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( mtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_setup_header_stct > ( ) ) ) . ttl as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_setup_header_stct ) , "::" , stringify ! ( ttl ) ) ) ; } pub type aeron_setup_header_t = aeron_setup_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_header_stct { pub frame_header : aeron_frame_header_t , pub term_offset : i32 , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub reserved_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_data_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_header_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . session_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . term_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_header_stct > ( ) ) ) . reserved_value as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_header_stct ) , "::" , stringify ! ( reserved_value ) ) ) ; } pub type aeron_data_header_t = aeron_data_header_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_nak_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub term_id : i32 , pub term_offset : i32 , pub length : i32 , } # [ test ] fn bindgen_test_layout_aeron_nak_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_nak_header_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_nak_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_nak_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_nak_header_stct > ( ) ) ) . length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_nak_header_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_nak_header_t = aeron_nak_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub consumption_term_id : i32 , pub consumption_term_offset : i32 , pub receiver_window : i32 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_header_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . consumption_term_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( consumption_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_window as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_status_message_header_t = aeron_status_message_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_status_message_optional_header_stct { pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_status_message_optional_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_status_message_optional_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_status_message_optional_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_status_message_optional_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_status_message_optional_header_stct > ( ) ) ) . group_tag as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_status_message_optional_header_stct ) , "::" , stringify ! ( group_tag ) ) ) ; } pub type aeron_status_message_optional_header_t = aeron_status_message_optional_header_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rttm_header_stct { pub frame_header : aeron_frame_header_t , pub session_id : i32 , pub stream_id : i32 , pub echo_timestamp : i64 , pub reception_delta : i64 , pub receiver_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_rttm_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rttm_header_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rttm_header_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rttm_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . frame_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( frame_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . echo_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( echo_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . reception_delta as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( reception_delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rttm_header_stct > ( ) ) ) . receiver_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rttm_header_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; } pub type aeron_rttm_header_t = aeron_rttm_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_stct { pub res_type : i8 , pub res_flags : u8 , pub udp_port : u16 , pub age_in_ms : i32 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . res_flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( res_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . udp_port as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( udp_port ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_stct > ( ) ) ) . age_in_ms as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_stct ) , "::" , stringify ! ( age_in_ms ) ) ) ; } pub type aeron_resolution_header_t = aeron_resolution_header_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv4_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 4usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv4_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv4_stct > ( ) , 14usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv4_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv4_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv4_stct > ( ) ) ) . name_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv4_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv4_t = aeron_resolution_header_ipv4_stct ; # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_resolution_header_ipv6_stct { pub resolution_header : aeron_resolution_header_t , pub addr : [ u8 ; 16usize ] , pub name_length : i16 , } # [ test ] fn bindgen_test_layout_aeron_resolution_header_ipv6_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_resolution_header_ipv6_stct > ( ) , 26usize , concat ! ( "Size of: " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_resolution_header_ipv6_stct > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( aeron_resolution_header_ipv6_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . resolution_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( resolution_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . addr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_resolution_header_ipv6_stct > ( ) ) ) . name_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_resolution_header_ipv6_stct ) , "::" , stringify ! ( name_length ) ) ) ; } pub type aeron_resolution_header_ipv6_t = aeron_resolution_header_ipv6_stct ; extern "C" { pub fn aeron_udp_protocol_group_tag ( sm : * mut aeron_status_message_header_t , group_tag : * mut i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_res_header_entry_length_ipv4 ( header : * mut aeron_resolution_header_ipv4_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length_ipv6 ( header : * mut aeron_resolution_header_ipv6_t ) -> size_t ; } extern "C" { pub fn aeron_res_header_entry_length ( res : * mut :: std :: os :: raw :: c_void , remaining : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_logbuffer_metadata_stct { pub term_tail_counters : [ i64 ; 3usize ] , pub active_term_count : i32 , pub pad1 : [ u8 ; 100usize ] , pub end_of_stream_position : i64 , pub is_connected : i32 , pub active_transport_count : i32 , pub pad2 : [ u8 ; 112usize ] , pub correlation_id : i64 , pub initial_term_id : i32 , pub default_frame_header_length : i32 , pub mtu_length : i32 , pub term_length : i32 , pub page_size : i32 , pub pad3 : [ u8 ; 36usize ] , } # [ test ] fn bindgen_test_layout_aeron_logbuffer_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_logbuffer_metadata_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_logbuffer_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_logbuffer_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_tail_counters as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_tail_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_term_count as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_term_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . end_of_stream_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( end_of_stream_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . is_connected as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . active_transport_count as * const _ as usize } , 140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( active_transport_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad2 as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . correlation_id as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . default_frame_header_length as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( default_frame_header_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . mtu_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . term_length as * const _ as usize } , 276usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_logbuffer_metadata_stct > ( ) ) ) . pad3 as * const _ as usize } , 284usize , concat ! ( "Offset of field: " , stringify ! ( aeron_logbuffer_metadata_stct ) , "::" , stringify ! ( pad3 ) ) ) ; } pub type aeron_logbuffer_metadata_t = aeron_logbuffer_metadata_stct ; extern "C" { pub fn aeron_logbuffer_check_term_length ( term_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_logbuffer_check_page_size ( page_size : u64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_file_stct { pub addr : * mut :: std :: os :: raw :: c_void , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_file_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_file_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_file_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_file_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_file_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_file_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_file_t = aeron_mapped_file_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_buffer_stct { pub addr : * mut u8 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_buffer_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_buffer_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_buffer_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_buffer_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_buffer_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_buffer_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_mapped_buffer_t = aeron_mapped_buffer_stct ; extern "C" { pub fn aeron_is_directory ( path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_new_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char , fill_with_zeroes : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_file ( mapped_file : * mut aeron_mapped_file_t , path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unmap ( mapped_file : * mut aeron_mapped_file_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_usable_fs_space_func_t = :: std :: option :: Option < unsafe extern "C" fn ( path : * const :: std :: os :: raw :: c_char ) -> u64 > ; extern "C" { pub fn aeron_file_length ( path : * const :: std :: os :: raw :: c_char ) -> i64 ; } extern "C" { pub fn aeron_usable_fs_space ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } extern "C" { pub fn aeron_usable_fs_space_disabled ( path : * const :: std :: os :: raw :: c_char ) -> u64 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mapped_raw_log_stct { pub term_buffers : [ aeron_mapped_buffer_t ; 3usize ] , pub log_meta_data : aeron_mapped_buffer_t , pub mapped_file : aeron_mapped_file_t , pub term_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mapped_raw_log_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mapped_raw_log_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mapped_raw_log_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mapped_raw_log_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . mapped_file as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( mapped_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mapped_raw_log_stct > ( ) ) ) . term_length as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mapped_raw_log_stct ) , "::" , stringify ! ( term_length ) ) ) ; } pub type aeron_mapped_raw_log_t = aeron_mapped_raw_log_stct ; extern "C" { pub fn aeron_ipc_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_location ( dst : * mut :: std :: os :: raw :: c_char , length : size_t , aeron_dir : * const :: std :: os :: raw :: c_char , correlation_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_temp_filename ( filename : * mut :: std :: os :: raw :: c_char , length : size_t ) -> size_t ; } pub type aeron_map_raw_log_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , arg2 : * const :: std :: os :: raw :: c_char , arg3 : bool , arg4 : u64 , arg5 : u64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_map_raw_log_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_map_raw_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , use_sparse_files : bool , term_length : u64 , page_size : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_existing_log ( mapped_raw_log : * mut aeron_mapped_raw_log_t , path : * const :: std :: os :: raw :: c_char , pre_touch : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_map_raw_log_close ( mapped_raw_log : * mut aeron_mapped_raw_log_t , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub const aeron_queue_offer_result_stct_AERON_OFFER_SUCCESS : aeron_queue_offer_result_stct = 0 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_ERROR : aeron_queue_offer_result_stct = -2 ; pub const aeron_queue_offer_result_stct_AERON_OFFER_FULL : aeron_queue_offer_result_stct = -1 ; pub type aeron_queue_offer_result_stct = i32 ; pub use self :: aeron_queue_offer_result_stct as aeron_queue_offer_result_t ; pub type aeron_queue_drain_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub padding : [ i8 ; 48usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_spsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_spsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_spsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_spsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_spsc_concurrent_array_queue_t = aeron_spsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_spsc_concurrent_array_queue_init ( queue : * mut aeron_spsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_spsc_concurrent_array_queue_close ( queue : * mut aeron_spsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct { pub padding : [ i8 ; 64usize ] , pub producer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 , pub consumer : aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 , pub capacity : u64 , pub mask : u64 , pub buffer : * mut * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 { pub tail : u64 , pub head_cache : u64 , pub shared_head_cache : u64 , pub padding : [ i8 ; 40usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . tail as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . head_cache as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . shared_head_cache as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( shared_head_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 > ( ) ) ) . padding as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_1 ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 { pub head : u64 , pub padding : [ i8 ; 56usize ] , } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 > ( ) ) ) . padding as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct__bindgen_ty_2 ) , "::" , stringify ! ( padding ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_mpsc_concurrent_array_queue_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_concurrent_array_queue_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . producer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( producer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . consumer as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( consumer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . capacity as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . mask as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_concurrent_array_queue_stct > ( ) ) ) . buffer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_concurrent_array_queue_stct ) , "::" , stringify ! ( buffer ) ) ) ; } pub type aeron_mpsc_concurrent_array_queue_t = aeron_mpsc_concurrent_array_queue_stct ; extern "C" { pub fn aeron_mpsc_concurrent_array_queue_init ( queue : * mut aeron_mpsc_concurrent_array_queue_t , length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_concurrent_array_queue_close ( queue : * mut aeron_mpsc_concurrent_array_queue_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_descriptor_stct { pub begin_pad : [ u8 ; 128usize ] , pub tail_position : i64 , pub tail_pad : [ u8 ; 120usize ] , pub head_cache_position : i64 , pub head_cache_pad : [ u8 ; 120usize ] , pub head_position : i64 , pub head_pad : [ u8 ; 120usize ] , pub correlation_counter : i64 , pub correlation_counter_pad : [ u8 ; 120usize ] , pub consumer_heartbeat : i64 , pub consumer_heartbeat_pad : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_rb_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_descriptor_stct > ( ) , 768usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . begin_pad as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( begin_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . tail_pad as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( tail_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_position as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_cache_pad as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_cache_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_position as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . head_pad as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( head_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . correlation_counter_pad as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( correlation_counter_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_descriptor_stct > ( ) ) ) . consumer_heartbeat_pad as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_descriptor_stct ) , "::" , stringify ! ( consumer_heartbeat_pad ) ) ) ; } pub type aeron_rb_descriptor_t = aeron_rb_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_rb_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_rb_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_rb_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_rb_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_rb_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_rb_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_rb_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_rb_record_descriptor_t = aeron_rb_record_descriptor_stct ; pub const aeron_rb_write_result_stct_AERON_RB_SUCCESS : aeron_rb_write_result_stct = 0 ; pub const aeron_rb_write_result_stct_AERON_RB_ERROR : aeron_rb_write_result_stct = -2 ; pub const aeron_rb_write_result_stct_AERON_RB_FULL : aeron_rb_write_result_stct = -1 ; pub type aeron_rb_write_result_stct = i32 ; pub use self :: aeron_rb_write_result_stct as aeron_rb_write_result_t ; pub type aeron_rb_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : * const :: std :: os :: raw :: c_void , arg3 : size_t , arg4 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_mpsc_rb_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_rb_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_mpsc_rb_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_mpsc_rb_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_mpsc_rb_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_mpsc_rb_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_mpsc_rb_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_mpsc_rb_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_mpsc_rb_t = aeron_mpsc_rb_stct ; extern "C" { pub fn aeron_mpsc_rb_init ( ring_buffer : * mut aeron_mpsc_rb_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_mpsc_rb_write ( ring_buffer : * mut aeron_mpsc_rb_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> aeron_rb_write_result_t ; } extern "C" { pub fn aeron_mpsc_rb_read ( ring_buffer : * mut aeron_mpsc_rb_t , handler : aeron_rb_handler_t , clientd : * mut :: std :: os :: raw :: c_void , message_count_limit : size_t ) -> size_t ; } extern "C" { pub fn aeron_mpsc_rb_next_correlation_id ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time ( ring_buffer : * mut aeron_mpsc_rb_t , now_ms : i64 ) ; } extern "C" { pub fn aeron_mpsc_rb_consumer_heartbeat_time_value ( ring_buffer : * mut aeron_mpsc_rb_t ) -> i64 ; } extern "C" { pub fn aeron_mpsc_rb_unblock ( ring_buffer : * mut aeron_mpsc_rb_t ) -> bool ; } pub type aeron_flow_control_strategy_on_idle_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , snd_lmt : i64 , snd_pos : i64 , is_end_of_stream : bool ) -> i64 > ; pub type aeron_flow_control_strategy_on_sm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , sm : * const u8 , length : size_t , recv_addr : * mut sockaddr_storage , snd_lmt : i64 , initial_term_id : i32 , position_bits_to_shift : size_t , now_ns : i64 ) -> i64 > ; pub type aeron_flow_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; pub type aeron_flow_control_strategy_has_required_receivers = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_flow_control_strategy_t ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_stct { pub on_status_message : aeron_flow_control_strategy_on_sm_func_t , pub on_idle : aeron_flow_control_strategy_on_idle_func_t , pub fini : aeron_flow_control_strategy_fini_func_t , pub has_required_receivers : aeron_flow_control_strategy_has_required_receivers , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_status_message as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_status_message ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . on_idle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( on_idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . has_required_receivers as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( has_required_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_flow_control_strategy_has_required_receivers_default ( strategy : * mut aeron_flow_control_strategy_t ) -> bool ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct { pub strategy_name_length : size_t , pub strategy_name : * const :: std :: os :: raw :: c_char , pub group_tag : aeron_flow_control_tagged_options_stct__bindgen_ty_1 , pub timeout_ns : aeron_flow_control_tagged_options_stct__bindgen_ty_2 , pub group_min_size : aeron_flow_control_tagged_options_stct__bindgen_ty_3 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_2 { pub is_present : bool , pub value : u64 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_2 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_2 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_tagged_options_stct__bindgen_ty_3 { pub is_present : bool , pub value : i32 , } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct__bindgen_ty_3 > ( ) ) ) . value as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct__bindgen_ty_3 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_flow_control_tagged_options_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_tagged_options_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_tagged_options_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_tagged_options_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . strategy_name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_tagged_options_stct > ( ) ) ) . group_min_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_tagged_options_stct ) , "::" , stringify ! ( group_min_size ) ) ) ; } pub type aeron_flow_control_tagged_options_t = aeron_flow_control_tagged_options_stct ; extern "C" { pub fn aeron_flow_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_flow_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_max_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_unicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_min_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_buffer_capacity : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_tagged_flow_control_strategy_to_string ( strategy : * mut aeron_flow_control_strategy_t , buffer : * mut :: std :: os :: raw :: c_char , buffer_len : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_multicast_flow_control_strategy_supplier ( strategy : * mut * mut aeron_flow_control_strategy_t , context : * mut aeron_driver_context_t , channel : * const aeron_udp_channel_t , stream_id : i32 , registration_id : i64 , initial_term_id : i32 , term_length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_flow_control_strategy_supplier_func_table_entry_stct { pub name : * const :: std :: os :: raw :: c_char , pub supplier_func : aeron_flow_control_strategy_supplier_func_t , } # [ test ] fn bindgen_test_layout_aeron_flow_control_strategy_supplier_func_table_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_flow_control_strategy_supplier_func_table_entry_stct > ( ) ) ) . supplier_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_flow_control_strategy_supplier_func_table_entry_stct ) , "::" , stringify ! ( supplier_func ) ) ) ; } pub type aeron_flow_control_strategy_supplier_func_table_entry_t = aeron_flow_control_strategy_supplier_func_table_entry_stct ; extern "C" { pub fn aeron_flow_control_parse_tagged_options ( options_length : size_t , options : * const :: std :: os :: raw :: c_char , flow_control_options : * mut aeron_flow_control_tagged_options_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_congestion_control_strategy_should_measure_rtt_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 ) -> bool > ; pub type aeron_congestion_control_strategy_on_rttm_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , now_ns : i64 , rtt_ns : i64 , source_address : * mut sockaddr_storage ) > ; pub type aeron_congestion_control_strategy_on_track_rebuild_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void , should_force_sm : * mut bool , now_ns : i64 , new_consumption_position : i64 , last_sm_position : i64 , hwm_position : i64 , starting_rebuild_position : i64 , ending_rebuild_position : i64 , loss_occurred : bool ) -> i32 > ; pub type aeron_congestion_control_strategy_initial_window_length_func_t = :: std :: option :: Option < unsafe extern "C" fn ( state : * mut :: std :: os :: raw :: c_void ) -> i32 > ; pub type aeron_congestion_control_strategy_fini_func_t = :: std :: option :: Option < unsafe extern "C" fn ( strategy : * mut aeron_congestion_control_strategy_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_congestion_control_strategy_stct { pub should_measure_rtt : aeron_congestion_control_strategy_should_measure_rtt_func_t , pub on_rttm : aeron_congestion_control_strategy_on_rttm_func_t , pub on_track_rebuild : aeron_congestion_control_strategy_on_track_rebuild_func_t , pub initial_window_length : aeron_congestion_control_strategy_initial_window_length_func_t , pub fini : aeron_congestion_control_strategy_fini_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_congestion_control_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_congestion_control_strategy_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_congestion_control_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_congestion_control_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . should_measure_rtt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( should_measure_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_rttm as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_rttm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . on_track_rebuild as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( on_track_rebuild ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . fini as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( fini ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_congestion_control_strategy_stct > ( ) ) ) . state as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_congestion_control_strategy_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_congestion_control_strategy_supplier_load ( strategy_name : * const :: std :: os :: raw :: c_char ) -> aeron_congestion_control_strategy_supplier_func_t ; } extern "C" { pub fn aeron_static_window_congestion_control_strategy_supplier ( strategy : * mut * mut aeron_congestion_control_strategy_t , channel_length : size_t , channel : * const :: std :: os :: raw :: c_char , stream_id : i32 , session_id : i32 , registration_id : i64 , term_length : i32 , sender_mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_semantic_version_compose ( major : u8 , minor : u8 , patch : u8 ) -> i32 ; } extern "C" { pub fn aeron_semantic_version_major ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_minor ( version : i32 ) -> u8 ; } extern "C" { pub fn aeron_semantic_version_patch ( version : i32 ) -> u8 ; } pub type aeron_agent_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type aeron_agent_on_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_idle_strategy_stct { pub idle : aeron_idle_strategy_func_t , pub init : aeron_idle_strategy_init_func_t , } # [ test ] fn bindgen_test_layout_aeron_idle_strategy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_idle_strategy_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_idle_strategy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_idle_strategy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_idle_strategy_stct > ( ) ) ) . init as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_idle_strategy_stct ) , "::" , stringify ! ( init ) ) ) ; } pub type aeron_idle_strategy_t = aeron_idle_strategy_stct ; extern "C" { pub fn aeron_idle_strategy_sleeping_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_yielding_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_busy_spinning_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_noop_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_idle ( state : * mut :: std :: os :: raw :: c_void , work_count : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn aeron_idle_strategy_backoff_state_init ( state : * mut * mut :: std :: os :: raw :: c_void , max_spins : u64 , max_yields : u64 , min_park_period_ns : u64 , max_park_period_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_idle_strategy_init_null ( state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_agent_runner_stct { pub role_name : * const :: std :: os :: raw :: c_char , pub agent_state : * mut :: std :: os :: raw :: c_void , pub idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub on_start_state : * mut :: std :: os :: raw :: c_void , pub on_start : aeron_agent_on_start_func_t , pub do_work : aeron_agent_do_work_func_t , pub on_close : aeron_agent_on_close_func_t , pub idle_strategy : aeron_idle_strategy_func_t , pub thread : aeron_thread_t , pub running : bool , pub state : u8 , } # [ test ] fn bindgen_test_layout_aeron_agent_runner_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_agent_runner_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_agent_runner_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_agent_runner_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . role_name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( role_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . agent_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( agent_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy_state as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start_state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_start as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . do_work as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( do_work ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . on_close as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( on_close ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . idle_strategy as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( idle_strategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . thread as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( thread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . running as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( running ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_agent_runner_stct > ( ) ) ) . state as * const _ as usize } , 73usize , concat ! ( "Offset of field: " , stringify ! ( aeron_agent_runner_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_agent_runner_t = aeron_agent_runner_stct ; extern "C" { pub fn aeron_idle_strategy_load ( idle_strategy_name : * const :: std :: os :: raw :: c_char , idle_strategy_state : * mut * mut :: std :: os :: raw :: c_void , env_var : * const :: std :: os :: raw :: c_char , load_args : * const :: std :: os :: raw :: c_char ) -> aeron_idle_strategy_func_t ; } extern "C" { pub fn aeron_agent_on_start_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_agent_on_start_func_t ; } extern "C" { pub fn aeron_agent_init ( runner : * mut aeron_agent_runner_t , role_name : * const :: std :: os :: raw :: c_char , state : * mut :: std :: os :: raw :: c_void , on_start : aeron_agent_on_start_func_t , on_start_state : * mut :: std :: os :: raw :: c_void , do_work : aeron_agent_do_work_func_t , on_close : aeron_agent_on_close_func_t , idle_strategy_func : aeron_idle_strategy_func_t , idle_strategy_state : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_start ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_stop ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_agent_close ( runner : * mut aeron_agent_runner_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_value_descriptor_stct { pub counter_value : i64 , pub pad1 : [ u8 ; 120usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_value_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_value_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_value_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_value_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . counter_value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( counter_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_value_descriptor_stct > ( ) ) ) . pad1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_value_descriptor_stct ) , "::" , stringify ! ( pad1 ) ) ) ; } pub type aeron_counter_value_descriptor_t = aeron_counter_value_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_metadata_descriptor_stct { pub state : i32 , pub type_id : i32 , pub free_to_reuse_deadline : i64 , pub key : [ u8 ; 112usize ] , pub label_length : i32 , pub label : [ u8 ; 380usize ] , } # [ test ] fn bindgen_test_layout_aeron_counter_metadata_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_metadata_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_metadata_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( type_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . free_to_reuse_deadline as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( free_to_reuse_deadline ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . key as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label_length as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_metadata_descriptor_stct > ( ) ) ) . label as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_metadata_descriptor_stct ) , "::" , stringify ! ( label ) ) ) ; } pub type aeron_counter_metadata_descriptor_t = aeron_counter_metadata_descriptor_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_stream_position_counter_key_layout_stct { pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 92usize ] , } # [ test ] fn bindgen_test_layout_aeron_stream_position_counter_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_stream_position_counter_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_stream_position_counter_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_stream_position_counter_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_stream_position_counter_key_layout_t = aeron_stream_position_counter_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_channel_endpoint_status_key_layout_stct { pub channel_length : i32 , pub channel : [ :: std :: os :: raw :: c_char ; 108usize ] , } # [ test ] fn bindgen_test_layout_aeron_channel_endpoint_status_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_channel_endpoint_status_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel_length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_channel_endpoint_status_key_layout_stct > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_channel_endpoint_status_key_layout_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_channel_endpoint_status_key_layout_t = aeron_channel_endpoint_status_key_layout_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_heartbeat_timestamp_key_layout_stct { pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_heartbeat_timestamp_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_heartbeat_timestamp_key_layout_stct > ( ) ) ) . registration_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_heartbeat_timestamp_key_layout_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_heartbeat_timestamp_key_layout_t = aeron_heartbeat_timestamp_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_local_sockaddr_key_layout_stct { pub channel_status_id : i32 , pub local_sockaddr_len : i32 , pub local_sockaddr : [ :: std :: os :: raw :: c_char ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_local_sockaddr_key_layout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_local_sockaddr_key_layout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . channel_status_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( channel_status_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_local_sockaddr_key_layout_stct > ( ) ) ) . local_sockaddr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_local_sockaddr_key_layout_stct ) , "::" , stringify ! ( local_sockaddr ) ) ) ; } pub type aeron_local_sockaddr_key_layout_t = aeron_local_sockaddr_key_layout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_manager_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub id_high_water_mark : i32 , pub free_list : * mut i32 , pub free_list_index : i32 , pub free_list_length : size_t , pub clock_func : aeron_clock_func_t , pub free_to_reuse_timeout_ms : i64 , } # [ test ] fn bindgen_test_layout_aeron_counters_manager_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_manager_stct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_manager_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_manager_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . id_high_water_mark as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( id_high_water_mark ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_index as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_list_length as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_list_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . clock_func as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( clock_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_manager_stct > ( ) ) ) . free_to_reuse_timeout_ms as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_manager_stct ) , "::" , stringify ! ( free_to_reuse_timeout_ms ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counters_reader_stct { pub values : * mut u8 , pub metadata : * mut u8 , pub values_length : size_t , pub metadata_length : size_t , pub max_counter_id : size_t , } # [ test ] fn bindgen_test_layout_aeron_counters_reader_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counters_reader_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counters_reader_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counters_reader_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . values_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( values_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . metadata_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( metadata_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counters_reader_stct > ( ) ) ) . max_counter_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counters_reader_stct ) , "::" , stringify ! ( max_counter_id ) ) ) ; } extern "C" { pub fn aeron_counters_manager_init ( manager : * mut aeron_counters_manager_t , metadata_buffer : * mut u8 , metadata_length : size_t , values_buffer : * mut u8 , values_length : size_t , clock_func : aeron_clock_func_t , free_to_reuse_timeout_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_counters_manager_close ( manager : * mut aeron_counters_manager_t ) ; } extern "C" { pub fn aeron_counters_manager_allocate ( manager : * mut aeron_counters_manager_t , type_id : i32 , key : * const u8 , key_length : size_t , label : * const :: std :: os :: raw :: c_char , label_length : size_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_update_label ( manager : * mut aeron_counters_manager_t , counter_id : i32 , label_length : size_t , label : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn aeron_counters_manager_next_counter_id ( manager : * mut aeron_counters_manager_t ) -> i32 ; } extern "C" { pub fn aeron_counters_manager_free ( manager : * mut aeron_counters_manager_t , counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub type aeron_counters_reader_foreach_metadata_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : i32 , arg2 : i32 , arg3 : * const u8 , arg4 : size_t , arg5 : * const u8 , arg6 : size_t , arg7 : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn aeron_counters_reader_foreach_metadata ( metadata_buffer : * mut u8 , metadata_length : size_t , func : aeron_counters_reader_foreach_metadata_func_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_SENT : aeron_system_counter_enum_stct = 0 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_BYTES_RECEIVED : aeron_system_counter_enum_stct = 1 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RECEIVER_PROXY_FAILS : aeron_system_counter_enum_stct = 2 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_PROXY_FAILS : aeron_system_counter_enum_stct = 3 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONDUCTOR_PROXY_FAILS : aeron_system_counter_enum_stct = 4 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_SENT : aeron_system_counter_enum_stct = 5 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_NAK_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 6 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_SENT : aeron_system_counter_enum_stct = 7 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_STATUS_MESSAGES_RECEIVED : aeron_system_counter_enum_stct = 8 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_SENT : aeron_system_counter_enum_stct = 9 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_HEARTBEATS_RECEIVED : aeron_system_counter_enum_stct = 10 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RETRANSMITS_SENT : aeron_system_counter_enum_stct = 11 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_UNDER_RUNS : aeron_system_counter_enum_stct = 12 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FLOW_CONTROL_OVER_RUNS : aeron_system_counter_enum_stct = 13 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_INVALID_PACKETS : aeron_system_counter_enum_stct = 14 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_ERRORS : aeron_system_counter_enum_stct = 15 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SHORT_SENDS : aeron_system_counter_enum_stct = 16 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_FREE_FAILS : aeron_system_counter_enum_stct = 17 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_SENDER_FLOW_CONTROL_LIMITS : aeron_system_counter_enum_stct = 18 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_PUBLICATIONS : aeron_system_counter_enum_stct = 19 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_UNBLOCKED_COMMANDS : aeron_system_counter_enum_stct = 20 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_POSSIBLE_TTL_ASYMMETRY : aeron_system_counter_enum_stct = 21 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CONTROLLABLE_IDLE_STRATEGY : aeron_system_counter_enum_stct = 22 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_LOSS_GAP_FILLS : aeron_system_counter_enum_stct = 23 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_CLIENT_TIMEOUTS : aeron_system_counter_enum_stct = 24 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_RESOLUTION_CHANGES : aeron_system_counter_enum_stct = 25 ; pub const aeron_system_counter_enum_stct_AERON_SYSTEM_COUNTER_DUMMY_LAST : aeron_system_counter_enum_stct = 26 ; pub type aeron_system_counter_enum_stct = u32 ; pub use self :: aeron_system_counter_enum_stct as aeron_system_counter_enum_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counter_stct { pub label : * const :: std :: os :: raw :: c_char , pub id : i32 , } # [ test ] fn bindgen_test_layout_aeron_system_counter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counter_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . label as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( label ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counter_stct > ( ) ) ) . id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counter_stct ) , "::" , stringify ! ( id ) ) ) ; } pub type aeron_system_counter_t = aeron_system_counter_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_system_counters_stct { pub counter_ids : * mut i32 , pub manager : * mut aeron_counters_manager_t , } # [ test ] fn bindgen_test_layout_aeron_system_counters_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_system_counters_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_system_counters_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_system_counters_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . counter_ids as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( counter_ids ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_system_counters_stct > ( ) ) ) . manager as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_system_counters_stct ) , "::" , stringify ! ( manager ) ) ) ; } pub type aeron_system_counters_t = aeron_system_counters_stct ; extern "C" { pub fn aeron_system_counters_init ( counters : * mut aeron_system_counters_t , manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_system_counters_close ( counters : * mut aeron_system_counters_t ) ; } pub type aeron_name_resolver_resolve_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int > ; # [ doc = " Resolves a name to a host:port string." ] # [ doc = "" ] # [ doc = " @return 0 if not found, 1 if found, -1 on error." ] pub type aeron_name_resolver_lookup_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_do_work_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int > ; pub type aeron_name_resolver_close_func_t = :: std :: option :: Option < unsafe extern "C" fn ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_name_resolver_stct { pub lookup_func : aeron_name_resolver_lookup_func_t , pub resolve_func : aeron_name_resolver_resolve_func_t , pub do_work_func : aeron_name_resolver_do_work_func_t , pub close_func : aeron_name_resolver_close_func_t , pub state : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_name_resolver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_name_resolver_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_name_resolver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_name_resolver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . lookup_func as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( lookup_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . resolve_func as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( resolve_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . do_work_func as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( do_work_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . close_func as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_name_resolver_stct > ( ) ) ) . state as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_name_resolver_stct ) , "::" , stringify ! ( state ) ) ) ; } extern "C" { pub fn aeron_name_resolver_supplier_load ( name : * const :: std :: os :: raw :: c_char ) -> aeron_name_resolver_supplier_func_t ; } extern "C" { pub fn aeron_name_resolver_init ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_supplier ( resolver : * mut aeron_name_resolver_t , args : * const :: std :: os :: raw :: c_char , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_resolve ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , address : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_lookup ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , resolved_name : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_do_work ( resolver : * mut aeron_name_resolver_t , now_ms : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_default_name_resolver_close ( resolver : * mut aeron_name_resolver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_name_resolver_resolve_host_and_port ( resolver : * mut aeron_name_resolver_t , name : * const :: std :: os :: raw :: c_char , uri_param_name : * const :: std :: os :: raw :: c_char , is_re_resolution : bool , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_cnc_metadata_stct { pub cnc_version : i32 , pub to_driver_buffer_length : i32 , pub to_clients_buffer_length : i32 , pub counter_metadata_buffer_length : i32 , pub counter_values_buffer_length : i32 , pub error_log_buffer_length : i32 , pub client_liveness_timeout : i64 , pub start_timestamp : i64 , pub pid : i64 , } # [ test ] fn bindgen_test_layout_aeron_cnc_metadata_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_cnc_metadata_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_cnc_metadata_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_cnc_metadata_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . cnc_version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( cnc_version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_metadata_buffer_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_metadata_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . counter_values_buffer_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( counter_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . error_log_buffer_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( error_log_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . client_liveness_timeout as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( client_liveness_timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . start_timestamp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( start_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_cnc_metadata_stct > ( ) ) ) . pid as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_cnc_metadata_stct ) , "::" , stringify ! ( pid ) ) ) ; } pub type aeron_cnc_metadata_t = aeron_cnc_metadata_stct ; extern "C" { pub fn aeron_cnc_version_volatile ( metadata : * mut aeron_cnc_metadata_t ) -> i32 ; } pub type aeron_driver_conductor_proxy_t = aeron_driver_conductor_proxy_stct ; pub type aeron_driver_sender_proxy_t = aeron_driver_sender_proxy_stct ; pub type aeron_driver_receiver_proxy_t = aeron_driver_receiver_proxy_stct ; pub type aeron_driver_conductor_to_driver_interceptor_func_t = aeron_rb_handler_t ; pub type aeron_driver_conductor_to_client_interceptor_func_t = :: std :: option :: Option < unsafe extern "C" fn ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct { pub aeron_dir : * mut :: std :: os :: raw :: c_char , pub threading_mode : aeron_threading_mode_t , pub receiver_group_consideration : aeron_inferable_boolean_t , pub dirs_delete_on_start : bool , pub dirs_delete_on_shutdown : bool , pub warn_if_dirs_exist : bool , pub term_buffer_sparse_file : bool , pub perform_storage_checks : bool , pub spies_simulate_connection : bool , pub print_configuration_on_start : bool , pub reliable_stream : bool , pub tether_subscriptions : bool , pub rejoin_stream : bool , pub driver_timeout_ms : u64 , pub client_liveness_timeout_ns : u64 , pub publication_linger_timeout_ns : u64 , pub status_message_timeout_ns : u64 , pub image_liveness_timeout_ns : u64 , pub publication_unblock_timeout_ns : u64 , pub publication_connection_timeout_ns : u64 , pub timer_interval_ns : u64 , pub counter_free_to_reuse_ns : u64 , pub untethered_window_limit_timeout_ns : u64 , pub untethered_resting_timeout_ns : u64 , pub retransmit_unicast_delay_ns : u64 , pub retransmit_unicast_linger_ns : u64 , pub nak_unicast_delay_ns : u64 , pub nak_multicast_max_backoff_ns : u64 , pub re_resolution_check_interval_ns : u64 , pub to_driver_buffer_length : size_t , pub to_clients_buffer_length : size_t , pub counters_values_buffer_length : size_t , pub error_buffer_length : size_t , pub term_buffer_length : size_t , pub ipc_term_buffer_length : size_t , pub mtu_length : size_t , pub ipc_mtu_length : size_t , pub ipc_publication_window_length : size_t , pub publication_window_length : size_t , pub socket_rcvbuf : size_t , pub socket_sndbuf : size_t , pub send_to_sm_poll_ratio : size_t , pub initial_window_length : size_t , pub loss_report_length : size_t , pub file_page_size : size_t , pub nak_multicast_group_size : size_t , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub multicast_ttl : u8 , pub receiver_group_tag : aeron_driver_context_stct__bindgen_ty_1 , pub flow_control : aeron_driver_context_stct__bindgen_ty_2 , pub cnc_map : aeron_mapped_file_t , pub loss_report : aeron_mapped_file_t , pub to_driver_buffer : * mut u8 , pub to_clients_buffer : * mut u8 , pub counters_values_buffer : * mut u8 , pub counters_metadata_buffer : * mut u8 , pub error_buffer : * mut u8 , pub nano_clock : aeron_clock_func_t , pub epoch_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub sender_command_queue : aeron_spsc_concurrent_array_queue_t , pub receiver_command_queue : aeron_spsc_concurrent_array_queue_t , pub conductor_command_queue : aeron_mpsc_concurrent_array_queue_t , pub agent_on_start_func : aeron_agent_on_start_func_t , pub agent_on_start_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_func : aeron_idle_strategy_func_t , pub conductor_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub conductor_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub conductor_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_func : aeron_idle_strategy_func_t , pub shared_network_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub shared_network_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub shared_network_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub sender_idle_strategy_func : aeron_idle_strategy_func_t , pub sender_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub sender_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub sender_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub receiver_idle_strategy_func : aeron_idle_strategy_func_t , pub receiver_idle_strategy_state : * mut :: std :: os :: raw :: c_void , pub receiver_idle_strategy_init_args : * mut :: std :: os :: raw :: c_char , pub receiver_idle_strategy_name : * const :: std :: os :: raw :: c_char , pub usable_fs_space_func : aeron_usable_fs_space_func_t , pub map_raw_log_func : aeron_map_raw_log_func_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub multicast_flow_control_supplier_func : aeron_flow_control_strategy_supplier_func_t , pub congestion_control_supplier_func : aeron_congestion_control_strategy_supplier_func_t , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub counters_manager : * mut aeron_counters_manager_t , pub system_counters : * mut aeron_system_counters_t , pub error_log : * mut aeron_distinct_error_log_t , pub to_driver_interceptor_func : aeron_driver_conductor_to_driver_interceptor_func_t , pub to_client_interceptor_func : aeron_driver_conductor_to_client_interceptor_func_t , pub termination_validator_func : aeron_driver_termination_validator_func_t , pub termination_validator_state : * mut :: std :: os :: raw :: c_void , pub termination_hook_func : aeron_driver_termination_hook_func_t , pub termination_hook_state : * mut :: std :: os :: raw :: c_void , pub udp_channel_transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub udp_channel_outgoing_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub udp_channel_incoming_interceptor_bindings : * mut aeron_udp_channel_interceptor_bindings_t , pub next_receiver_id : i64 , pub unicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub multicast_delay_feedback_generator : aeron_feedback_delay_generator_state_t , pub resolver_name : * const :: std :: os :: raw :: c_char , pub resolver_interface : * const :: std :: os :: raw :: c_char , pub resolver_bootstrap_neighbor : * const :: std :: os :: raw :: c_char , pub name_resolver_supplier_func : aeron_name_resolver_supplier_func_t , pub name_resolver_init_args : * const :: std :: os :: raw :: c_char , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_context_stct__bindgen_ty_2 { pub group_min_size : i32 , pub receiver_timeout_ns : u64 , pub group_tag : i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_min_size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_min_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . receiver_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( receiver_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct__bindgen_ty_2 > ( ) ) ) . group_tag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct__bindgen_ty_2 ) , "::" , stringify ! ( group_tag ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_context_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_context_stct > ( ) , 1600usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_context_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_context_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . aeron_dir as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( aeron_dir ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_consideration as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_consideration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_start as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . dirs_delete_on_shutdown as * const _ as usize } , 17usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( dirs_delete_on_shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . warn_if_dirs_exist as * const _ as usize } , 18usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( warn_if_dirs_exist ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_sparse_file as * const _ as usize } , 19usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_sparse_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . perform_storage_checks as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( perform_storage_checks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 21usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . print_configuration_on_start as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( print_configuration_on_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . reliable_stream as * const _ as usize } , 23usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( reliable_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . tether_subscriptions as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( tether_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . rejoin_stream as * const _ as usize } , 25usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( rejoin_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . driver_timeout_ms as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( driver_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . client_liveness_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( client_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_linger_timeout_ns as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . status_message_timeout_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( status_message_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . image_liveness_timeout_ns as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( image_liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_unblock_timeout_ns as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_connection_timeout_ns as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . timer_interval_ns as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( timer_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counter_free_to_reuse_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counter_free_to_reuse_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_window_limit_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_window_limit_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . untethered_resting_timeout_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( untethered_resting_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_delay_ns as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . retransmit_unicast_linger_ns as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( retransmit_unicast_linger_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_unicast_delay_ns as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_unicast_delay_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_max_backoff_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_max_backoff_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . re_resolution_check_interval_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( re_resolution_check_interval_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer_length as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer_length as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer_length as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer_length as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_term_buffer_length as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . mtu_length as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_mtu_length as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . ipc_publication_window_length as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( ipc_publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_window_length as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_rcvbuf as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . socket_sndbuf as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( socket_sndbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . send_to_sm_poll_ratio as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( send_to_sm_poll_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . initial_window_length as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( initial_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report_length as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . file_page_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( file_page_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nak_multicast_group_size as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nak_multicast_group_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 300usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_group_tag as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . flow_control as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cnc_map as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cnc_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . loss_report as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( loss_report ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_buffer as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_clients_buffer as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_clients_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_values_buffer as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_values_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_metadata_buffer as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_metadata_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_buffer as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . nano_clock as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . epoch_clock as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( epoch_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . cached_clock as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_command_queue as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_command_queue as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_command_queue as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_func as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . agent_on_start_state as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( agent_on_start_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_func as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_state as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_init_args as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_idle_strategy_name as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_func as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_state as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_init_args as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_idle_strategy_name as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_func as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_state as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_init_args as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . shared_network_idle_strategy_name as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( shared_network_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_func as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_state as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_init_args as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_idle_strategy_name as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_func as * const _ as usize } , 1240usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_state as * const _ as usize } , 1248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_init_args as * const _ as usize } , 1256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_init_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_idle_strategy_name as * const _ as usize } , 1264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_idle_strategy_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . usable_fs_space_func as * const _ as usize } , 1272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( usable_fs_space_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_func as * const _ as usize } , 1280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_flow_control_supplier_func as * const _ as usize } , 1296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_flow_control_supplier_func as * const _ as usize } , 1304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_flow_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . congestion_control_supplier_func as * const _ as usize } , 1312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( congestion_control_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 1320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 1328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 1336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . counters_manager as * const _ as usize } , 1344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . system_counters as * const _ as usize } , 1352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . error_log as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_driver_interceptor_func as * const _ as usize } , 1368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_driver_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . to_client_interceptor_func as * const _ as usize } , 1376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( to_client_interceptor_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_func as * const _ as usize } , 1384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_validator_state as * const _ as usize } , 1392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_validator_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_func as * const _ as usize } , 1400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . termination_hook_state as * const _ as usize } , 1408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( termination_hook_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_transport_bindings as * const _ as usize } , 1416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_outgoing_interceptor_bindings as * const _ as usize } , 1424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_outgoing_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . udp_channel_incoming_interceptor_bindings as * const _ as usize } , 1432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( udp_channel_incoming_interceptor_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . next_receiver_id as * const _ as usize } , 1440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( next_receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . unicast_delay_feedback_generator as * const _ as usize } , 1448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( unicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . multicast_delay_feedback_generator as * const _ as usize } , 1504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( multicast_delay_feedback_generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_name as * const _ as usize } , 1560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_interface as * const _ as usize } , 1568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_interface ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . resolver_bootstrap_neighbor as * const _ as usize } , 1576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( resolver_bootstrap_neighbor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_supplier_func as * const _ as usize } , 1584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_supplier_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_context_stct > ( ) ) ) . name_resolver_init_args as * const _ as usize } , 1592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_context_stct ) , "::" , stringify ! ( name_resolver_init_args ) ) ) ; } extern "C" { pub fn aeron_config_parse_inferable_boolean ( inferable_boolean : * const :: std :: os :: raw :: c_char , def : aeron_inferable_boolean_t ) -> aeron_inferable_boolean_t ; } extern "C" { pub fn aeron_driver_context_print_configuration ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_fill_cnc_metadata ( context : * mut aeron_driver_context_t ) ; } extern "C" { pub fn aeron_driver_context_validate_mtu_length ( mtu_length : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_cnc_length ( context : * mut aeron_driver_context_t ) -> size_t ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_descriptor_stct { pub tail_intent_counter : i64 , pub tail_counter : i64 , pub latest_counter : i64 , pub pad : [ u8 ; 104usize ] , } # [ test ] fn bindgen_test_layout_aeron_broadcast_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_descriptor_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_intent_counter as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_intent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . tail_counter as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( tail_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . latest_counter as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( latest_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_descriptor_stct > ( ) ) ) . pad as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_descriptor_stct ) , "::" , stringify ! ( pad ) ) ) ; } pub type aeron_broadcast_descriptor_t = aeron_broadcast_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_record_descriptor_stct { pub length : i32 , pub msg_type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_broadcast_record_descriptor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_record_descriptor_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_record_descriptor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_record_descriptor_stct > ( ) ) ) . msg_type_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_record_descriptor_stct ) , "::" , stringify ! ( msg_type_id ) ) ) ; } pub type aeron_broadcast_record_descriptor_t = aeron_broadcast_record_descriptor_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_broadcast_transmitter_stct { pub buffer : * mut u8 , pub descriptor : * mut aeron_broadcast_descriptor_t , pub capacity : size_t , pub max_message_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_broadcast_transmitter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_broadcast_transmitter_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_broadcast_transmitter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_broadcast_transmitter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . descriptor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( descriptor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_broadcast_transmitter_stct > ( ) ) ) . max_message_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_broadcast_transmitter_stct ) , "::" , stringify ! ( max_message_length ) ) ) ; } pub type aeron_broadcast_transmitter_t = aeron_broadcast_transmitter_stct ; extern "C" { pub fn aeron_broadcast_transmitter_init ( transmitter : * mut aeron_broadcast_transmitter_t , buffer : * mut :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_broadcast_transmitter_transmit ( transmitter : * mut aeron_broadcast_transmitter_t , msg_type_id : i32 , msg : * const :: std :: os :: raw :: c_void , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_correlated_command_stct { pub client_id : i64 , pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_correlated_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_correlated_command_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_correlated_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_correlated_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_correlated_command_stct > ( ) ) ) . correlation_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_correlated_command_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_correlated_command_t = aeron_correlated_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_command_stct { pub correlated : aeron_correlated_command_t , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_publication_command_t = aeron_publication_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_buffers_ready_stct { pub correlation_id : i64 , pub registration_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub position_limit_counter_id : i32 , pub channel_status_indicator_id : i32 , pub log_file_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_publication_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_buffers_ready_stct > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . position_limit_counter_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( position_limit_counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_buffers_ready_stct > ( ) ) ) . log_file_length as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_buffers_ready_stct ) , "::" , stringify ! ( log_file_length ) ) ) ; } pub type aeron_publication_buffers_ready_t = aeron_publication_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_command_stct { pub correlated : aeron_correlated_command_t , pub registration_correlation_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_command_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . registration_correlation_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( registration_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_subscription_command_t = aeron_subscription_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_ready_stct { pub correlation_id : i64 , pub channel_status_indicator_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_subscription_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_ready_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_ready_stct > ( ) ) ) . channel_status_indicator_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_ready_stct ) , "::" , stringify ! ( channel_status_indicator_id ) ) ) ; } pub type aeron_subscription_ready_t = aeron_subscription_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_buffers_ready_stct { pub correlation_id : i64 , pub session_id : i32 , pub stream_id : i32 , pub subscriber_registration_id : i64 , pub subscriber_position_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_buffers_ready_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_buffers_ready_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_buffers_ready_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_buffers_ready_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . session_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . stream_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_buffers_ready_stct > ( ) ) ) . subscriber_position_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_buffers_ready_stct ) , "::" , stringify ! ( subscriber_position_id ) ) ) ; } pub type aeron_image_buffers_ready_t = aeron_image_buffers_ready_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_operation_succeeded_stct { pub correlation_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_operation_succeeded_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_operation_succeeded_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_operation_succeeded_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_operation_succeeded_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_operation_succeeded_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_operation_succeeded_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; } pub type aeron_operation_succeeded_t = aeron_operation_succeeded_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_error_response_stct { pub offending_command_correlation_id : i64 , pub error_code : i32 , pub error_message_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_error_response_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_error_response_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_error_response_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_error_response_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . offending_command_correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( offending_command_correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_error_response_stct > ( ) ) ) . error_message_length as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_error_response_stct ) , "::" , stringify ! ( error_message_length ) ) ) ; } pub type aeron_error_response_t = aeron_error_response_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_remove_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_remove_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_remove_command_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_remove_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_remove_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_remove_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_remove_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_remove_command_t = aeron_remove_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_image_message_stct { pub correlation_id : i64 , pub subscription_registration_id : i64 , pub stream_id : i32 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_image_message_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_image_message_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_image_message_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_image_message_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . subscription_registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( subscription_registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . stream_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_image_message_stct > ( ) ) ) . channel_length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_image_message_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_image_message_t = aeron_image_message_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_destination_command_stct { pub correlated : aeron_correlated_command_t , pub registration_id : i64 , pub channel_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_destination_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_destination_command_stct > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_destination_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_destination_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . registration_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_destination_command_stct > ( ) ) ) . channel_length as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_destination_command_stct ) , "::" , stringify ! ( channel_length ) ) ) ; } pub type aeron_destination_command_t = aeron_destination_command_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_command_stct { pub correlated : aeron_correlated_command_t , pub type_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_command_stct > ( ) ) ) . type_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_command_stct ) , "::" , stringify ! ( type_id ) ) ) ; } pub type aeron_counter_command_t = aeron_counter_command_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_update_stct { pub correlation_id : i64 , pub counter_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_counter_update_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_update_stct > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_update_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_update_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . correlation_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( correlation_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_update_stct > ( ) ) ) . counter_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_update_stct ) , "::" , stringify ! ( counter_id ) ) ) ; } pub type aeron_counter_update_t = aeron_counter_update_stct ; # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_timeout_stct { pub client_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_client_timeout_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_timeout_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_timeout_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_timeout_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_timeout_stct > ( ) ) ) . client_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_timeout_stct ) , "::" , stringify ! ( client_id ) ) ) ; } pub type aeron_client_timeout_t = aeron_client_timeout_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_terminate_driver_command_stct { pub correlated : aeron_correlated_command_t , pub token_length : i32 , } # [ test ] fn bindgen_test_layout_aeron_terminate_driver_command_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_terminate_driver_command_stct > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_terminate_driver_command_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_terminate_driver_command_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . correlated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( correlated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_terminate_driver_command_stct > ( ) ) ) . token_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_terminate_driver_command_stct ) , "::" , stringify ! ( token_length ) ) ) ; } pub type aeron_terminate_driver_command_t = aeron_terminate_driver_command_stct ; pub mod aeron_ipc_publication_state_enum { pub type Type = u32 ; pub const AERON_IPC_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_IPC_PUBLICATION_STATE_INACTIVE : Type = 1 ; pub const AERON_IPC_PUBLICATION_STATE_LINGER : Type = 2 ; } pub use self :: aeron_ipc_publication_state_enum :: Type as aeron_ipc_publication_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct { pub mapped_raw_log : aeron_mapped_raw_log_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub pub_lmt_position : aeron_position_t , pub pub_pos_position : aeron_position_t , pub conductor_fields : aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_window_length : i64 , pub trip_gain : i64 , pub unblock_timeout_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub is_exclusive : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_ipc_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub trip_limit : i64 , pub clean_position : i64 , pub consumer_position : i64 , pub last_consumer_position : i64 , pub time_of_last_consumer_position_change : i64 , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . trip_limit as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( trip_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . consumer_position as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . last_consumer_position as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( last_consumer_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct > ( ) ) ) . time_of_last_consumer_position_change as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct_aeron_ipc_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_consumer_position_change ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . tag as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 316usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_ipc_publication_t = aeron_ipc_publication_stct ; extern "C" { pub fn aeron_ipc_publication_create ( publication : * mut * mut aeron_ipc_publication_t , context : * mut aeron_driver_context_t , session_id : i32 , stream_id : i32 , registration_id : i64 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , initial_term_id : i32 , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_ipc_publication_t ) ; } extern "C" { pub fn aeron_ipc_publication_update_pub_lmt ( publication : * mut aeron_ipc_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_ipc_publication_clean_buffer ( publication : * mut aeron_ipc_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_ipc_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_ipc_publication_check_for_blocked_publisher ( publication : * mut aeron_ipc_publication_t , producer_position : i64 , now_ns : i64 ) ; } extern "C" { pub fn aeron_format_date ( str : * mut :: std :: os :: raw :: c_char , count : size_t , timestamp : i64 ) ; } extern "C" { pub fn aeron_format_to_hex ( str : * mut :: std :: os :: raw :: c_char , str_length : size_t , data : * mut u8 , data_len : size_t ) ; } extern "C" { pub fn aeron_tokenise ( input : * mut :: std :: os :: raw :: c_char , delimiter : :: std :: os :: raw :: c_char , max_tokens : :: std :: os :: raw :: c_int , tokens : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_per_thread_error_stct { pub errcode : :: std :: os :: raw :: c_int , pub errmsg : [ :: std :: os :: raw :: c_char ; 384usize ] , } # [ test ] fn bindgen_test_layout_aeron_per_thread_error_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_per_thread_error_stct > ( ) , 388usize , concat ! ( "Size of: " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_per_thread_error_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_per_thread_error_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_per_thread_error_stct > ( ) ) ) . errmsg as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_per_thread_error_stct ) , "::" , stringify ! ( errmsg ) ) ) ; } pub type aeron_per_thread_error_t = aeron_per_thread_error_stct ; extern "C" { pub fn aeron_set_err ( errcode : :: std :: os :: raw :: c_int , format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_set_err_from_last_err_code ( format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn aeron_error_code_str ( errcode : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_key_stct { pub str : * const :: std :: os :: raw :: c_char , pub hash_code : u64 , pub str_length : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_key_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_key_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . hash_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( hash_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_key_stct > ( ) ) ) . str_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_key_stct ) , "::" , stringify ! ( str_length ) ) ) ; } pub type aeron_str_to_ptr_hash_map_key_t = aeron_str_to_ptr_hash_map_key_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_str_to_ptr_hash_map_stct { pub keys : * mut aeron_str_to_ptr_hash_map_key_t , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_str_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_str_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_str_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_str_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_str_to_ptr_hash_map_t = aeron_str_to_ptr_hash_map_stct ; pub type aeron_str_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : * const :: std :: os :: raw :: c_char , key_len : size_t , value : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_ptr_hash_map_stct { pub keys : * mut i64 , pub values : * mut * mut :: std :: os :: raw :: c_void , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . values as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( values ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_ptr_hash_map_t = aeron_int64_to_ptr_hash_map_stct ; pub type aeron_int64_to_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; pub type aeron_uri_hostname_resolver_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , host : * const :: std :: os :: raw :: c_char , hints : * mut addrinfo , info : * mut * mut addrinfo ) -> :: std :: os :: raw :: c_int > ; pub type aeron_getifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut * mut ifaddrs ) -> :: std :: os :: raw :: c_int > ; pub type aeron_freeifaddrs_func_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ifaddrs ) > ; pub type aeron_ifaddr_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr , netmask : * mut sockaddr , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn aeron_ip_addr_resolver ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , family_hint : :: std :: os :: raw :: c_int , protocol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_port_resolver ( port_str : * const :: std :: os :: raw :: c_char , optional : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv4 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv4_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_try_parse_ipv6 ( host : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_ipv6_addr_resolver ( host : * const :: std :: os :: raw :: c_char , protocol : :: std :: os :: raw :: c_int , sockaddr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_lookup_interfaces_from_ifaddrs ( func : aeron_ifaddr_func_t , clientd : * mut :: std :: os :: raw :: c_void , ifaddrs : * mut ifaddrs ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_getifaddrs ( get_func : aeron_getifaddrs_func_t , free_func : aeron_freeifaddrs_func_t ) ; } extern "C" { pub fn aeron_interface_parse_and_resolve ( interface_str : * const :: std :: os :: raw :: c_char , sockaddr : * mut sockaddr_storage , prefixlen : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_set_ipv4_wildcard_host_and_port ( sockaddr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_ipv4_does_prefix_match ( in_addr1 : * mut in_addr , in_addr2 : * mut in_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv6_does_prefix_match ( in6_addr1 : * mut in6_addr , in6_addr2 : * mut in6_addr , prefixlen : size_t ) -> bool ; } extern "C" { pub fn aeron_ipv4_netmask_to_prefixlen ( netmask : * mut in_addr ) -> size_t ; } extern "C" { pub fn aeron_ipv6_netmask_to_prefixlen ( netmask : * mut in6_addr ) -> size_t ; } extern "C" { pub fn aeron_find_interface ( interface_str : * const :: std :: os :: raw :: c_char , if_addr : * mut sockaddr_storage , if_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_find_unicast_interface ( family : :: std :: os :: raw :: c_int , interface_str : * const :: std :: os :: raw :: c_char , interface_addr : * mut sockaddr_storage , interface_index : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_is_addr_multicast ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_addr ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_is_wildcard_port ( addr : * mut sockaddr_storage ) -> bool ; } extern "C" { pub fn aeron_format_source_identity ( buffer : * mut :: std :: os :: raw :: c_char , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_retransmit_action_state_enum { pub type Type = u32 ; pub const AERON_RETRANSMIT_ACTION_STATE_DELAYED : Type = 0 ; pub const AERON_RETRANSMIT_ACTION_STATE_LINGERING : Type = 1 ; pub const AERON_RETRANSMIT_ACTION_STATE_INACTIVE : Type = 2 ; } pub use self :: aeron_retransmit_action_state_enum :: Type as aeron_retransmit_action_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_action_stct { pub expiry_ns : i64 , pub term_id : i32 , pub term_offset : i32 , pub length : size_t , pub state : aeron_retransmit_action_state_t , } # [ test ] fn bindgen_test_layout_aeron_retransmit_action_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_action_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_action_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_action_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . term_offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_action_stct > ( ) ) ) . state as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_action_stct ) , "::" , stringify ! ( state ) ) ) ; } pub type aeron_retransmit_action_t = aeron_retransmit_action_stct ; pub type aeron_retransmit_handler_resend_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_retransmit_handler_stct { pub retransmit_action_pool : [ aeron_retransmit_action_t ; 16usize ] , pub active_retransmits_map : aeron_int64_to_ptr_hash_map_t , pub delay_timeout_ns : u64 , pub linger_timeout_ns : u64 , pub invalid_packets_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_retransmit_handler_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_retransmit_handler_stct > ( ) , 584usize , concat ! ( "Size of: " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_retransmit_handler_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_retransmit_handler_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . retransmit_action_pool as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( retransmit_action_pool ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . active_retransmits_map as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( active_retransmits_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . delay_timeout_ns as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( delay_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_retransmit_handler_stct > ( ) ) ) . invalid_packets_counter as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_retransmit_handler_stct ) , "::" , stringify ! ( invalid_packets_counter ) ) ) ; } pub type aeron_retransmit_handler_t = aeron_retransmit_handler_stct ; extern "C" { pub fn aeron_retransmit_handler_init ( handler : * mut aeron_retransmit_handler_t , invalid_packets_counter : * mut i64 , delay_timeout_ns : u64 , linger_timeout_ns : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_close ( handler : * mut aeron_retransmit_handler_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_on_nak ( handler : * mut aeron_retransmit_handler_t , term_id : i32 , term_offset : i32 , length : size_t , term_length : size_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_retransmit_handler_process_timeouts ( handler : * mut aeron_retransmit_handler_t , now_ns : i64 , resend : aeron_retransmit_handler_resend_func_t , resend_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_network_publication_state_enum { pub type Type = u32 ; pub const AERON_NETWORK_PUBLICATION_STATE_ACTIVE : Type = 0 ; pub const AERON_NETWORK_PUBLICATION_STATE_DRAINING : Type = 1 ; pub const AERON_NETWORK_PUBLICATION_STATE_LINGER : Type = 2 ; pub const AERON_NETWORK_PUBLICATION_STATE_CLOSING : Type = 3 ; } pub use self :: aeron_network_publication_state_enum :: Type as aeron_network_publication_state_t ; pub type aeron_send_channel_endpoint_t = aeron_send_channel_endpoint_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct { pub conductor_fields : aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct , pub conductor_fields_pad : [ u8 ; 128usize ] , pub mapped_raw_log : aeron_mapped_raw_log_t , pub pub_pos_position : aeron_position_t , pub pub_lmt_position : aeron_position_t , pub snd_pos_position : aeron_position_t , pub snd_lmt_position : aeron_position_t , pub snd_bpe_counter : aeron_atomic_counter_t , pub retransmit_handler : aeron_retransmit_handler_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_send_channel_endpoint_t , pub flow_control : * mut aeron_flow_control_strategy_t , pub cached_clock : * mut aeron_clock_cache_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub term_buffer_length : i64 , pub term_window_length : i64 , pub trip_gain : i64 , pub linger_timeout_ns : i64 , pub unblock_timeout_ns : i64 , pub connection_timeout_ns : i64 , pub time_of_last_send_or_heartbeat_ns : i64 , pub time_of_last_setup_ns : i64 , pub status_message_deadline_ns : i64 , pub tag : i64 , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub mtu_length : size_t , pub is_exclusive : bool , pub spies_simulate_connection : bool , pub signal_eos : bool , pub should_send_setup_frame : bool , pub has_receivers : bool , pub has_spies : bool , pub is_connected : bool , pub is_end_of_stream : bool , pub track_sender_limits : bool , pub has_sender_released : bool , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub short_sends_counter : * mut i64 , pub heartbeats_sent_counter : * mut i64 , pub sender_flow_control_limits_counter : * mut i64 , pub retransmits_sent_counter : * mut i64 , pub unblocked_publications_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct { pub has_reached_end_of_life : bool , pub state : aeron_network_publication_state_t , pub refcnt : i32 , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub clean_position : i64 , pub time_of_last_activity_ns : i64 , pub last_snd_pos : i64 , } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct > ( ) ) ) . last_snd_pos as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct_aeron_network_publication_conductor_fields_stct ) , "::" , stringify ! ( last_snd_pos ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_stct > ( ) , 1232usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . conductor_fields_pad as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( conductor_fields_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_pos_position as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . pub_lmt_position as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( pub_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_pos_position as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_lmt_position as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_lmt_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . snd_bpe_counter as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( snd_bpe_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmit_handler as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmit_handler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . endpoint as * const _ as usize } , 1016usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . flow_control as * const _ as usize } , 1024usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( flow_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . cached_clock as * const _ as usize } , 1032usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name as * const _ as usize } , 1040usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_buffer_length as * const _ as usize } , 1048usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_buffer_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_window_length as * const _ as usize } , 1056usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . trip_gain as * const _ as usize } , 1064usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( trip_gain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . linger_timeout_ns as * const _ as usize } , 1072usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( linger_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblock_timeout_ns as * const _ as usize } , 1080usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblock_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . connection_timeout_ns as * const _ as usize } , 1088usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( connection_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_send_or_heartbeat_ns as * const _ as usize } , 1096usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_send_or_heartbeat_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . time_of_last_setup_ns as * const _ as usize } , 1104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( time_of_last_setup_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . status_message_deadline_ns as * const _ as usize } , 1112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( status_message_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . tag as * const _ as usize } , 1120usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . session_id as * const _ as usize } , 1128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . stream_id as * const _ as usize } , 1132usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 1136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 1140usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 1144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 1152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . mtu_length as * const _ as usize } , 1160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_exclusive as * const _ as usize } , 1168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_exclusive ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . spies_simulate_connection as * const _ as usize } , 1169usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( spies_simulate_connection ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . signal_eos as * const _ as usize } , 1170usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( signal_eos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . should_send_setup_frame as * const _ as usize } , 1171usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( should_send_setup_frame ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_receivers as * const _ as usize } , 1172usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_receivers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_spies as * const _ as usize } , 1173usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_spies ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_connected as * const _ as usize } , 1174usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_connected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 1175usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . track_sender_limits as * const _ as usize } , 1176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( track_sender_limits ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 1177usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 1184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 1192usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . heartbeats_sent_counter as * const _ as usize } , 1200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( heartbeats_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . sender_flow_control_limits_counter as * const _ as usize } , 1208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( sender_flow_control_limits_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . retransmits_sent_counter as * const _ as usize } , 1216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( retransmits_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_stct > ( ) ) ) . unblocked_publications_counter as * const _ as usize } , 1224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_stct ) , "::" , stringify ! ( unblocked_publications_counter ) ) ) ; } pub type aeron_network_publication_t = aeron_network_publication_stct ; extern "C" { pub fn aeron_network_publication_create ( publication : * mut * mut aeron_network_publication_t , endpoint : * mut aeron_send_channel_endpoint_t , context : * mut aeron_driver_context_t , registration_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , pub_pos_position : * mut aeron_position_t , pub_lmt_position : * mut aeron_position_t , snd_pos_position : * mut aeron_position_t , snd_lmt_position : * mut aeron_position_t , snd_bpe_counter : * mut aeron_atomic_counter_t , flow_control_strategy : * mut aeron_flow_control_strategy_t , params : * mut aeron_uri_publication_params_t , is_exclusive : bool , spies_simulate_connection : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_close ( counters_manager : * mut aeron_counters_manager_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_network_publication_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_network_publication_on_time_event ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_send ( publication : * mut aeron_network_publication_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_resend ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_send_data ( publication : * mut aeron_network_publication_t , now_ns : i64 , snd_pos : i64 , term_offset : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_on_nak ( publication : * mut aeron_network_publication_t , term_id : i32 , term_offset : i32 , length : i32 ) ; } extern "C" { pub fn aeron_network_publication_on_status_message ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_on_rttm ( publication : * mut aeron_network_publication_t , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_network_publication_clean_buffer ( publication : * mut aeron_network_publication_t , position : i64 ) ; } extern "C" { pub fn aeron_network_publication_update_pub_lmt ( publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_network_publication_check_for_blocked_publisher ( publication : * mut aeron_network_publication_t , now_ns : i64 , producer_position : i64 , snd_pos : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_stct { pub original_uri : [ :: std :: os :: raw :: c_char ; 384usize ] , pub canonical_form : [ :: std :: os :: raw :: c_char ; 384usize ] , pub uri : aeron_uri_t , pub remote_data : sockaddr_storage , pub local_data : sockaddr_storage , pub remote_control : sockaddr_storage , pub local_control : sockaddr_storage , pub tag_id : i64 , pub interface_index : :: std :: os :: raw :: c_uint , pub uri_length : size_t , pub canonical_length : size_t , pub multicast_ttl : u8 , pub has_explicit_endpoint : bool , pub has_explicit_control : bool , pub is_manual_control_mode : bool , pub is_dynamic_control_mode : bool , pub is_multicast : bool , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_stct > ( ) , 1784usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . original_uri as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( original_uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_form as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_form ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_data as * const _ as usize } , 1232usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_data as * const _ as usize } , 1360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . remote_control as * const _ as usize } , 1488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( remote_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . local_control as * const _ as usize } , 1616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( local_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . tag_id as * const _ as usize } , 1744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( tag_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . interface_index as * const _ as usize } , 1752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( interface_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . uri_length as * const _ as usize } , 1760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( uri_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . canonical_length as * const _ as usize } , 1768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( canonical_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . multicast_ttl as * const _ as usize } , 1776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( multicast_ttl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_endpoint as * const _ as usize } , 1777usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . has_explicit_control as * const _ as usize } , 1778usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( has_explicit_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 1779usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_dynamic_control_mode as * const _ as usize } , 1780usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_dynamic_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_stct > ( ) ) ) . is_multicast as * const _ as usize } , 1781usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_stct ) , "::" , stringify ! ( is_multicast ) ) ) ; } extern "C" { pub fn aeron_udp_channel_parse ( uri_length : size_t , uri : * const :: std :: os :: raw :: c_char , resolver : * mut aeron_name_resolver_t , channel : * mut * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_delete ( channel : * const aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_stct { pub fd : aeron_socket_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub dispatch_clientd : * mut :: std :: os :: raw :: c_void , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , pub destination_clientd : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . fd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . data_paths as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . dispatch_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( dispatch_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_stct > ( ) ) ) . destination_clientd as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_stct ) , "::" , stringify ! ( destination_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_channel_transport_init ( transport : * mut aeron_udp_channel_transport_t , bind_addr : * mut sockaddr_storage , multicast_if_addr : * mut sockaddr_storage , multicast_if_index : :: std :: os :: raw :: c_uint , ttl : u8 , socket_rcvbuf : size_t , socket_sndbuf : size_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_close ( transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_recvmmsg ( transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , msgvec : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_sendmsg ( data_paths : * mut aeron_udp_channel_data_paths_t , transport : * mut aeron_udp_channel_transport_t , message : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_get_so_rcvbuf ( transport : * mut aeron_udp_channel_transport_t , so_rcvbuf : * mut size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_channel_transport_bind_addr_and_port ( transport : * mut aeron_udp_channel_transport_t , buffer : * mut :: std :: os :: raw :: c_char , length : size_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_entry_stct { pub time_of_last_activity_ns : i64 , pub destination_timeout_ns : i64 , pub receiver_id : i64 , pub is_receiver_id_valid : bool , pub uri : * mut aeron_uri_t , pub addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . receiver_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . is_receiver_id_valid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( is_receiver_id_valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . uri as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( uri ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_entry_stct > ( ) ) ) . addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_entry_stct ) , "::" , stringify ! ( addr ) ) ) ; } pub type aeron_udp_destination_entry_t = aeron_udp_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct { pub destinations : aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct , pub is_manual_control_mode : bool , pub cached_clock : * mut aeron_clock_cache_t , pub destination_timeout_ns : i64 , pub data_paths : * mut aeron_udp_channel_data_paths_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct { pub array : * mut aeron_udp_destination_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct_aeron_udp_destination_tracker_destinations_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_destination_tracker_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_destination_tracker_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_destination_tracker_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_destination_tracker_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destinations as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . is_manual_control_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( is_manual_control_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . cached_clock as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . destination_timeout_ns as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( destination_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_destination_tracker_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_destination_tracker_stct ) , "::" , stringify ! ( data_paths ) ) ) ; } pub type aeron_udp_destination_tracker_t = aeron_udp_destination_tracker_stct ; extern "C" { pub fn aeron_udp_destination_tracker_init ( tracker : * mut aeron_udp_destination_tracker_t , data_paths : * mut aeron_udp_channel_data_paths_t , cached_clock : * mut aeron_clock_cache_t , is_manual_control_model : bool , timeout_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_close ( tracker : * mut aeron_udp_destination_tracker_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_sendmsg ( tracker : * mut aeron_udp_destination_tracker_t , transport : * mut aeron_udp_channel_transport_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_on_status_message ( tracker : * mut aeron_udp_destination_tracker_t , buffer : * const u8 , len : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_manual_add_destination ( tracker : * mut aeron_udp_destination_tracker_t , now_ns : i64 , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_remove_destination ( tracker : * mut aeron_udp_destination_tracker_t , addr : * mut sockaddr_storage , removed_uri : * mut * mut aeron_uri_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_destination_tracker_check_for_re_resolution ( tracker : * mut aeron_udp_destination_tracker_t , endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_udp_destination_tracker_resolution_change ( tracker : * mut aeron_udp_destination_tracker_t , endpoint_name : * const :: std :: os :: raw :: c_char , addr : * mut sockaddr_storage ) ; } pub type aeron_driver_sender_t = aeron_driver_sender_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_proxy_stct { pub sender : * mut aeron_driver_sender_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . sender as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_endpoint ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_add_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_publication ( sender_proxy : * mut aeron_driver_sender_proxy_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_resolution_change ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut aeron_send_channel_endpoint_t , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_destination_stct { pub base : aeron_command_base_t , pub control_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub uri : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_destination_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . control_address as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_destination_stct > ( ) ) ) . uri as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_destination_stct ) , "::" , stringify ! ( uri ) ) ) ; } pub type aeron_command_destination_t = aeron_command_destination_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_sender_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_sender_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_sender_resolution_change_stct > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_sender_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_sender_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_sender_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_sender_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_sender_resolution_change_t = aeron_command_sender_resolution_change_stct ; extern "C" { pub fn aeron_driver_sender_proxy_on_add_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , uri : * mut aeron_uri_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_remove_destination ( sender_proxy : * mut aeron_driver_sender_proxy_t , endpoint : * mut aeron_send_channel_endpoint_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_sender_proxy_on_delete_cmd ( sender_proxy : * mut aeron_driver_sender_proxy_t , cmd : * mut aeron_command_base_t ) ; } pub mod aeron_send_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_SEND_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; } pub use self :: aeron_send_channel_endpoint_status_enum :: Type as aeron_send_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct { pub conductor_fields : aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct , pub has_sender_released : bool , pub transport : aeron_udp_channel_transport_t , pub channel_status : aeron_atomic_counter_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub destination_tracker : * mut aeron_udp_destination_tracker_t , pub sender_proxy : * mut aeron_driver_sender_proxy_t , pub publication_dispatch_map : aeron_int64_to_ptr_hash_map_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub current_data_addr : sockaddr_storage , pub cached_clock : * mut aeron_clock_cache_t , pub time_of_last_sm_ns : i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub refcnt : i32 , pub has_reached_end_of_life : bool , pub udp_channel : * const aeron_udp_channel_t , pub status : aeron_send_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . refcnt as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( refcnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct_aeron_send_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_stct > ( ) , 368usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . has_sender_released as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( has_sender_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . destination_tracker as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( destination_tracker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . publication_dispatch_map as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( publication_dispatch_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . data_paths as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . current_data_addr as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( current_data_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_stct > ( ) ) ) . time_of_last_sm_ns as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_stct ) , "::" , stringify ! ( time_of_last_sm_ns ) ) ) ; } extern "C" { pub fn aeron_send_channel_endpoint_create ( endpoint : * mut * mut aeron_send_channel_endpoint_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_send_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_incref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_endpoint_decref ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_send_channel_sendmmsg ( endpoint : * mut aeron_send_channel_endpoint_t , mmsghdr : * mut mmsghdr , vlen : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_sendmsg ( endpoint : * mut aeron_send_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_add_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_remove_publication ( endpoint : * mut aeron_send_channel_endpoint_t , publication : * mut aeron_network_publication_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , sender_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_nak ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_status_message ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_on_rttm ( endpoint : * mut aeron_send_channel_endpoint_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_send_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_send_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_send_channel_endpoint_resolution_change ( endpoint : * mut aeron_send_channel_endpoint_t , endpoint_name : * const :: std :: os :: raw :: c_char , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_counter_map_stct { pub entries : * mut i64 , pub load_factor : f32 , pub entries_length : size_t , pub size : size_t , pub resize_threshold : size_t , pub initial_value : i64 , } # [ test ] fn bindgen_test_layout_aeron_int64_counter_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_counter_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_counter_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_counter_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . entries_length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( entries_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_counter_map_stct > ( ) ) ) . initial_value as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_counter_map_stct ) , "::" , stringify ! ( initial_value ) ) ) ; } pub type aeron_int64_counter_map_t = aeron_int64_counter_map_stct ; pub type aeron_int64_counter_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , value : i64 ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_entry_stct { pub value : * mut :: std :: os :: raw :: c_void , pub internal_flags : u32 , pub tag : u32 , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . internal_flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( internal_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_entry_stct > ( ) ) ) . tag as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_entry_stct ) , "::" , stringify ! ( tag ) ) ) ; } pub type aeron_int64_to_tagged_ptr_entry_t = aeron_int64_to_tagged_ptr_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_int64_to_tagged_ptr_hash_map_stct { pub keys : * mut i64 , pub entries : * mut aeron_int64_to_tagged_ptr_entry_t , pub load_factor : f32 , pub capacity : size_t , pub size : size_t , pub resize_threshold : size_t , } # [ test ] fn bindgen_test_layout_aeron_int64_to_tagged_ptr_hash_map_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . keys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . entries as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . load_factor as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( load_factor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . capacity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_int64_to_tagged_ptr_hash_map_stct > ( ) ) ) . resize_threshold as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_int64_to_tagged_ptr_hash_map_stct ) , "::" , stringify ! ( resize_threshold ) ) ) ; } pub type aeron_int64_to_tagged_ptr_hash_map_t = aeron_int64_to_tagged_ptr_hash_map_stct ; pub type aeron_int64_to_tagged_ptr_hash_map_for_each_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) > ; pub type aeron_int64_to_tagged_ptr_hash_map_predicate_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , key : i64 , tag : u32 , value : * mut :: std :: os :: raw :: c_void ) -> bool > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_proxy_stct { pub conductor : * mut aeron_driver_conductor_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_mpsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . conductor as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , cmd : * mut aeron_command_base_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_create_publication_image_stct { pub base : aeron_command_base_t , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub control_address : sockaddr_storage , pub src_address : sockaddr_storage , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_create_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_create_publication_image_stct > ( ) , 320usize , concat ! ( "Size of: " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_create_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_create_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_offset as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . control_address as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( control_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . src_address as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( src_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_create_publication_image_stct > ( ) ) ) . destination as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_create_publication_image_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_create_publication_image_t = aeron_command_create_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_re_resolve_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub existing_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_re_resolve_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_re_resolve_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_re_resolve_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_re_resolve_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_re_resolve_stct > ( ) ) ) . existing_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_re_resolve_stct ) , "::" , stringify ! ( existing_addr ) ) ) ; } pub type aeron_command_re_resolve_t = aeron_command_re_resolve_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_delete_destination_stct { pub base : aeron_command_base_t , pub destination : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_delete_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_delete_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_delete_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_delete_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . destination as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_delete_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_delete_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_delete_destination_t = aeron_command_delete_destination_stct ; extern "C" { pub fn aeron_driver_conductor_proxy_on_create_publication_image_cmd ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , term_offset : i32 , term_length : i32 , mtu_length : i32 , control_address : * mut sockaddr_storage , src_address : * mut sockaddr_storage , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_linger_buffer ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , buffer : * mut u8 ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_endpoint ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_re_resolve_control ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , existing_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_delete_receive_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , destination : * mut :: std :: os :: raw :: c_void , channel : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_conductor_proxy_on_delete_send_destination ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , removed_uri : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_proxy_on_receive_endpoint_removed ( conductor_proxy : * mut aeron_driver_conductor_proxy_t , endpoint : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct { pub conductor_fields : aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct , pub transport : aeron_udp_channel_transport_t , pub data_paths : * mut aeron_udp_channel_data_paths_t , pub local_sockaddr_indicator : aeron_atomic_counter_t , pub current_control_addr : sockaddr_storage , pub so_rcvbuf : size_t , pub time_of_last_activity_ns : i64 , pub has_control_addr : bool , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct { pub udp_channel : * mut aeron_udp_channel_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct_aeron_receive_destination_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_stct > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . transport as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( transport ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . data_paths as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . local_sockaddr_indicator as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( local_sockaddr_indicator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . current_control_addr as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( current_control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . so_rcvbuf as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( so_rcvbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_stct > ( ) ) ) . has_control_addr as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_stct ) , "::" , stringify ! ( has_control_addr ) ) ) ; } pub type aeron_receive_destination_t = aeron_receive_destination_stct ; extern "C" { pub fn aeron_receive_destination_create ( destination : * mut * mut aeron_receive_destination_t , channel : * mut aeron_udp_channel_t , context : * mut aeron_driver_context_t , counters_manager : * mut aeron_counters_manager_t , channel_status_counter_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_destination_delete ( destination : * mut aeron_receive_destination_t , counters_manager : * mut aeron_counters_manager_t ) ; } pub type aeron_publication_image_t = aeron_publication_image_stct ; pub type aeron_receive_channel_endpoint_t = aeron_receive_channel_endpoint_stct ; pub type aeron_driver_receiver_t = aeron_driver_receiver_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct { pub ignored_sessions_map : aeron_int64_to_ptr_hash_map_t , pub session_by_stream_id_map : aeron_int64_to_ptr_hash_map_t , pub tokens : aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct , pub conductor_proxy : * mut aeron_driver_conductor_proxy_t , pub receiver : * mut aeron_driver_receiver_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct { pub subscribed : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct > ( ) ) ) . subscribed as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct ) , "::" , stringify ! ( subscribed ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . ignored_sessions_map as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( ignored_sessions_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . session_by_stream_id_map as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( session_by_stream_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . tokens as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( tokens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stct > ( ) ) ) . receiver as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stct ) , "::" , stringify ! ( receiver ) ) ) ; } pub type aeron_data_packet_dispatcher_t = aeron_data_packet_dispatcher_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_init ( dispatcher : * mut aeron_data_packet_dispatcher_t , conductor_proxy : * mut aeron_driver_conductor_proxy_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_close ( dispatcher : * mut aeron_data_packet_dispatcher_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_data_packet_dispatcher_stream_interest_stct { pub is_all_sessions : bool , pub image_by_session_id_map : aeron_int64_to_tagged_ptr_hash_map_t , pub subscribed_sessions : aeron_int64_to_ptr_hash_map_t , } # [ test ] fn bindgen_test_layout_aeron_data_packet_dispatcher_stream_interest_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . is_all_sessions as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( is_all_sessions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . image_by_session_id_map as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( image_by_session_id_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_data_packet_dispatcher_stream_interest_stct > ( ) ) ) . subscribed_sessions as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_data_packet_dispatcher_stream_interest_stct ) , "::" , stringify ! ( subscribed_sessions ) ) ) ; } pub type aeron_data_packet_dispatcher_stream_interest_t = aeron_data_packet_dispatcher_stream_interest_stct ; extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_subscription_by_session ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_add_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_remove_publication_image ( dispatcher : * mut aeron_data_packet_dispatcher_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_data ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_data_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_setup ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_setup_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_on_rttm ( dispatcher : * mut aeron_data_packet_dispatcher_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , header : * mut aeron_rttm_header_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_data_packet_dispatcher_elicit_setup_from_source ( dispatcher : * mut aeron_data_packet_dispatcher_t , stream_interest : * mut aeron_data_packet_dispatcher_stream_interest_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } pub mod aeron_receive_channel_endpoint_status_enum { pub type Type = u32 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_ACTIVE : Type = 0 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSING : Type = 1 ; pub const AERON_RECEIVE_CHANNEL_ENDPOINT_STATUS_CLOSED : Type = 2 ; } pub use self :: aeron_receive_channel_endpoint_status_enum :: Type as aeron_receive_channel_endpoint_status_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_destination_entry_stct { pub destination : * mut aeron_receive_destination_t , } # [ test ] fn bindgen_test_layout_aeron_receive_destination_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_destination_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_destination_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_destination_entry_stct > ( ) ) ) . destination as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_destination_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_receive_destination_entry_t = aeron_receive_destination_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct { pub conductor_fields : aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct , pub destinations : aeron_receive_channel_endpoint_stct_destination_stct , pub dispatcher : aeron_data_packet_dispatcher_t , pub stream_id_to_refcnt_map : aeron_int64_counter_map_t , pub stream_and_session_id_to_refcnt_map : aeron_int64_counter_map_t , pub channel_status : aeron_atomic_counter_t , pub receiver_proxy : * mut aeron_driver_receiver_proxy_t , pub transport_bindings : * mut aeron_udp_channel_transport_bindings_t , pub cached_clock : * mut aeron_clock_cache_t , pub receiver_id : i64 , pub has_receiver_released : bool , pub group_tag : aeron_receive_channel_endpoint_stct__bindgen_ty_1 , pub short_sends_counter : * mut i64 , pub possible_ttl_asymmetry_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct { pub managed_resource : aeron_driver_managed_resource_t , pub udp_channel : * mut aeron_udp_channel_t , pub status : aeron_receive_channel_endpoint_status_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . udp_channel as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( udp_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct > ( ) ) ) . status as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_aeron_receive_channel_endpoint_conductor_fields_stct ) , "::" , stringify ! ( status ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct_destination_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_destination_entry_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct_destination_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct_destination_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_stct__bindgen_ty_1 { pub is_present : bool , pub value : i64 , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct__bindgen_ty_1 > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_stct > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . destinations as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( destinations ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . dispatcher as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( dispatcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_id_to_refcnt_map as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . stream_and_session_id_to_refcnt_map as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( stream_and_session_id_to_refcnt_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . channel_status as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( channel_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . transport_bindings as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( transport_bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . cached_clock as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . receiver_id as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( receiver_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . has_receiver_released as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_receiver_released ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . group_tag as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( group_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . short_sends_counter as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( short_sends_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_stct > ( ) ) ) . possible_ttl_asymmetry_counter as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_stct ) , "::" , stringify ! ( possible_ttl_asymmetry_counter ) ) ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_create ( endpoint : * mut * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , straight_through_destination : * mut aeron_receive_destination_t , status_indicator : * mut aeron_atomic_counter_t , system_counters : * mut aeron_system_counters_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_delete ( counters_manager : * mut aeron_counters_manager_t , endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_close ( endpoint : * mut aeron_receive_channel_endpoint_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_sendmsg ( endpoint : * mut aeron_receive_channel_endpoint_t , msghdr : * mut msghdr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_sm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , receiver_window : i32 , flags : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_nak ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , term_id : i32 , term_offset : i32 , length : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_send_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , addr : * mut sockaddr_storage , stream_id : i32 , session_id : i32 , echo_timestamp : i64 , reception_delta : i64 , is_reply : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_dispatch ( data_paths : * mut aeron_udp_channel_data_paths_t , receiver_clientd : * mut :: std :: os :: raw :: c_void , endpoint_clientd : * mut :: std :: os :: raw :: c_void , destination_clientd : * mut :: std :: os :: raw :: c_void , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_data ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_rttm ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , buffer : * mut u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_incref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_decref_to_stream_and_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_subscription_by_session ( endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t , destination_out : * mut * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_add_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_on_remove_publication_image ( endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receiver_channel_endpoint_validate_sender_mtu_length ( endpoint : * mut aeron_receive_channel_endpoint_t , sender_mtu_length : size_t , window_max_length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_check_for_re_resolution ( endpoint : * mut aeron_receive_channel_endpoint_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_update_control_address ( endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , address : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_remove_poll_transports ( endpoint : * mut aeron_receive_channel_endpoint_t , poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_receive_channel_endpoint_add_pending_setup_destination ( endpoint : * mut aeron_receive_channel_endpoint_t , receiver : * mut aeron_driver_receiver_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } pub type aeron_term_gap_scanner_on_gap_detected_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_gap_stct { pub term_id : i32 , pub term_offset : i32 , pub length : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_gap_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_gap_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_gap_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_gap_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . term_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_gap_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_gap_stct ) , "::" , stringify ! ( length ) ) ) ; } pub type aeron_loss_detector_gap_t = aeron_loss_detector_gap_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_detector_stct { pub on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , pub feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , pub on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void , pub scanned_gap : aeron_loss_detector_gap_t , pub active_gap : aeron_loss_detector_gap_t , pub expiry_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_loss_detector_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_detector_stct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_detector_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_detector_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . feedback_delay_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( feedback_delay_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . on_gap_detected_clientd as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( on_gap_detected_clientd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . scanned_gap as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( scanned_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . active_gap as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( active_gap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_detector_stct > ( ) ) ) . expiry_ns as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_detector_stct ) , "::" , stringify ! ( expiry_ns ) ) ) ; } pub type aeron_loss_detector_t = aeron_loss_detector_stct ; extern "C" { pub fn aeron_loss_detector_init ( detector : * mut aeron_loss_detector_t , feedback_delay_state : * mut aeron_feedback_delay_generator_state_t , on_gap_detected : aeron_term_gap_scanner_on_gap_detected_func_t , on_gap_detected_clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_scan ( detector : * mut aeron_loss_detector_t , loss_found : * mut bool , buffer : * const u8 , rebuild_position : i64 , hwm_position : i64 , now_ns : i64 , term_length_mask : size_t , position_bits_to_shift : size_t , initial_term_id : i32 ) -> i32 ; } extern "C" { pub fn aeron_feedback_delay_state_init ( state : * mut aeron_feedback_delay_generator_state_t , delay_generator : aeron_feedback_delay_generator_func_t , delay_ns : i64 , multicast_group_size : size_t , should_immediate_feedback : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_detector_nak_multicast_delay_generator ( state : * mut aeron_feedback_delay_generator_state_t ) -> i64 ; } # [ repr ( C , packed ( 4 ) ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_entry_stct { pub observation_count : i64 , pub total_bytes_lost : i64 , pub last_observation_timestamp : i64 , pub first_observation_timestamp : i64 , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_entry_stct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_entry_stct > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . observation_count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( observation_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . total_bytes_lost as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( total_bytes_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . last_observation_timestamp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( last_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . first_observation_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( first_observation_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_loss_reporter_entry_t = aeron_loss_reporter_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_loss_reporter_stct { pub buffer : * mut u8 , pub next_record_offset : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_loss_reporter_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_loss_reporter_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_loss_reporter_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_loss_reporter_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . next_record_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( next_record_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_loss_reporter_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_loss_reporter_stct ) , "::" , stringify ! ( capacity ) ) ) ; } pub type aeron_loss_reporter_t = aeron_loss_reporter_stct ; pub type aeron_loss_reporter_entry_offset_t = i64 ; extern "C" { pub fn aeron_loss_reporter_init ( reporter : * mut aeron_loss_reporter_t , buffer : * mut u8 , length : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_loss_reporter_create_entry ( reporter : * mut aeron_loss_reporter_t , initial_bytes_lost : i64 , timestamp_ms : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t , source : * const :: std :: os :: raw :: c_char , source_length : size_t ) -> aeron_loss_reporter_entry_offset_t ; } pub type aeron_loss_reporter_read_entry_func_t = :: std :: option :: Option < unsafe extern "C" fn ( clientd : * mut :: std :: os :: raw :: c_void , observation_count : i64 , total_bytes_lost : i64 , first_observation_timestamp : i64 , last_observation_timestamp : i64 , session_id : i32 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : i32 , source : * const :: std :: os :: raw :: c_char , source_length : i32 ) > ; extern "C" { pub fn aeron_loss_reporter_read ( buffer : * const u8 , capacity : size_t , entry_func : aeron_loss_reporter_read_entry_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> size_t ; } pub mod aeron_publication_image_state_enum { pub type Type = u32 ; pub const AERON_PUBLICATION_IMAGE_STATE_INACTIVE : Type = 0 ; pub const AERON_PUBLICATION_IMAGE_STATE_ACTIVE : Type = 1 ; pub const AERON_PUBLICATION_IMAGE_STATE_LINGER : Type = 2 ; pub const AERON_PUBLICATION_IMAGE_STATE_DONE : Type = 3 ; } pub use self :: aeron_publication_image_state_enum :: Type as aeron_publication_image_state_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_connection_stct { pub resolved_control_address_for_implicit_unicast_channels : sockaddr_storage , pub destination : * mut aeron_receive_destination_t , pub control_addr : * mut sockaddr_storage , pub time_of_last_activity_ns : i64 , pub time_of_last_frame_ns : i64 , pub is_eos : bool , } # [ test ] fn bindgen_test_layout_aeron_publication_image_connection_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_connection_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_connection_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_connection_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . resolved_control_address_for_implicit_unicast_channels as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( resolved_control_address_for_implicit_unicast_channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . destination as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . control_addr as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( control_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_activity_ns as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_activity_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . time_of_last_frame_ns as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( time_of_last_frame_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_connection_stct > ( ) ) ) . is_eos as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_connection_stct ) , "::" , stringify ! ( is_eos ) ) ) ; } pub type aeron_publication_image_connection_t = aeron_publication_image_connection_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct { pub padding_before : [ u8 ; 64usize ] , pub conductor_fields : aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct , pub padding_after : [ u8 ; 64usize ] , pub connections : aeron_publication_image_stct_image_connection_entries , pub source_address : sockaddr_storage , pub loss_detector : aeron_loss_detector_t , pub mapped_raw_log : aeron_mapped_raw_log_t , pub rcv_hwm_position : aeron_position_t , pub rcv_pos_position : aeron_position_t , pub log_meta_data : * mut aeron_logbuffer_metadata_t , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub congestion_control : * mut aeron_congestion_control_strategy_t , pub nano_clock : aeron_clock_func_t , pub cached_clock : * mut aeron_clock_cache_t , pub loss_reporter : * mut aeron_loss_reporter_t , pub loss_reporter_offset : aeron_loss_reporter_entry_offset_t , pub log_file_name : * mut :: std :: os :: raw :: c_char , pub session_id : i32 , pub stream_id : i32 , pub initial_term_id : i32 , pub active_term_id : i32 , pub initial_term_offset : i32 , pub term_length : i32 , pub mtu_length : i32 , pub term_length_mask : i32 , pub log_file_name_length : size_t , pub position_bits_to_shift : size_t , pub map_raw_log_close_func : aeron_map_raw_log_close_func_t , pub begin_loss_change : i64 , pub end_loss_change : i64 , pub loss_term_id : i32 , pub loss_term_offset : i32 , pub loss_length : size_t , pub begin_sm_change : i64 , pub end_sm_change : i64 , pub next_sm_position : i64 , pub next_sm_receiver_window_length : i32 , pub last_status_message_timestamp : i64 , pub last_packet_timestamp_ns : i64 , pub last_sm_change_number : i64 , pub last_sm_position : i64 , pub last_sm_position_window_limit : i64 , pub last_loss_change_number : i64 , pub is_end_of_stream : bool , pub heartbeats_received_counter : * mut i64 , pub flow_control_under_runs_counter : * mut i64 , pub flow_control_over_runs_counter : * mut i64 , pub status_messages_sent_counter : * mut i64 , pub nak_messages_sent_counter : * mut i64 , pub loss_gap_fills_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct { pub is_reliable : bool , pub state : aeron_publication_image_state_t , pub managed_resource : aeron_driver_managed_resource_t , pub subscribable : aeron_subscribable_t , pub time_of_last_state_change_ns : i64 , pub liveness_timeout_ns : i64 , pub clean_position : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . is_reliable as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . state as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . managed_resource as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( managed_resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . subscribable as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( subscribable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . time_of_last_state_change_ns as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( time_of_last_state_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . liveness_timeout_ns as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( liveness_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct > ( ) ) ) . clean_position as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_aeron_publication_image_conductor_fields_stct ) , "::" , stringify ! ( clean_position ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_stct_image_connection_entries { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_connection_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct_image_connection_entries ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct_image_connection_entries > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct_image_connection_entries > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct_image_connection_entries ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_stct > ( ) , 872usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_before as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_before ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . conductor_fields as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( conductor_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . padding_after as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( padding_after ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . connections as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( connections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . source_address as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( source_address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_detector as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_detector ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mapped_raw_log as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mapped_raw_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_hwm_position as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_hwm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . rcv_pos_position as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( rcv_pos_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_meta_data as * const _ as usize } , 584usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_meta_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 592usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . congestion_control as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( congestion_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nano_clock as * const _ as usize } , 608usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nano_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . cached_clock as * const _ as usize } , 616usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( cached_clock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_reporter_offset as * const _ as usize } , 632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_reporter_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . session_id as * const _ as usize } , 648usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . stream_id as * const _ as usize } , 652usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_id as * const _ as usize } , 656usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . active_term_id as * const _ as usize } , 660usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( active_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . initial_term_offset as * const _ as usize } , 664usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( initial_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length as * const _ as usize } , 668usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . mtu_length as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( mtu_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . term_length_mask as * const _ as usize } , 676usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( term_length_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . log_file_name_length as * const _ as usize } , 680usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( log_file_name_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . position_bits_to_shift as * const _ as usize } , 688usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( position_bits_to_shift ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . map_raw_log_close_func as * const _ as usize } , 696usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( map_raw_log_close_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_loss_change as * const _ as usize } , 704usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_loss_change as * const _ as usize } , 712usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_loss_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_id as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_term_offset as * const _ as usize } , 724usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_term_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_length as * const _ as usize } , 728usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . begin_sm_change as * const _ as usize } , 736usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( begin_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . end_sm_change as * const _ as usize } , 744usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( end_sm_change ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_position as * const _ as usize } , 752usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . next_sm_receiver_window_length as * const _ as usize } , 760usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( next_sm_receiver_window_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_status_message_timestamp as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_status_message_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_packet_timestamp_ns as * const _ as usize } , 776usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_packet_timestamp_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_change_number as * const _ as usize } , 784usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position as * const _ as usize } , 792usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_sm_position_window_limit as * const _ as usize } , 800usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_sm_position_window_limit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . last_loss_change_number as * const _ as usize } , 808usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( last_loss_change_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . is_end_of_stream as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( is_end_of_stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . heartbeats_received_counter as * const _ as usize } , 824usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( heartbeats_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_under_runs_counter as * const _ as usize } , 832usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_under_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . flow_control_over_runs_counter as * const _ as usize } , 840usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( flow_control_over_runs_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . status_messages_sent_counter as * const _ as usize } , 848usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( status_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . nak_messages_sent_counter as * const _ as usize } , 856usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( nak_messages_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_stct > ( ) ) ) . loss_gap_fills_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_stct ) , "::" , stringify ! ( loss_gap_fills_counter ) ) ) ; } extern "C" { pub fn aeron_publication_image_create ( image : * mut * mut aeron_publication_image_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , context : * mut aeron_driver_context_t , correlation_id : i64 , session_id : i32 , stream_id : i32 , initial_term_id : i32 , active_term_id : i32 , initial_term_offset : i32 , rcv_hwm_position : * mut aeron_position_t , rcv_pos_position : * mut aeron_position_t , congestion_control : * mut aeron_congestion_control_strategy_t , control_address : * mut sockaddr_storage , source_address : * mut sockaddr_storage , term_buffer_length : i32 , sender_mtu_length : i32 , loss_reporter : * mut aeron_loss_reporter_t , is_reliable : bool , is_sparse : bool , treat_as_multicast : bool , system_counters : * mut aeron_system_counters_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_close ( counters_manager : * mut aeron_counters_manager_t , image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_clean_buffer_to ( image : * mut aeron_publication_image_t , position : i64 ) ; } extern "C" { pub fn aeron_publication_image_on_gap_detected ( clientd : * mut :: std :: os :: raw :: c_void , term_id : i32 , term_offset : i32 , length : size_t ) ; } extern "C" { pub fn aeron_publication_image_track_rebuild ( image : * mut aeron_publication_image_t , now_ns : i64 , status_message_timeout : i64 ) ; } extern "C" { pub fn aeron_publication_image_insert_packet ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , term_id : i32 , term_offset : i32 , buffer : * const u8 , length : size_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_on_rttm ( image : * mut aeron_publication_image_t , header : * mut aeron_rttm_header_t , addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_status_message ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_send_pending_loss ( image : * mut aeron_publication_image_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_initiate_rttm ( image : * mut aeron_publication_image_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_destination ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_remove_destination ( image : * mut aeron_publication_image_t , channel : * mut aeron_udp_channel_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_publication_image_add_connection_if_unknown ( image : * mut aeron_publication_image_t , destination : * mut aeron_receive_destination_t , src_addr : * mut sockaddr_storage ) ; } extern "C" { pub fn aeron_publication_image_on_time_event ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t , now_ns : i64 , now_ms : i64 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_link_stct { pub resource : * mut aeron_driver_managed_resource_t , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . resource as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( resource ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_publication_link_t = aeron_publication_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_counter_link_stct { pub counter_id : i32 , pub registration_id : i64 , } # [ test ] fn bindgen_test_layout_aeron_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_counter_link_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_counter_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_counter_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; } pub type aeron_counter_link_t = aeron_counter_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct { pub reached_end_of_life : bool , pub closed_by_command : bool , pub client_id : i64 , pub client_liveness_timeout_ms : i64 , pub heartbeat_timestamp : aeron_atomic_counter_t , pub publication_links : aeron_client_stct_publication_link_stct , pub counter_links : aeron_client_stct_counter_link_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_publication_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_publication_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_publication_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_publication_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_publication_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_publication_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_publication_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_client_stct_counter_link_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_counter_link_t , } # [ test ] fn bindgen_test_layout_aeron_client_stct_counter_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct_counter_link_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct_counter_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct_counter_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct_counter_link_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct_counter_link_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_client_stct > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . closed_by_command as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( closed_by_command ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . client_liveness_timeout_ms as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( client_liveness_timeout_ms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . heartbeat_timestamp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( heartbeat_timestamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . publication_links as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( publication_links ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_client_stct > ( ) ) ) . counter_links as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_client_stct ) , "::" , stringify ! ( counter_links ) ) ) ; } pub type aeron_client_t = aeron_client_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscribable_list_entry_stct { pub counter_id : i32 , pub subscribable : * mut aeron_subscribable_t , } # [ test ] fn bindgen_test_layout_aeron_subscribable_list_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscribable_list_entry_stct > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscribable_list_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscribable_list_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . counter_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( counter_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscribable_list_entry_stct > ( ) ) ) . subscribable as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscribable_list_entry_stct ) , "::" , stringify ! ( subscribable ) ) ) ; } pub type aeron_subscribable_list_entry_t = aeron_subscribable_list_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct { pub channel : [ :: std :: os :: raw :: c_char ; 384usize ] , pub is_tether : bool , pub is_sparse : bool , pub is_reliable : bool , pub is_rejoin : bool , pub has_session_id : bool , pub group : aeron_inferable_boolean_t , pub stream_id : i32 , pub session_id : i32 , pub channel_length : i32 , pub registration_id : i64 , pub client_id : i64 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub spy_channel : * mut aeron_udp_channel_t , pub subscribable_list : aeron_subscription_link_stct_subscribable_list_stct , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_subscription_link_stct_subscribable_list_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscribable_list_entry_t , } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct_subscribable_list_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct_subscribable_list_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct_subscribable_list_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_subscription_link_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_subscription_link_stct > ( ) , 464usize , concat ! ( "Size of: " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_subscription_link_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_subscription_link_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_tether as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_tether ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_sparse as * const _ as usize } , 385usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_reliable as * const _ as usize } , 386usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_reliable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . is_rejoin as * const _ as usize } , 387usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( is_rejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . has_session_id as * const _ as usize } , 388usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( has_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . group as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( group ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . stream_id as * const _ as usize } , 396usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . session_id as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . channel_length as * const _ as usize } , 404usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( channel_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . registration_id as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( registration_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . client_id as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( client_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . endpoint as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . spy_channel as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( spy_channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_subscription_link_stct > ( ) ) ) . subscribable_list as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_subscription_link_stct ) , "::" , stringify ! ( subscribable_list ) ) ) ; } pub type aeron_subscription_link_t = aeron_subscription_link_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_ipc_publication_entry_stct { pub publication : * mut aeron_ipc_publication_t , } # [ test ] fn bindgen_test_layout_aeron_ipc_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_ipc_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_ipc_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_ipc_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_ipc_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_ipc_publication_entry_t = aeron_ipc_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_network_publication_entry_t = aeron_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_send_channel_endpoint_entry_stct { pub endpoint : * mut aeron_send_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_send_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_send_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_send_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_send_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_send_channel_endpoint_entry_t = aeron_send_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_receive_channel_endpoint_entry_stct { pub endpoint : * mut aeron_receive_channel_endpoint_t , } # [ test ] fn bindgen_test_layout_aeron_receive_channel_endpoint_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_receive_channel_endpoint_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_receive_channel_endpoint_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_receive_channel_endpoint_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; } pub type aeron_receive_channel_endpoint_entry_t = aeron_receive_channel_endpoint_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_publication_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_publication_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_publication_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_publication_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_publication_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_publication_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_publication_image_entry_t = aeron_publication_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_linger_resource_entry_stct { pub has_reached_end_of_life : bool , pub buffer : * mut u8 , pub timeout_ns : i64 , } # [ test ] fn bindgen_test_layout_aeron_linger_resource_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_linger_resource_entry_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_linger_resource_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_linger_resource_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . buffer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_linger_resource_entry_stct > ( ) ) ) . timeout_ns as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_linger_resource_entry_stct ) , "::" , stringify ! ( timeout_ns ) ) ) ; } pub type aeron_linger_resource_entry_t = aeron_linger_resource_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct { pub context : * mut aeron_driver_context_t , pub to_driver_commands : aeron_mpsc_rb_t , pub to_clients : aeron_broadcast_transmitter_t , pub error_log : aeron_distinct_error_log_t , pub counters_manager : aeron_counters_manager_t , pub system_counters : aeron_system_counters_t , pub conductor_proxy : aeron_driver_conductor_proxy_t , pub loss_reporter : aeron_loss_reporter_t , pub name_resolver : aeron_name_resolver_t , pub send_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub receive_channel_endpoint_by_channel_map : aeron_str_to_ptr_hash_map_t , pub clients : aeron_driver_conductor_stct_client_stct , pub ipc_subscriptions : aeron_driver_conductor_stct_ipc_subscriptions_stct , pub ipc_publications : aeron_driver_conductor_stct_ipc_publication_stct , pub network_subscriptions : aeron_driver_conductor_stct_network_subscriptions_stct , pub spy_subscriptions : aeron_driver_conductor_stct_spy_subscriptions_stct , pub network_publications : aeron_driver_conductor_stct_network_publication_stct , pub send_channel_endpoints : aeron_driver_conductor_stct_send_channel_endpoint_stct , pub receive_channel_endpoints : aeron_driver_conductor_stct_receive_channel_endpoint_stct , pub publication_images : aeron_driver_conductor_stct_publication_image_stct , pub lingering_resources : aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct , pub errors_counter : * mut i64 , pub unblocked_commands_counter : * mut i64 , pub client_timeouts_counter : * mut i64 , pub clock_update_deadline_ns : i64 , pub next_session_id : i32 , pub publication_reserved_session_id_low : i32 , pub publication_reserved_session_id_high : i32 , pub time_of_last_timeout_check_ns : i64 , pub time_of_last_to_driver_position_change_ns : i64 , pub last_consumer_command_position : i64 , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_client_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_client_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_client_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_client_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_client_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_client_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_client_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_client_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_ipc_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_ipc_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_ipc_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_ipc_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_ipc_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_ipc_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_spy_subscriptions_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_subscription_link_t , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_spy_subscriptions_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_spy_subscriptions_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_spy_subscriptions_stct ) , "::" , stringify ! ( array ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_network_publication_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_network_publication_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_network_publication_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_network_publication_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_network_publication_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_network_publication_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_network_publication_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_send_channel_endpoint_stct { pub array : * mut aeron_send_channel_endpoint_entry_t , pub length : size_t , pub capacity : size_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_send_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_send_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_send_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_send_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_receive_channel_endpoint_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_receive_channel_endpoint_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_receive_channel_endpoint_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_receive_channel_endpoint_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_receive_channel_endpoint_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_receive_channel_endpoint_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_publication_image_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_publication_image_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_publication_image_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_publication_image_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_publication_image_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct { pub length : size_t , pub capacity : size_t , pub array : * mut aeron_linger_resource_entry_t , pub on_time_event : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t , arg3 : i64 , arg4 : i64 ) > , pub has_reached_end_of_life : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) -> bool > , pub delete_func : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut aeron_driver_conductor_t , arg2 : * mut aeron_linger_resource_entry_t ) > , } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . capacity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( capacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . array as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . on_time_event as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( on_time_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . has_reached_end_of_life as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( has_reached_end_of_life ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct > ( ) ) ) . delete_func as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct_aeron_driver_conductor_lingering_resources_stct ) , "::" , stringify ! ( delete_func ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_conductor_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_conductor_stct > ( ) , 1000usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_conductor_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_conductor_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_driver_commands as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_driver_commands ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . to_clients as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( to_clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . error_log as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . counters_manager as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( counters_manager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . system_counters as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( system_counters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . conductor_proxy as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( conductor_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . loss_reporter as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( loss_reporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . name_resolver as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( name_resolver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoint_by_channel_map as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoint_by_channel_map as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoint_by_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clients as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clients ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_subscriptions as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . ipc_publications as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( ipc_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_subscriptions as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . spy_subscriptions as * const _ as usize } , 600usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( spy_subscriptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . network_publications as * const _ as usize } , 624usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . send_channel_endpoints as * const _ as usize } , 672usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( send_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . receive_channel_endpoints as * const _ as usize } , 720usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( receive_channel_endpoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_images as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . lingering_resources as * const _ as usize } , 816usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( lingering_resources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . errors_counter as * const _ as usize } , 864usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . unblocked_commands_counter as * const _ as usize } , 872usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( unblocked_commands_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . client_timeouts_counter as * const _ as usize } , 880usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( client_timeouts_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . clock_update_deadline_ns as * const _ as usize } , 888usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( clock_update_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . next_session_id as * const _ as usize } , 896usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( next_session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_low as * const _ as usize } , 900usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . publication_reserved_session_id_high as * const _ as usize } , 904usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( publication_reserved_session_id_high ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_timeout_check_ns as * const _ as usize } , 912usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_timeout_check_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . time_of_last_to_driver_position_change_ns as * const _ as usize } , 920usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( time_of_last_to_driver_position_change_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . last_consumer_command_position as * const _ as usize } , 928usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( last_consumer_command_position ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_conductor_stct > ( ) ) ) . padding as * const _ as usize } , 936usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_conductor_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_client_on_time_event ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_client_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , client : * mut aeron_client_t ) -> bool ; } extern "C" { pub fn aeron_client_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_client_t ) ; } extern "C" { pub fn aeron_ipc_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_ipc_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_ipc_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_ipc_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_ipc_publication_entry_t ) ; } extern "C" { pub fn aeron_network_publication_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_network_publication_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_network_publication_entry_t ) -> bool ; } extern "C" { pub fn aeron_network_publication_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_network_publication_entry_t ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_send_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_send_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_send_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_receive_channel_endpoint_entry_t ) -> bool ; } extern "C" { pub fn aeron_receive_channel_endpoint_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_receive_channel_endpoint_entry_t ) ; } extern "C" { pub fn aeron_publication_image_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_publication_image_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_publication_image_entry_t ) -> bool ; } extern "C" { pub fn aeron_publication_image_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_publication_image_entry_t ) ; } extern "C" { pub fn aeron_linger_resource_entry_on_time_event ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t , now_ns : i64 , now_ms : i64 ) ; } extern "C" { pub fn aeron_linger_resource_entry_has_reached_end_of_life ( conductor : * mut aeron_driver_conductor_t , entry : * mut aeron_linger_resource_entry_t ) -> bool ; } extern "C" { pub fn aeron_linger_resource_entry_delete ( conductor : * mut aeron_driver_conductor_t , arg1 : * mut aeron_linger_resource_entry_t ) ; } extern "C" { pub fn aeron_driver_conductor_image_transition_to_linger ( conductor : * mut aeron_driver_conductor_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_conductor_init ( conductor : * mut aeron_driver_conductor_t , context : * mut aeron_driver_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_client_transmit ( conductor : * mut aeron_driver_conductor_t , msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_available_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , stream_id : i32 , session_id : i32 , log_file_name : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , subscriber_position_id : i32 , subscriber_registration_id : i64 , source_identity : * const :: std :: os :: raw :: c_char , source_identity_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_image ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 , subscription_registration_id : i64 , stream_id : i32 , channel : * const :: std :: os :: raw :: c_char , channel_length : size_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_counter_ready ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_unavailable_counter ( conductor : * mut aeron_driver_conductor_t , registration_id : i64 , counter_id : i32 ) ; } extern "C" { pub fn aeron_driver_conductor_on_client_timeout ( conductor : * mut aeron_driver_conductor_t , correlation_id : i64 ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_spies ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_cleanup_network_publication ( conductor : * mut aeron_driver_conductor_t , publication : * mut aeron_network_publication_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_command ( msg_type_id : i32 , message : * const :: std :: os :: raw :: c_void , length : size_t , clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_link_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t , original_registration_id : i64 , session_id : i32 , stream_id : i32 , join_position : i64 , now_ns : i64 , source_identity_length : size_t , source_identity : * const :: std :: os :: raw :: c_char , log_file_name_length : size_t , log_file_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_unlink_subscribable ( link : * mut aeron_subscription_link_t , subscribable : * mut aeron_subscribable_t ) ; } extern "C" { pub fn aeron_driver_conductor_unlink_all_subscribable ( conductor : * mut aeron_driver_conductor_t , link : * mut aeron_subscription_link_t ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_publication_command_t , is_exclusive : bool ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_publication ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_ipc_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_spy_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_network_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_subscription_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_subscription ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_keepalive ( conductor : * mut aeron_driver_conductor_t , client_id : i64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_add_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_receive_destination ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_destination_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_delete_receive_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_delete_send_destination ( clientd : * mut :: std :: os :: raw :: c_void , cmd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_add_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_counter_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_remove_counter ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_remove_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_client_close ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_correlated_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_terminate_driver ( conductor : * mut aeron_driver_conductor_t , command : * mut aeron_terminate_driver_command_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_conductor_on_create_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_linger_buffer ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_re_resolve_control ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_on_receive_endpoint_removed ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_conductor_find_send_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_send_channel_endpoint_t ; } extern "C" { pub fn aeron_driver_conductor_find_receive_channel_endpoint_by_tag ( conductor : * mut aeron_driver_conductor_t , channel_tag_id : i64 ) -> * mut aeron_receive_channel_endpoint_t ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_channel_transport_entry_stct { pub transport : * mut aeron_udp_channel_transport_t , } # [ test ] fn bindgen_test_layout_aeron_udp_channel_transport_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_channel_transport_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_channel_transport_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_channel_transport_entry_stct > ( ) ) ) . transport as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_channel_transport_entry_stct ) , "::" , stringify ! ( transport ) ) ) ; } pub type aeron_udp_channel_transport_entry_t = aeron_udp_channel_transport_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct { pub transports : aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct , pub bindings_clientd : * mut :: std :: os :: raw :: c_void , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct { pub array : * mut aeron_udp_channel_transport_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct_aeron_udp_channel_transports_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_udp_transport_poller_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_udp_transport_poller_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_udp_transport_poller_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_udp_transport_poller_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . transports as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( transports ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_udp_transport_poller_stct > ( ) ) ) . bindings_clientd as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_udp_transport_poller_stct ) , "::" , stringify ! ( bindings_clientd ) ) ) ; } extern "C" { pub fn aeron_udp_transport_poller_init ( poller : * mut aeron_udp_transport_poller_t , context : * mut aeron_driver_context_t , affinity : aeron_udp_channel_transport_affinity_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_close ( poller : * mut aeron_udp_transport_poller_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_add ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_remove ( poller : * mut aeron_udp_transport_poller_t , transport : * mut aeron_udp_channel_transport_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_poll ( poller : * mut aeron_udp_transport_poller_t , msgvec : * mut mmsghdr , vlen : size_t , bytes_rcved : * mut i64 , recv_func : aeron_udp_transport_recv_func_t , recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_send_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_udp_transport_poller_check_receive_endpoint_re_resolutions ( poller : * mut aeron_udp_transport_poller_t , now_ns : i64 , conductor_proxy : * mut aeron_driver_conductor_proxy_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_network_publication_entry_stct { pub publication : * mut aeron_network_publication_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_network_publication_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_network_publication_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_network_publication_entry_stct > ( ) ) ) . publication as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_network_publication_entry_stct ) , "::" , stringify ! ( publication ) ) ) ; } pub type aeron_driver_sender_network_publication_entry_t = aeron_driver_sender_network_publication_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct { pub sender_proxy : aeron_driver_sender_proxy_t , pub poller : aeron_udp_transport_poller_t , pub network_publications : aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct , pub recv_buffers : aeron_driver_sender_stct_aeron_driver_sender_buffers_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub total_bytes_sent_counter : * mut i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub status_messages_received_counter : * mut i64 , pub nak_messages_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub status_message_read_timeout_ns : i64 , pub control_poll_timeout_ns : i64 , pub re_resolution_deadline_ns : i64 , pub round_robin_index : size_t , pub duty_cycle_counter : size_t , pub duty_cycle_ratio : size_t , pub padding : [ u8 ; 64usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct { pub array : * mut aeron_driver_sender_network_publication_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_sender_stct_aeron_driver_sender_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct_aeron_driver_sender_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct_aeron_driver_sender_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_sender_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_sender_stct > ( ) , 624usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_sender_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_sender_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . sender_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( sender_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . network_publications as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( network_publications ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . data_paths as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . total_bytes_sent_counter as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( total_bytes_sent_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . errors_counter as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_messages_received_counter as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . nak_messages_received_counter as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( nak_messages_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . context as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . error_log as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . status_message_read_timeout_ns as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( status_message_read_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . control_poll_timeout_ns as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( control_poll_timeout_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . round_robin_index as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( round_robin_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_counter as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . duty_cycle_ratio as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( duty_cycle_ratio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_sender_stct > ( ) ) ) . padding as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_sender_stct ) , "::" , stringify ! ( padding ) ) ) ; } extern "C" { pub fn aeron_driver_sender_init ( sender : * mut aeron_driver_sender_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_sender_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_publication ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , command : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_sender_do_send ( sender : * mut aeron_driver_sender_t , now_ns : i64 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_proxy_stct { pub receiver : * mut aeron_driver_receiver_t , pub threading_mode : aeron_threading_mode_t , pub command_queue : * mut aeron_spsc_concurrent_array_queue_t , pub fail_counter : * mut i64 , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_proxy_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_proxy_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_proxy_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_proxy_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . receiver as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . threading_mode as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( threading_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . command_queue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( command_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_proxy_stct > ( ) ) ) . fail_counter as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_proxy_stct ) , "::" , stringify ! ( fail_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_delete_cmd ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , cmd : * mut aeron_command_base_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_endpoint ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_subscription_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub stream_id : i32 , pub session_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_subscription_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_subscription_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_subscription_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_subscription_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . stream_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_subscription_stct > ( ) ) ) . session_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_subscription_stct ) , "::" , stringify ! ( session_id ) ) ) ; } pub type aeron_command_subscription_t = aeron_command_subscription_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_add_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_subscription_by_session ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , stream_id : i32 , session_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_add_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_add_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_add_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_add_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_add_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_add_rcv_destination_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_add_rcv_destination_stct ) , "::" , stringify ! ( destination ) ) ) ; } pub type aeron_command_add_rcv_destination_t = aeron_command_add_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_rcv_destination_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub channel : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_remove_rcv_destination_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_rcv_destination_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_rcv_destination_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_rcv_destination_stct > ( ) ) ) . channel as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_rcv_destination_stct ) , "::" , stringify ! ( channel ) ) ) ; } pub type aeron_command_remove_rcv_destination_t = aeron_command_remove_rcv_destination_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_destination ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , channel : * mut aeron_udp_channel_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_publication_image_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub image : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_aeron_command_publication_image_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_publication_image_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_publication_image_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_publication_image_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_publication_image_stct > ( ) ) ) . image as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_publication_image_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_command_publication_image_t = aeron_command_publication_image_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_remove_cool_down_stct { pub base : aeron_command_base_t , pub endpoint : * mut :: std :: os :: raw :: c_void , pub session_id : i32 , pub stream_id : i32 , } # [ test ] fn bindgen_test_layout_aeron_command_remove_cool_down_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_remove_cool_down_stct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_remove_cool_down_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_remove_cool_down_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . session_id as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_remove_cool_down_stct > ( ) ) ) . stream_id as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_remove_cool_down_stct ) , "::" , stringify ! ( stream_id ) ) ) ; } pub type aeron_command_remove_cool_down_t = aeron_command_remove_cool_down_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_add_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_publication_image ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , image : * mut aeron_publication_image_t ) ; } extern "C" { pub fn aeron_driver_receiver_proxy_on_remove_cool_down ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint : * mut aeron_receive_channel_endpoint_t , session_id : i32 , stream_id : i32 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_command_receiver_resolution_change_stct { pub base : aeron_command_base_t , pub endpoint_name : * const :: std :: os :: raw :: c_char , pub endpoint : * mut :: std :: os :: raw :: c_void , pub destination : * mut :: std :: os :: raw :: c_void , pub new_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_command_receiver_resolution_change_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_command_receiver_resolution_change_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_command_receiver_resolution_change_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint_name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . endpoint as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . destination as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_command_receiver_resolution_change_stct > ( ) ) ) . new_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_command_receiver_resolution_change_stct ) , "::" , stringify ! ( new_addr ) ) ) ; } pub type aeron_command_receiver_resolution_change_t = aeron_command_receiver_resolution_change_stct ; extern "C" { pub fn aeron_driver_receiver_proxy_on_resolution_change ( receiver_proxy : * mut aeron_driver_receiver_proxy_t , endpoint_name : * const :: std :: os :: raw :: c_char , endpoint : * mut :: std :: os :: raw :: c_void , destination : * mut :: std :: os :: raw :: c_void , new_addr : * mut sockaddr_storage ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_image_entry_stct { pub image : * mut aeron_publication_image_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_image_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_image_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_image_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_image_entry_stct > ( ) ) ) . image as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_image_entry_stct ) , "::" , stringify ! ( image ) ) ) ; } pub type aeron_driver_receiver_image_entry_t = aeron_driver_receiver_image_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_pending_setup_entry_stct { pub is_periodic : bool , pub session_id : i32 , pub stream_id : i32 , pub endpoint : * mut aeron_receive_channel_endpoint_t , pub destination : * mut aeron_receive_destination_t , pub time_of_status_message_ns : i64 , pub control_addr : sockaddr_storage , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_pending_setup_entry_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . is_periodic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( is_periodic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . session_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( session_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . stream_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( stream_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . endpoint as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( endpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . destination as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( destination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . time_of_status_message_ns as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( time_of_status_message_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_pending_setup_entry_stct > ( ) ) ) . control_addr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_pending_setup_entry_stct ) , "::" , stringify ! ( control_addr ) ) ) ; } pub type aeron_driver_receiver_pending_setup_entry_t = aeron_driver_receiver_pending_setup_entry_stct ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct { pub receiver_proxy : aeron_driver_receiver_proxy_t , pub poller : aeron_udp_transport_poller_t , pub recv_buffers : aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct , pub images : aeron_driver_receiver_stct_aeron_driver_receiver_images_stct , pub pending_setups : aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct , pub data_paths : aeron_udp_channel_data_paths_t , pub context : * mut aeron_driver_context_t , pub poller_poll_func : aeron_udp_transport_poller_poll_func_t , pub recvmmsg_func : aeron_udp_channel_transport_recvmmsg_func_t , pub error_log : * mut aeron_distinct_error_log_t , pub re_resolution_deadline_ns : i64 , pub errors_counter : * mut i64 , pub invalid_frames_counter : * mut i64 , pub total_bytes_received_counter : * mut i64 , pub resolution_changes_counter : * mut i64 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct { pub buffers : [ * mut u8 ; 2usize ] , pub iov : [ iovec ; 2usize ] , pub addrs : [ sockaddr_storage ; 2usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 304usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . buffers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . iov as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( iov ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct > ( ) ) ) . addrs as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_buffers_stct ) , "::" , stringify ! ( addrs ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_images_stct { pub array : * mut aeron_driver_receiver_image_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_images_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_images_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct { pub array : * mut aeron_driver_receiver_pending_setup_entry_t , pub length : size_t , pub capacity : size_t , } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . array as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . length as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct > ( ) ) ) . capacity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct_aeron_driver_receiver_pending_setups_stct ) , "::" , stringify ! ( capacity ) ) ) ; } # [ test ] fn bindgen_test_layout_aeron_driver_receiver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_receiver_stct > ( ) , 528usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_receiver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_receiver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . receiver_proxy as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( receiver_proxy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recv_buffers as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recv_buffers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . images as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( images ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . pending_setups as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( pending_setups ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . data_paths as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( data_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . context as * const _ as usize } , 456usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . poller_poll_func as * const _ as usize } , 464usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( poller_poll_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . recvmmsg_func as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( recvmmsg_func ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . error_log as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( error_log ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . re_resolution_deadline_ns as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( re_resolution_deadline_ns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . errors_counter as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( errors_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . invalid_frames_counter as * const _ as usize } , 504usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( invalid_frames_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . total_bytes_received_counter as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( total_bytes_received_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_receiver_stct > ( ) ) ) . resolution_changes_counter as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_receiver_stct ) , "::" , stringify ! ( resolution_changes_counter ) ) ) ; } extern "C" { pub fn aeron_driver_receiver_init ( receiver : * mut aeron_driver_receiver_t , context : * mut aeron_driver_context_t , system_counters : * mut aeron_system_counters_t , error_log : * mut aeron_distinct_error_log_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_do_work ( clientd : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aeron_driver_receiver_on_close ( clientd : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_endpoint ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_subscription_by_session ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_destination ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_add_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_publication_image ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_remove_cool_down ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_on_resolution_change ( clientd : * mut :: std :: os :: raw :: c_void , item : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aeron_driver_receiver_add_pending_setup ( receiver : * mut aeron_driver_receiver_t , endpoint : * mut aeron_receive_channel_endpoint_t , destination : * mut aeron_receive_destination_t , session_id : i32 , stream_id : i32 , control_addr : * mut sockaddr_storage ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct aeron_driver_stct { pub context : * mut aeron_driver_context_t , pub conductor : aeron_driver_conductor_t , pub sender : aeron_driver_sender_t , pub receiver : aeron_driver_receiver_t , pub runners : [ aeron_agent_runner_t ; 3usize ] , } # [ test ] fn bindgen_test_layout_aeron_driver_stct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aeron_driver_stct > ( ) , 2400usize , concat ! ( "Size of: " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aeron_driver_stct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aeron_driver_stct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . context as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . conductor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( conductor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . sender as * const _ as usize } , 1008usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( sender ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . receiver as * const _ as usize } , 1632usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( receiver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aeron_driver_stct > ( ) ) ) . runners as * const _ as usize } , 2160usize , concat ! ( "Offset of field: " , stringify ! ( aeron_driver_stct ) , "::" , stringify ! ( runners ) ) ) ; } extern "C" { pub fn aeron_is_driver_active_with_cnc ( cnc_map : * mut aeron_mapped_file_t , timeout_ms : i64 , now_ms : i64 , log_func : aeron_log_func_t ) -> bool ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stderr] [INFO] [stderr] error: reference to packed field is unaligned [INFO] [stderr] --> /opt/rustwide/target/debug/build/libaeron_driver-sys-a8b4d3a9f05df5ef/out/bindings.rs:3:218054 [INFO] [stderr] | [WARN] too much data in the log, truncating it