26 #if !defined(_SPANDSP_PRIVATE_V42BIS_H_)
27 #define _SPANDSP_PRIVATE_V42BIS_H_
85 uint8_t
string[V42BIS_MAX_STRING_SIZE];
101 uint8_t output_buf[V42BIS_MAX_OUTPUT_LENGTH];
uint16_t compression_performance
Compression performance metric.
Definition: private/v42bis.h:93
uint16_t update_at
The current update point in the dictionary.
Definition: private/v42bis.h:72
uint16_t v42bis_parm_c1
Next empty dictionary entry.
Definition: private/v42bis.h:66
Definition: private/v42bis.h:116
int v42bis_compress(v42bis_state_t *ss, const uint8_t buf[], int len)
Definition: v42bis.c:428
logging_state_t logging
Error and flow logging control.
Definition: private/v42.h:151
uint16_t v42bis_parm_c3
Threshold for codeword size change.
Definition: private/v42bis.h:70
int bit_count
Outgoing bit count (compression), or incoming bit count (decompression)
Definition: private/v42bis.h:98
Definition: private/v42bis.h:51
v42bis_state_t * v42bis_init(v42bis_state_t *s, int negotiated_p0, int negotiated_p1, int negotiated_p2, put_msg_func_t encode_handler, void *encode_user_data, int max_encode_len, put_msg_func_t decode_handler, void *decode_user_data, int max_decode_len)
Definition: v42bis.c:711
v42bis_comp_state_t decompress
Decompression state.
Definition: private/v42bis.h:120
int v42bis_release(v42bis_state_t *s)
Definition: v42bis.c:751
const char * signal_status_to_str(int status)
Convert a signal status to a short text description.
Definition: async.c:42
v42_state_t * v42_init(v42_state_t *ss, int calling_party, int detect, get_msg_func_t iframe_get, put_msg_func_t iframe_put, void *user_data)
Definition: v42.c:1495
int v42bis_parm_n2
Total number of codewords in the dictionary.
Definition: private/v42bis.h:78
uint16_t child
The first child of this node.
Definition: private/v42bis.h:41
int flushed_length
The amount of the octet string in progress which has already been flushed out of the buffer.
Definition: private/v42bis.h:90
int v42_set_local_busy_status(v42_state_t *s, int busy)
Definition: v42.c:1443
uint8_t output_buf[V42BIS_MAX_OUTPUT_LENGTH]
The output composition buffer.
Definition: private/v42bis.h:101
logging_state_t logging
Error and flow logging control.
Definition: private/v42bis.h:123
int v42_get_far_busy_status(v42_state_t *s)
Definition: v42.c:1453
uint32_t make_mask32(uint32_t x)
Create a mask as wide as the number in a 32 bit word.
Definition: bit_operations.c:159
int max_output_len
The maximum amount to be passed to the data handler.
Definition: private/v42bis.h:61
uint16_t parent
The parent of this node.
Definition: private/v42bis.h:39
void v42bis_compression_control(v42bis_state_t *s, int mode)
Definition: v42bis.c:705
v42bis_comp_state_t compress
Compression state.
Definition: private/v42bis.h:118
int compression_mode
Compression mode.
Definition: private/v42bis.h:55
int transparent
TRUE if we are in transparent (i.e. uncompressable) mode.
Definition: private/v42bis.h:64
int escaped
TRUE if we just hit an escape code, and are waiting for the following octet.
Definition: private/v42bis.h:108
int span_log(logging_state_t *s, int level, const char *format,...)
Generate a log entry.
Definition: logging.c:84
uint16_t v42bis_parm_c2
Current codeword size.
Definition: private/v42bis.h:68
uint16_t last_added
The last entry added to the dictionary.
Definition: private/v42bis.h:76
int v42bis_compress_flush(v42bis_state_t *ss)
Definition: v42bis.c:488
int v42bis_decompress(v42bis_state_t *ss, const uint8_t buf[], int len)
Definition: v42bis.c:515
int v42bis_decompress_flush(v42bis_state_t *ss)
Definition: v42bis.c:691
Definition: private/v42bis.h:35
v42bis_dict_node_t dict[V42BIS_MAX_CODEWORDS]
The dictionary.
Definition: private/v42bis.h:82
uint8_t node_octet
The value of the octet represented by the current dictionary node.
Definition: private/v42bis.h:37
int v42bis_parm_p0
Compression enabled.
Definition: private/v42bis.h:53
uint32_t bit_buffer
Outgoing bit buffer (compression), or incoming bit buffer (decompression)
Definition: private/v42bis.h:96
int output_octet_count
The length of the contents of the output composition buffer.
Definition: private/v42bis.h:103
int v42bis_parm_n7
Maximum permitted string length.
Definition: private/v42bis.h:80
uint16_t last_matched
The last entry matched in the dictionary.
Definition: private/v42bis.h:74
void(* put_msg_func_t)(void *user_data, const uint8_t *msg, int len)
Definition: async.h:93
void v42_restart(v42_state_t *s)
Definition: v42.c:1466
int v42bis_free(v42bis_state_t *s)
Definition: v42bis.c:757
Definition: private/v42.h:133
uint8_t string[V42BIS_MAX_STRING_SIZE]
The octet string in progress.
Definition: private/v42bis.h:85
Definition: private/logging.h:34
uint16_t next
The next node at the same depth.
Definition: private/v42bis.h:43
uint8_t escape_code
The current value of the escape code.
Definition: private/v42bis.h:106
put_msg_func_t handler
Callback function to handle output data.
Definition: private/v42bis.h:57
int string_length
The current length of the octet string in progress.
Definition: private/v42bis.h:87
void * user_data
An opaque pointer passed in calls to the data handler.
Definition: private/v42bis.h:59