osmo-gmr 0.2.104-2b98
Osmocom GMR-1

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().