fn init()

in dc/wireshark/src/field.rs [185:564]


fn init() -> Registration {
    use wireshark_sys::{
        field_display_e_BASE_DEC as BASE_DEC, field_display_e_BASE_HEX as BASE_HEX,
        field_display_e_BASE_NONE as BASE_NONE, field_display_e_SEP_DOT as SEP_DOT,
        ftenum_FT_BOOLEAN as BOOLEAN, ftenum_FT_BYTES as BYTES,
        ftenum_FT_RELATIVE_TIME as RELATIVE_TIME, ftenum_FT_STRING as STRING,
        ftenum_FT_UINT16 as UINT16, ftenum_FT_UINT32 as UINT32, ftenum_FT_UINT64 as UINT64,
        ftenum_FT_UINT8 as UINT8,
    };

    let protocol = register_protocol();

    Registration {
        protocol: protocol.0,
        all_subtree: register_subtree(),
        tag_subtree: register_subtree(),
        control_data_subtree: register_subtree(),
        ack_range_subtree: register_subtree(),
        tag: protocol
            .field(c"Tag", c"dcquic.tag", UINT8, BASE_HEX, c"dcQUIC packet tag")
            .register(),
        is_ack_eliciting: protocol
            .field(
                c"Is ack eliciting?",
                c"dcquic.tag.is_ack_eliciting",
                BOOLEAN,
                SEP_DOT,
                c"Will packet elicit acknowledgements?",
            )
            .with_mask(masks::ACK_ELICITING)
            .register(),
        is_connected: protocol
            .field(
                c"Is connected?",
                c"dcquic.tag.is_connected",
                BOOLEAN,
                SEP_DOT,
                c"Is the application using a connected dcQUIC client?",
            )
            .with_mask(masks::IS_CONNECTED)
            .register(),
        has_application_header: protocol
            .field(
                c"Has application header?",
                c"dcquic.tag.has_application_header",
                BOOLEAN,
                SEP_DOT,
                c"Does the packet contain an authenticated plaintext application-provided header?",
            )
            .with_mask(masks::HAS_APPLICATION_HEADER)
            .register(),
        stream_has_source_queue_id: protocol
            .field(
                c"Has source queue_id?",
                c"dcquic.tag.has_source_queue_id",
                BOOLEAN,
                SEP_DOT,
                c"",
            )
            .with_mask(masks::STREAM_HAS_SOURCE_QUEUE_ID)
            .register(),
        control_has_source_queue_id: protocol
            .field(
                c"Has source queue_id?",
                c"dcquic.tag.has_source_queue_id",
                BOOLEAN,
                SEP_DOT,
                c"",
            )
            .with_mask(masks::CONTROL_HAS_SOURCE_QUEUE_ID)
            .register(),
        is_recovery_packet: protocol
            .field(
                c"Is recovery packet?",
                c"dcquic.tag.is_recovery_packet",
                BOOLEAN,
                SEP_DOT,
                c"",
            )
            .with_mask(masks::IS_RECOVERY_PACKET)
            .register(),
        has_control_data: protocol
            .field(
                c"Has control data?",
                c"dcquic.tag.has_control_data",
                BOOLEAN,
                SEP_DOT,
                c"",
            )
            .with_mask(masks::HAS_CONTROL_DATA)
            .register(),
        has_final_offset: protocol
            .field(
                c"Has final offset?",
                c"dcquic.tag.has_final_offset",
                BOOLEAN,
                SEP_DOT,
                c"",
            )
            .with_mask(masks::HAS_FINAL_OFFSET)
            .register(),
        key_phase: protocol
            .field(c"Key Phase", c"dcquic.tag.key_phase", BOOLEAN, SEP_DOT, c"")
            .with_mask(masks::KEY_PHASE)
            .register(),
        wire_version: protocol
            .field(
                c"Wire Version",
                c"dcquic.wire_version",
                UINT32,
                BASE_DEC,
                c"dcQUIC wire version",
            )
            .register(),
        path_secret_id: protocol
            .field(
                c"Path Secret ID",
                c"dcquic.path_secret_id",
                BYTES,
                BASE_NONE,
                c"dcQUIC path secret id",
            )
            .register(),
        key_id: protocol
            .field(
                c"Key ID",
                c"dcquic.key_id",
                UINT64,
                BASE_DEC,
                c"dcQUIC key ID",
            )
            .register(),
        source_control_port: protocol
            .field(
                c"Source Control Port",
                c"dcquic.source_control_port",
                UINT16,
                BASE_DEC,
                c"source control port",
            )
            .register(),
        source_queue_id: protocol
            .field(
                c"Source Queue ID",
                c"dcquic.source_queue_id",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        packet_number: protocol
            .field(
                c"Packet Number",
                c"dcquic.packet_number",
                UINT64,
                BASE_DEC,
                c"packet number",
            )
            .register(),
        payload_len: protocol
            .field(
                c"Payload length",
                c"dcquic.payload_len",
                UINT64,
                BASE_DEC,
                c"payload length",
            )
            .register(),
        next_expected_control_packet: protocol
            .field(
                c"Next expected control packet",
                c"dcquic.next_expected_control_packet",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        control_data_len: protocol
            .field(
                c"Control Data length",
                c"dcquic.control_data_len",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        application_header_len: protocol
            .field(
                c"Application Header length",
                c"dcquic.application_header_len",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        application_header: protocol
            .field(
                c"Application Header",
                c"dcquic.application_header",
                BYTES,
                BASE_NONE,
                c"",
            )
            .register(),
        control_data: protocol
            .field(
                c"Control Data",
                c"dcquic.control_data",
                BYTES,
                BASE_NONE,
                c"",
            )
            .register(),
        payload: protocol
            .field(c"Payload", c"dcquic.payload", BYTES, BASE_NONE, c"")
            .register(),
        auth_tag: protocol
            .field(
                c"Authentication tag",
                c"dcquic.auth_tag",
                BYTES,
                BASE_NONE,
                c"",
            )
            .register(),
        is_bidirectional: protocol
            .field(
                c"Is bidirectional?",
                c"dcquic.is_bidirectional",
                BOOLEAN,
                SEP_DOT,
                c"",
            )
            .with_mask(0x1)
            .register(),
        is_reliable: protocol
            .field(
                c"Is reliable?",
                c"dcquic.is_reliable",
                BOOLEAN,
                SEP_DOT,
                c"",
            )
            .with_mask(0x2)
            .register(),
        queue_id: protocol
            .field(c"Queue ID", c"dcquic.queue_id", UINT64, BASE_DEC, c"")
            .register(),
        relative_packet_number: protocol
            .field(
                c"Relative Packet Number",
                c"dcquic.relative_packet_number",
                UINT32,
                BASE_DEC,
                c"",
            )
            .register(),
        stream_offset: protocol
            .field(
                c"Stream Payload Offset",
                c"dcquic.stream_payload_offset",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        final_offset: protocol
            .field(
                c"Stream Final Payload Length",
                c"dcquic.stream_final_offset",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        is_stream: protocol
            .field(
                c"Is stream control packet?",
                c"dcquic.is_stream_control",
                BOOLEAN,
                SEP_DOT,
                c"",
            )
            .with_mask(masks::IS_STREAM)
            .register(),
        ack_delay: protocol
            .field(
                c"Ack delay",
                c"dcquic.control.ack_delay",
                RELATIVE_TIME,
                BASE_NONE,
                c"",
            )
            .register(),
        ackd_packet: protocol
            .field(c"Ack Range", c"dcquic.control.ack", UINT64, BASE_DEC, c"")
            .register(),
        ack_range_min: protocol
            .field(c"Min", c"dcquic.control.ack.min", UINT64, BASE_DEC, c"")
            .register(),
        ack_range_max: protocol
            .field(c"Max", c"dcquic.control.ack.min", UINT64, BASE_DEC, c"")
            .register(),
        ect_0_count: protocol
            .field(
                c"ECT(0) count",
                c"dcquic.control.ect0",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        ect_1_count: protocol
            .field(
                c"ECT(1) count",
                c"dcquic.control.ect1",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        ce_count: protocol
            .field(c"CE count", c"dcquic.control.ce", UINT64, BASE_DEC, c"")
            .register(),
        max_data: protocol
            .field(
                c"Max Data",
                c"dcquic.control.max_data",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        close_error_code: protocol
            .field(
                c"Close Error Code",
                c"dcquic.control.close_error_code",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        close_frame_type: protocol
            .field(
                c"Close Frame Type",
                c"dcquic.control.close_frame_type",
                UINT64,
                BASE_DEC,
                c"",
            )
            .register(),
        close_reason: protocol
            .field(
                c"Close Reason",
                c"dcquic.control.close_reason",
                STRING,
                BASE_NONE,
                c"",
            )
            .register(),
        min_key_id: protocol
            .field(
                c"Min KeyId",
                c"dcquic.secret.min_key_id",
                UINT64,
                BASE_DEC,
                c"Minimum not-yet-seen key ID (at the time of this packets sending)",
            )
            .register(),
        rejected_key_id: protocol
            .field(
                c"Rejected KeyId",
                c"dcquic.secret.rejected_key_id",
                UINT64,
                BASE_DEC,
                c"KeyId rejected due to definitively observing replay",
            )
            .register(),
    }
}