1/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc.  See LICENSE. */
2#ifndef LSQUIC_INT_TYPES_H
3#define LSQUIC_INT_TYPES_H 1
4
5/* Types included in this file are only used internally.  Types used in
6 * include/lsquic.h should be listed in include/lsquic_types.h
7 */
8
9#include <stdint.h>
10
11typedef uint64_t lsquic_time_t;     /* Microseconds since some time */
12typedef uint64_t lsquic_packno_t;
13typedef uint32_t lsquic_ver_tag_t;  /* Opaque 4-byte value */
14
15/* The `low' and `high' members are inclusive: if the range only has one
16 * member, low == high.
17 */
18struct lsquic_packno_range {
19    lsquic_packno_t low, high;
20};
21
22/* RFC 3168 */
23enum ecn
24{
25    ECN_NOT_ECT = 0,
26    ECN_ECT1    = 1,
27    ECN_ECT0    = 2,
28    ECN_CE      = 3,
29};
30
31#endif
32