ROHC compression/decompression library
Functions
ipv6_exts.h File Reference

Compression schemes for IPv6 extension headers. More...

#include "rohc_comp_internals.h"
#include <stdint.h>
#include <stdbool.h>
Include dependency graph for ipv6_exts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool rohc_comp_ipv6_exts_are_acceptable (const struct rohc_comp *const comp, uint8_t *const next_proto, const uint8_t *const exts, const size_t max_exts_len, size_t *const exts_len)
 Whether IPv6 extension headers are acceptable or not. More...
 

Detailed Description

Compression schemes for IPv6 extension headers.

Author
Didier Barvaux didie.nosp@m.r.ba.nosp@m.rvaux.nosp@m.@tou.nosp@m.louse.nosp@m..viv.nosp@m.eris..nosp@m.com

Function Documentation

◆ rohc_comp_ipv6_exts_are_acceptable()

bool rohc_comp_ipv6_exts_are_acceptable ( const struct rohc_comp *const  comp,
uint8_t *const  next_proto,
const uint8_t *const  exts,
const size_t  max_exts_len,
size_t *const  exts_len 
)

Whether IPv6 extension headers are acceptable or not.

IPv6 options are acceptable if:

  • the last IPv6 extension header is not truncated,
  • no more than ROHC_MAX_IP_EXT_HDRS extension headers are present,
  • each extension header is present only once (except Destination that may occur twice).
Parameters
compThe ROHC compressor
[in,out]next_protoin: the protocol type of the first extension header out: the protocol type of the transport header
extsThe beginning of the IPv6 extension headers
max_exts_lenThe maximum length (in bytes) of the extension headers
[out]exts_lenThe length (in bytes) of the IPv6 extension headers
Returns
true if the IPv6 extension headers are acceptable, false if they are not
See also
ROHC_MAX_IP_EXT_HDRS