Wireshark
4.5.0
The Wireshark network protocol analyzer
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
Variables
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
m
o
p
r
s
t
u
v
w
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
Typedefs
a
b
c
d
e
f
g
h
i
m
p
r
s
t
u
v
w
Enumerations
Enumerator
a
b
c
e
f
h
i
n
o
r
s
t
w
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
epan
nghttp2_hd_huffman.h
1
/* @file
2
* nghttp2 - HTTP/2 C Library
3
*
4
* Copyright (c) 2013 Tatsuhiro Tsujikawa
5
*
6
* SPDX-License-Identifier: MIT
7
*/
8
#ifndef NGHTTP2_HD_HUFFMAN_H
9
#define NGHTTP2_HD_HUFFMAN_H
10
11
#include <config.h>
12
13
#include <stdlib.h>
14
#include <stdint.h>
15
16
typedef
enum
{
17
/* FSA accepts this state as the end of huffman encoding
18
sequence. */
19
NGHTTP2_HUFF_ACCEPTED = 1 << 14,
20
/* This state emits symbol */
21
NGHTTP2_HUFF_SYM = 1 << 15,
22
} nghttp2_huff_decode_flag;
23
24
typedef
struct
{
25
/* fstate is the current huffman decoding state, which is actually
26
the node ID of internal huffman tree with
27
nghttp2_huff_decode_flag OR-ed. We have 257 leaf nodes, but they
28
are identical to root node other than emitting a symbol, so we
29
have 256 internal nodes [1..255], inclusive. The node ID 256 is
30
a special node and it is a terminal state that means decoding
31
failed. */
32
uint16_t fstate;
33
/* symbol if NGHTTP2_HUFF_SYM flag set */
34
uint8_t sym;
35
}
nghttp2_huff_decode
;
24
typedef
struct
{
…
};
36
37
typedef
nghttp2_huff_decode
huff_decode_table_type[16];
38
39
typedef
struct
{
40
/* fstate is the current huffman decoding state. */
41
uint16_t fstate;
42
}
nghttp2_hd_huff_decode_context
;
39
typedef
struct
{
…
};
43
44
typedef
struct
{
45
/* The number of bits in this code */
46
uint32_t nbits;
47
/* Huffman code aligned to LSB */
48
uint32_t code;
49
}
nghttp2_huff_sym
;
44
typedef
struct
{
…
};
50
51
extern
const
nghttp2_huff_sym
huff_sym_table[];
52
extern
const
nghttp2_huff_decode
huff_decode_table[][16];
53
54
#endif
/* NGHTTP2_HD_HUFFMAN_H */
nghttp2_hd_huff_decode_context
Definition
nghttp2_hd_huffman.h:39
nghttp2_huff_decode
Definition
nghttp2_hd_huffman.h:24
nghttp2_huff_sym
Definition
nghttp2_hd_huffman.h:44
Generated by
1.9.8