27 #ifndef ROHC_COMP_SCHEMES_RFC4996_H 28 #define ROHC_COMP_SCHEMES_RFC4996_H 43 uint8_t *
const rohc_data,
44 const size_t rohc_max_len,
46 __attribute__((warn_unused_result,
nonnull(3, 5)));
49 uint8_t *
const rohc_data,
50 const size_t rohc_max_len,
52 __attribute__((warn_unused_result,
nonnull(3, 5)));
55 uint8_t *
const rohc_data,
56 const size_t rohc_max_len,
58 __attribute__((warn_unused_result,
nonnull(3, 5)));
62 uint8_t *
const rohc_data,
63 const size_t rohc_max_len,
65 __attribute__((warn_unused_result,
nonnull(2, 4)));
67 uint8_t *
const rohc_data,
68 const size_t rohc_max_len,
70 __attribute__((warn_unused_result,
nonnull(2, 4)));
74 const uint32_t new_value,
75 const struct c_wlsb *
const wlsb,
76 uint8_t *
const rohc_data,
77 const size_t rohc_max_len,
79 __attribute__((
nonnull(3, 4, 6), warn_unused_result));
83 uint32_t *
const residue_field,
84 const uint32_t scaling_factor,
85 const uint32_t unscaled_value)
90 __attribute__((warn_unused_result,
const));
92 __attribute__((warn_unused_result,
const));
96 const uint16_t ip_id_nbo,
97 const uint16_t ip_id_offset,
98 const struct c_wlsb *
const wlsb,
100 uint8_t *
const rohc_data,
101 const size_t rohc_max_len,
102 int *
const indicator)
103 __attribute__((warn_unused_result,
nonnull(4, 6, 8)));
107 const uint8_t packet_value,
108 uint8_t *
const rohc_data,
109 const size_t rohc_max_len,
110 int *
const indicator)
111 __attribute__((warn_unused_result,
nonnull(3, 5)));
115 const uint8_t nr_trans,
116 const uint8_t oa_repetitions_nr)
117 __attribute__((warn_unused_result,
const));
119 const uint8_t nr_trans,
120 const uint8_t oa_repetitions_nr)
121 __attribute__((warn_unused_result,
const));
rohc_lsb_shift_t
the different values of the shift parameter of the LSB algorithm
Definition: interval.h:47
bool tcp_is_ack_scaled_possible(const uint16_t ack_stride, const uint8_t nr_trans, const uint8_t oa_repetitions_nr)
Whether the ACK number may be transmitted scaled or not.
Definition: comp/schemes/rfc4996.c:533
void c_field_scaling(uint32_t *const scaled_value, uint32_t *const residue_field, const uint32_t scaling_factor, const uint32_t unscaled_value)
Calculate the scaled and residue values from unscaled value and scaling factor.
Definition: comp/schemes/rfc4996.c:342
int c_static_or_irreg8(const uint8_t packet_value, const bool is_static, uint8_t *const rohc_data, const size_t rohc_max_len, int *const indicator)
Compress the 8 bits given, depending of the context value.
Definition: comp/schemes/rfc4996.c:52
Window-based Least Significant Bits (W-LSB) encoding.
One W-LSB encoding object.
Definition: comp_wlsb.h:68
The ROHC compression context.
Definition: rohc_comp_internals.h:278
int variable_length_32_enc(const bool is_unchanged, const uint32_t new_value, const struct c_wlsb *const wlsb, uint8_t *const rohc_data, const size_t rohc_max_len, int *const indicator)
Compress the given 32-bit value.
Definition: comp/schemes/rfc4996.c:269
int dscp_encode(const bool is_static, const uint8_t packet_value, uint8_t *const rohc_data, const size_t rohc_max_len, int *const indicator)
Encode the DSCP field.
Definition: comp/schemes/rfc4996.c:487
bool rsf_index_enc_possible(const uint8_t rsf_flags)
Is is possible to use the rsf_index_enc encoding?
Definition: comp/schemes/rfc4996.c:370
int c_zero_or_irreg16(const uint16_t packet_value, uint8_t *const rohc_data, const size_t rohc_max_len, int *const indicator)
Compress the 16 bits value, regarding if null or not.
Definition: comp/schemes/rfc4996.c:181
int c_zero_or_irreg32(const uint32_t packet_value, uint8_t *const rohc_data, const size_t rohc_max_len, int *const indicator)
Compress the 32 bits value, regarding if null or not.
Definition: comp/schemes/rfc4996.c:223
int c_static_or_irreg16(const uint16_t packet_value, const bool is_static, uint8_t *const rohc_data, const size_t rohc_max_len, int *const indicator)
Compress the 16 bits given, depending of the context value.
Definition: comp/schemes/rfc4996.c:94
int c_static_or_irreg32(const uint32_t packet_value, const bool is_static, uint8_t *const rohc_data, const size_t rohc_max_len, int *const indicator)
Compress the 32 bits given, depending of the context value.
Definition: comp/schemes/rfc4996.c:138
int c_optional_ip_id_lsb(const int behavior, const uint16_t ip_id_nbo, const uint16_t ip_id_offset, const struct c_wlsb *const wlsb, const rohc_lsb_shift_t p, uint8_t *const rohc_data, const size_t rohc_max_len, int *const indicator)
Compress or not the IP-ID.
Definition: comp/schemes/rfc4996.c:421
unsigned int rsf_index_enc(const uint8_t rsf_flags)
Calculate the rsf_index from the rsf flags.
Definition: comp/schemes/rfc4996.c:386
bool tcp_is_ack_stride_static(const uint16_t ack_stride, const uint8_t nr_trans, const uint8_t oa_repetitions_nr)
Whether the ack_stride scaling factor shall be transmitted or not.
Definition: comp/schemes/rfc4996.c:550