network_framework_sys/
tcp_options.rs

1use crate::*;
2
3extern "C" {
4    pub fn nw_protocol_copy_tcp_definition() -> nw_protocol_definition_t;
5    pub fn nw_tcp_create_options() -> nw_protocol_options_t;
6    pub fn nw_tcp_options_set_no_delay(options: nw_protocol_options_t,
7                                       no_delay: bool);
8    pub fn nw_tcp_options_set_no_push(options: nw_protocol_options_t,
9                                      no_push: bool);
10    pub fn nw_tcp_options_set_no_options(options: nw_protocol_options_t,
11                                         no_options: bool);
12    pub fn nw_tcp_options_set_enable_keepalive(options: nw_protocol_options_t,
13                                               enable_keepalive: bool);
14    pub fn nw_tcp_options_set_keepalive_count(options: nw_protocol_options_t,
15                                              keepalive_count: u32);
16    pub fn nw_tcp_options_set_keepalive_idle_time(options: nw_protocol_options_t,
17                                                  keepalive_idle_time: u32);
18    pub fn nw_tcp_options_set_keepalive_interval(options: nw_protocol_options_t,
19                                                 keepalive_interval: u32);
20    pub fn nw_tcp_options_set_maximum_segment_size(options: nw_protocol_options_t,
21                                                   maximum_segment_size: u32);
22    pub fn nw_tcp_options_set_connection_timeout(options: nw_protocol_options_t,
23                                                 connection_timeout: u32);
24    pub fn nw_tcp_options_set_persist_timeout(options: nw_protocol_options_t,
25                                              persist_timeout: u32);
26    pub fn nw_tcp_options_set_retransmit_connection_drop_time(options: nw_protocol_options_t,
27                                                              retransmit_connection_drop_time: u32);
28    pub fn nw_tcp_options_set_retransmit_fin_drop(options: nw_protocol_options_t,
29                                                  retransmit_fin_drop: bool);
30    pub fn nw_tcp_options_set_disable_ack_stretching(options: nw_protocol_options_t,
31                                                     disable_ack_stretching: bool);
32    pub fn nw_tcp_options_set_enable_fast_open(options: nw_protocol_options_t,
33                                               enable_fast_open: bool);
34    pub fn nw_tcp_options_set_disable_ecn(options: nw_protocol_options_t,
35                                          disable_ecn: bool);
36    pub fn nw_protocol_metadata_is_tcp(metadata: nw_protocol_metadata_t) -> bool;
37    pub fn nw_tcp_get_available_receive_buffer(metadata: nw_protocol_metadata_t) -> u32;
38    pub fn nw_tcp_get_available_send_buffer(metadata: nw_protocol_metadata_t) -> u32;
39}