gnutls_ext_raw_parse — API function

Synopsis

#include <gnutls/gnutls.h>

int gnutls_ext_raw_parse(void * ctx, gnutls_ext_raw_process_func cb, const gnutls_datum_t * data, unsigned int flags);

Arguments

void * ctx

a pointer to pass to callback function

gnutls_ext_raw_process_func cb

callback function to process each extension found

const gnutls_datum_t * data

TLS extension data

unsigned int flags

should be zero or GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO or GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO

Description

This function iterates through the TLS extensions as passed in
data , passing the individual extension data to callback. The
data must conform to Extension extensions<0..2^16-1> format.

If flags is GNUTLS_EXT_RAW_TLS_FLAG_CLIENT_HELLO then this function will parse the extension data from the position, as if the packet in
data is a client hello (without record or handshake headers) - as provided by gnutls_handshake_set_hook_function().

The return value of the callback will be propagated.

Returns

GNUTLS_E_SUCCESS on success, or an error code. On unknown flags it returns GNUTLS_E_INVALID_REQUEST.

Since

3.6.3

Reporting Bugs

Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org

See Also

The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit

https://www.gnutls.org/manual/

Info

3.6.9 gnutls