summaryrefslogtreecommitdiff
path: root/camlibs/docupen/huffman.h
blob: 35603a641a7ac11986421835fae560e6a0f18a09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef CAMLIBS_DOCUPEN_HUFFMAN_H
#define CAMLIBS_DOCUPEN_HUFFMAN_H

struct decoder {
	unsigned char *data;
	int length;
	int bitoff;
	int byteoff;
	int state;
};

void decoder_init(struct decoder *d, void *data, int length);
int  decoder_token(struct decoder *d, int *type, int *len);

enum {
	BLACK = 0,
	WHITE = 1,
	TERM = (1 << 7)
};

enum {
	DECODER_NOOP = 0,
	DECODER_BLACK,
	DECODER_WHITE,
	DECODER_EOL
};

#endif /* !defined(CAMLIBS_DOCUPEN_HUFFMAN_H) */