osmo-gmr: Cyclic Redundancy Check

osmo-gmr 0.2.104-2b98 Osmocom GMR-1

Files | Functions | Variables
Cyclic Redundancy Check
GMR-1 Layer 1 library » Channel coding primitives

## Files
file | crc.h
| Osmocom GMR-1 CRC header.
file | crc.c
| Osmocom GMR-1 CRC implementation.

## Functions
uint16_t | osmo_crc16 (uint16_t crc, uint8_t const *buffer, size_t len)
uint16_t | osmo_crc16_ccitt (uint16_t crc, uint8_t const *buffer, size_t len)
uint16_t | osmo_crc16gen_compute_bits (const struct osmo_crc16gen_code *code, const ubit_t *in, int len)
int | osmo_crc16gen_check_bits (const struct osmo_crc16gen_code *code, const ubit_t *in, int len, const ubit_t *crc_bits)
void | osmo_crc16gen_set_bits (const struct osmo_crc16gen_code *code, const ubit_t *in, int len, ubit_t *crc_bits)
uint32_t | osmo_crc32gen_compute_bits (const struct osmo_crc32gen_code *code, const ubit_t *in, int len)
int | osmo_crc32gen_check_bits (const struct osmo_crc32gen_code *code, const ubit_t *in, int len, const ubit_t *crc_bits)
void | osmo_crc32gen_set_bits (const struct osmo_crc32gen_code *code, const ubit_t *in, int len, ubit_t *crc_bits)
uint64_t | osmo_crc64gen_compute_bits (const struct osmo_crc64gen_code *code, const ubit_t *in, int len)
int | osmo_crc64gen_check_bits (const struct osmo_crc64gen_code *code, const ubit_t *in, int len, const ubit_t *crc_bits)
void | osmo_crc64gen_set_bits (const struct osmo_crc64gen_code *code, const ubit_t *in, int len, ubit_t *crc_bits)
uint8_t | osmo_crc8gen_compute_bits (const struct osmo_crc8gen_code *code, const ubit_t *in, int len)
int | osmo_crc8gen_check_bits (const struct osmo_crc8gen_code *code, const ubit_t *in, int len, const ubit_t *crc_bits)
void | osmo_crc8gen_set_bits (const struct osmo_crc8gen_code *code, const ubit_t *in, int len, ubit_t *crc_bits)

## Variables
uint16_t const | osmo_crc16_table [256]
uint16_t const | osmo_crc16_ccitt_table [256]
uint16_t const | osmo_crc16_table [256]
uint16_t const | osmo_crc16_ccitt_table [256]
const struct osmo_crc8gen_code | gmr1_crc8
| GMR-1 CRC8 g8(D) = D8 + D7 + D4 + D3 + D + 1.
const struct osmo_crc16gen_code | gmr1_crc12
| GMR-1 CRC12 g12(D) = D12 + D11 + D3 + D2 + D + 1.
const struct osmo_crc16gen_code | gmr1_crc16
| GMR-1 CRC16 g16(D) = D16 + D12 + D5 + 1.
const struct osmo_crc8gen_code | gmr1_crc8
| GMR-1 CRC8 g8(D) = D8 + D7 + D4 + D3 + D + 1. More...
const struct osmo_crc16gen_code | gmr1_crc12
| GMR-1 CRC12 g12(D) = D12 + D11 + D3 + D2 + D + 1. More...
const struct osmo_crc16gen_code | gmr1_crc16
| GMR-1 CRC16 g16(D) = D16 + D12 + D5 + 1. More...

## Detailed Description

## Variable Documentation

## ◆ gmr1_crc12

const struct osmo_crc16gen_code gmr1_crc12

Initial value:
= {
.bits = 12,
.poly = 0x80f,
.init = 0x0000,
.remainder = 0x0000,
}

GMR-1 CRC12 g12(D) = D12 + D11 + D3 + D2 + D + 1.

Referenced by gmr1_rach_encode().

## ◆ gmr1_crc16

const struct osmo_crc16gen_code gmr1_crc16

Initial value:
= {
.bits = 16,
.poly = 0x1021,
.init = 0x0000,
.remainder = 0x0000,
}

GMR-1 CRC16 g16(D) = D16 + D12 + D5 + 1.

Referenced by gmr1_bcch_encode(), gmr1_ccch_encode(), gmr1_facch3_encode(), gmr1_facch9_encode(), and gmr1_xch_dc12_encode().

## ◆ gmr1_crc8

const struct osmo_crc8gen_code gmr1_crc8

Initial value:
= {
.bits = 8,
.poly = 0x9b,
.init = 0x00,
.remainder = 0x00,
}

GMR-1 CRC8 g8(D) = D8 + D7 + D4 + D3 + D + 1.

Referenced by gmr1_rach_encode().