pcapng-sys 0.15.2

Raw FFI bindings to libpcapng, a pcapng file I/O and dissection library
Documentation
#include <string.h>

#include <libpcapng/protocols/tcp_mss.h>

size_t tcp_mss_segment(
    tcp_mss_ctx_t *ctx,
    const uint8_t *in,
    size_t in_len,
    uint8_t **out_segments,
    size_t *out_sizes,
    size_t max_segments)
{
    size_t count = 0;
    size_t offset = 0;

    while (offset < in_len && count < max_segments) {
        size_t chunk = ctx->mss;
        if (chunk > in_len - offset)
            chunk = in_len - offset;

        out_segments[count] = (uint8_t *)(in + offset);
        out_sizes[count] = chunk;

        offset += chunk;
        count++;
    }

    return count;
}