ngtcp2_decode_transport_params_new ================================== Synopsis -------- *#include * .. function:: int ngtcp2_decode_transport_params_new( ngtcp2_transport_params **pparams, uint32_t flags, ngtcp2_transport_params_type exttype, const uint8_t *data, size_t datalen, const ngtcp2_mem *mem) `ngtcp2_decode_transport_params_new` decodes transport parameters in *data* of length *datalen*, and stores the result in the object allocated dynamically. The pointer to the allocated object is assigned to *\*pparams*. Unlike `ngtcp2_decode_transport_params`, all direct and indirect fields are also allocated dynamically if needed. *flags* is bitwise OR of zero or more of :macro:`NGTCP2_TRANSPORT_PARAMS_DECODE_FLAG_* `. If :macro:`NGTCP2_TRANSPORT_PARAMS_DECODE_FLAG_IGNORE_MISSING_REQUIRED_FIELDS` is set, this function does not check the missing required fields, and :macro:`NGTCP2_ERR_REQUIRED_TRANSPORT_PARAM` will not be returned. *mem* is a memory allocator to allocate memory. If *mem* is ``NULL``, the memory allocator returned by `ngtcp2_mem_default()` is used. If the optional parameters are missing, the default value is assigned. `ngtcp2_transport_params_del` frees the memory allocated by this function. This function returns 0 if it succeeds, or one of the following negative error codes: :macro:`NGTCP2_ERR_REQUIRED_TRANSPORT_PARAM` The required parameter is missing. :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM` The input is malformed. :macro:`NGTCP2_ERR_NOMEM` Out of memory.