crc.c File Reference

#include <inttypes.h>
#include <stdio.h>
#include <string.h>
#include "spandsp/telephony.h"
#include "spandsp/crc.h"
#include "spandsp/bit_operations.h"

Functions

uint32_t crc_itu32_calc (const uint8_t *buf, int len, uint32_t crc)
 Calculate the ITU/CCITT CRC-32 value in buffer.
int crc_itu32_append (uint8_t *buf, int len)
 Append an ITU/CCITT CRC-32 value to a frame.
int crc_itu32_check (const uint8_t *buf, int len)
 Check the ITU/CCITT CRC-32 value in a frame.
uint16_t crc_itu16_calc (const uint8_t *buf, int len, uint16_t crc)
 Calculate the ITU/CCITT CRC-16 value in buffer.
int crc_itu16_append (uint8_t *buf, int len)
 Append an ITU/CCITT CRC-16 value to a frame.
int crc_itu16_check (const uint8_t *buf, int len)
 Check the ITU/CCITT CRC-16 value in a frame.

Detailed Description


Function Documentation

int crc_itu16_append ( uint8_t *  buf,
int  len 
)

Append an ITU/CCITT CRC-16 value to a frame.

Parameters:
buf The buffer containing the frame. This must be at least 2 bytes longer than the frame it contains, to allow room for the CRC value.
len The length of the frame.
Returns:
The new length of the frame.

uint16_t crc_itu16_calc ( const uint8_t *  buf,
int  len,
uint16_t  crc 
)

Calculate the ITU/CCITT CRC-16 value in buffer.

Parameters:
buf The buffer containing the data.
len The length of the frame.
crc The initial CRC value. This is usually 0xFFFF, or 0 for a new block (it depends on the application). It is previous returned CRC value for the continuation of a block.
Returns:
The CRC value.

Referenced by adsi_tx_put_message(), and hdlc_tx_frame().

int crc_itu16_check ( const uint8_t *  buf,
int  len 
)

Check the ITU/CCITT CRC-16 value in a frame.

Parameters:
buf The buffer containing the frame.
len The length of the frame.
Returns:
TRUE if the CRC is OK, else FALSE.

int crc_itu32_append ( uint8_t *  buf,
int  len 
)

Append an ITU/CCITT CRC-32 value to a frame.

Parameters:
buf The buffer containing the frame. This must be at least 2 bytes longer than the frame it contains, to allow room for the CRC value.
len The length of the frame.
Returns:
The new length of the frame.

uint32_t crc_itu32_calc ( const uint8_t *  buf,
int  len,
uint32_t  crc 
)

Calculate the ITU/CCITT CRC-32 value in buffer.

Parameters:
buf The buffer containing the data.
len The length of the frame.
crc The initial CRC value. This is usually 0xFFFFFFFF, or 0 for a new block (it depends on the application). It is previous returned CRC value for the continuation of a block.
Returns:
The CRC value.

Referenced by hdlc_tx_frame().

int crc_itu32_check ( const uint8_t *  buf,
int  len 
)

Check the ITU/CCITT CRC-32 value in a frame.

Parameters:
buf The buffer containing the frame.
len The length of the frame.
Returns:
TRUE if the CRC is OK, else FALSE.


Generated on Tue Oct 7 20:25:51 2008 for spandsp by  doxygen 1.5.6