1a74702c6SGeorge Wang/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc.  See LICENSE. */
25392f7a3SLiteSpeed Tech#include <stddef.h>
35392f7a3SLiteSpeed Tech#include <stdint.h>
45392f7a3SLiteSpeed Tech#include <string.h>
55392f7a3SLiteSpeed Tech
65392f7a3SLiteSpeed Tech#include "lsquic.h"
75392f7a3SLiteSpeed Tech#include "lsquic_types.h"
85392f7a3SLiteSpeed Tech#include "lsquic_int_types.h"
95392f7a3SLiteSpeed Tech#include "lsquic_enc_sess.h"
105392f7a3SLiteSpeed Tech#include "lsquic_version.h"
115392f7a3SLiteSpeed Tech
125392f7a3SLiteSpeed Tech
135392f7a3SLiteSpeed Techconst char *const lsquic_enclev2str[] =
145392f7a3SLiteSpeed Tech{
155392f7a3SLiteSpeed Tech    [ENC_LEV_EARLY] = "early",
165392f7a3SLiteSpeed Tech    [ENC_LEV_CLEAR] = "clear",
175392f7a3SLiteSpeed Tech    [ENC_LEV_INIT]  = "initial",
185392f7a3SLiteSpeed Tech    [ENC_LEV_FORW]  = "forw-secure",
195392f7a3SLiteSpeed Tech};
205392f7a3SLiteSpeed Tech
215392f7a3SLiteSpeed Tech
225392f7a3SLiteSpeed Techenum lsquic_version
237483dee0SDmitri Tikhonovlsquic_sess_resume_version (const unsigned char *buf, size_t bufsz)
245392f7a3SLiteSpeed Tech{
255392f7a3SLiteSpeed Tech    lsquic_ver_tag_t tag;
265392f7a3SLiteSpeed Tech
275392f7a3SLiteSpeed Tech    if (bufsz >= sizeof(tag))
285392f7a3SLiteSpeed Tech    {
295392f7a3SLiteSpeed Tech        memcpy(&tag, buf, sizeof(tag));
305392f7a3SLiteSpeed Tech        return lsquic_tag2ver(tag);
315392f7a3SLiteSpeed Tech    }
325392f7a3SLiteSpeed Tech    else
33a0e1aeeeSDmitri Tikhonov        return N_LSQVER;
345392f7a3SLiteSpeed Tech}
35