Typedefs | Functions

include/huff_code.h File Reference

Huffman code and bitstream implementation. More...

#include <stdio.h>
#include <prim_type.h>
#include <cmd_ln.h>

Go to the source code of this file.

Typedefs

typedef struct huff_code_s huff_code_t

Functions

huff_code_thuff_code_build_int (int32 const *values, int32 const *frequencies, int nvals)
 Create a codebook from 32-bit integer data.
huff_code_thuff_code_build_str (char *const *values, int32 const *frequencies, int nvals)
 Create a codebook from string data.
huff_code_thuff_code_read (FILE *infh)
 Read a codebook from a file.
int huff_code_write (huff_code_t *hc, FILE *outfh)
 Write a codebook to a file.
int huff_code_dump (huff_code_t *hc, FILE *dumpfh)
 Print a codebook to a file as text (for debugging).
huff_code_thuff_code_retain (huff_code_t *hc)
 Retain a pointer to a Huffman codec object.
int huff_code_free (huff_code_t *hc)
 Release a pointer to a Huffman codec object.
FILE * huff_code_attach (huff_code_t *hc, FILE *fh, char const *mode)
 Attach a Huffman codec to a file handle for input/output.
FILE * huff_code_detach (huff_code_t *hc)
 Detach a Huffman codec from its file handle.
int huff_code_encode_int (huff_code_t *hc, int32 sym, uint32 *outcw)
 Encode an integer, writing it to the file handle, if any.
int huff_code_encode_str (huff_code_t *hc, char const *sym, uint32 *outcw)
 Encode a string, writing it to the file handle, if any.
int huff_code_decode_int (huff_code_t *hc, int *outval, char const **inout_data, size_t *inout_data_len, int *inout_offset)
 Decode an integer, reading it from the file if no data given.
char const * huff_code_decode_str (huff_code_t *hc, char const **inout_data, size_t *inout_data_len, int *inout_offset)
 Decode a string, reading it from the file if no data given.

Detailed Description

Huffman code and bitstream implementation.

This interface supports building canonical Huffman codes from string and integer values. It also provides support for encoding and decoding from strings and files, and for reading and writing codebooks from files.

Definition in file huff_code.h.