ROHC compression/decompression library
|
ROHC decompression context for the uncompressed profile. More...
Functions | |
void * | uncompressed_allocate_decode_data (void) |
Allocate profile-specific data, nothing to allocate for the uncompressed profile. | |
void | uncompressed_free_decode_data (void *context) |
Destroy profile-specific data, nothing to destroy for the uncompressed profile. | |
int | uncompressed_decode_ir (struct rohc_decomp *decomp, struct d_context *context, const unsigned char *const rohc_packet, const unsigned int rohc_length, int large_cid_len, int is_addcid_used, unsigned char *dest) |
Decode one IR packet. | |
unsigned int | uncompressed_detect_ir_size (struct d_context *context, unsigned char *packet, unsigned int plen, unsigned int large_cid_len) |
Find the length of data in an IR packet. | |
unsigned int | uncompressed_detect_ir_dyn_size (struct d_context *context, unsigned char *packet, unsigned int plen, unsigned int large_cid_len) |
Find the length of data in an IR-DYN packet. | |
int | uncompressed_decode (struct rohc_decomp *decomp, struct d_context *context, const unsigned char *const rohc_packet, const unsigned int rohc_length, int second_byte, unsigned char *dest) |
Decode one IR-DYN, UO-0, UO-1 or UOR-2 packet, but not IR packet. | |
int | uncompressed_get_sn (struct d_context *context) |
Get the reference SN value of the context. Always return 0 for the uncompressed profile. | |
Variables | |
struct d_profile | d_uncomp_profile |
Define the decompression part of the Uncompressed profile as described in the RFC 3095. |
ROHC decompression context for the uncompressed profile.
void* uncompressed_allocate_decode_data | ( | void | ) |
Allocate profile-specific data, nothing to allocate for the uncompressed profile.
This function is one of the functions that must exist in one profile for the framework to work.
int uncompressed_decode | ( | struct rohc_decomp * | decomp, |
struct d_context * | context, | ||
const unsigned char *const | rohc_packet, | ||
const unsigned int | rohc_length, | ||
int | second_byte, | ||
unsigned char * | dest | ||
) |
Decode one IR-DYN, UO-0, UO-1 or UOR-2 packet, but not IR packet.
This function is one of the functions that must exist in one profile for the framework to work.
decomp | The ROHC decompressor |
context | The decompression context |
rohc_packet | The ROHC packet to decode |
rohc_length | The length of the ROHC packet |
second_byte | The offset for the second byte of the ROHC packet (depends on the CID encoding and the packet type) |
dest | The decoded IP packet |
References GET_BIT_0_7, NO_CONTEXT, rohc_debugf, ROHC_ERROR, and d_context::state.
int uncompressed_decode_ir | ( | struct rohc_decomp * | decomp, |
struct d_context * | context, | ||
const unsigned char *const | rohc_packet, | ||
const unsigned int | rohc_length, | ||
int | large_cid_len, | ||
int | is_addcid_used, | ||
unsigned char * | dest | ||
) |
Decode one IR packet.
This function is one of the functions that must exist in one profile for the framework to work.
decomp | The ROHC decompressor |
context | The decompression context |
rohc_packet | The ROHC packet to decode |
rohc_length | The length of the ROHC packet to decode |
large_cid_len | The length of the large CID field |
is_addcid_used | Whether the add-CID field is present or not |
dest | The decoded IP packet |
References FULL_CONTEXT, rohc_debugf, ROHC_ERROR, and d_context::state.
unsigned int uncompressed_detect_ir_dyn_size | ( | struct d_context * | context, |
unsigned char * | packet, | ||
unsigned int | plen, | ||
unsigned int | large_cid_len | ||
) |
Find the length of data in an IR-DYN packet.
This function is one of the functions that must exist in one profile for the framework to work.
context | The decompression context |
packet | The IR-DYN packet after the Add-CID byte if present |
plen | The length of the IR-DYN packet minus the Add-CID byte |
large_cid_len | The size of the large CID field |
References rohc_debugf.
unsigned int uncompressed_detect_ir_size | ( | struct d_context * | context, |
unsigned char * | packet, | ||
unsigned int | plen, | ||
unsigned int | large_cid_len | ||
) |
Find the length of data in an IR packet.
This function is one of the functions that must exist in one profile for the framework to work.
context | The decompression context |
packet | The IR packet after the Add-CID byte if present |
plen | The length of the IR-DYN packet minus the Add-CID byte |
large_cid_len | The size of the large CID field |
void uncompressed_free_decode_data | ( | void * | context | ) |
Destroy profile-specific data, nothing to destroy for the uncompressed profile.
This function is one of the functions that must exist in one profile for the framework to work.
context | The compression context |
int uncompressed_get_sn | ( | struct d_context * | context | ) |
Get the reference SN value of the context. Always return 0 for the uncompressed profile.
This function is one of the functions that must exist in one profile for the framework to work.
context | The decompression context |
struct d_profile d_uncomp_profile |
{ ROHC_PROFILE_UNCOMPRESSED, "Uncompressed / Decompressor", uncompressed_decode, uncompressed_decode_ir, uncompressed_allocate_decode_data, uncompressed_free_decode_data, uncompressed_detect_ir_size, uncompressed_detect_ir_dyn_size, NULL, uncompressed_get_sn, }
Define the decompression part of the Uncompressed profile as described in the RFC 3095.