libosmocore
UNKNOWN
Osmocom core library
Toggle main menu visibility
Loading...
Searching...
No Matches
crc64gen.h
Go to the documentation of this file.
1
3
/*
4
* Copyright (C) 2011 Sylvain Munaut <tnt@246tNt.com>
5
*
6
* All Rights Reserved
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*/
18
19
#pragma once
20
24
25
#include <stdint.h>
26
#include <
osmocom/core/bits.h
>
27
28
30
struct
osmo_crc64gen_code
{
31
int
bits
;
32
uint64_t
poly
;
33
uint64_t
init
;
34
uint64_t
remainder
;
35
};
36
37
uint64_t
osmo_crc64gen_compute_bits
(
const
struct
osmo_crc64gen_code
*code,
38
const
ubit_t
*in,
int
len
);
39
int
osmo_crc64gen_check_bits
(
const
struct
osmo_crc64gen_code
*code,
40
const
ubit_t
*in,
int
len
,
const
ubit_t
*crc_bits);
41
void
osmo_crc64gen_set_bits
(
const
struct
osmo_crc64gen_code
*code,
42
const
ubit_t
*in,
int
len
,
ubit_t
*crc_bits);
43
44
46
47
/* vim: set syntax=c: */
bits.h
Osmocom bit level support code.
ubit_t
uint8_t ubit_t
unpacked bit (0 or 1): 1 bit per byte
Definition
bits.h:24
osmo_crc64gen_set_bits
void osmo_crc64gen_set_bits(const struct osmo_crc64gen_code *code, const ubit_t *in, int len, ubit_t *crc_bits)
Computes and writes the CRC value of a given array of bits.
Definition
crc64gen.c:100
osmo_crc64gen_check_bits
int osmo_crc64gen_check_bits(const struct osmo_crc64gen_code *code, const ubit_t *in, int len, const ubit_t *crc_bits)
Checks the CRC value of a given array of hard-bits.
Definition
crc64gen.c:75
osmo_crc64gen_compute_bits
uint64_t osmo_crc64gen_compute_bits(const struct osmo_crc64gen_code *code, const ubit_t *in, int len)
Compute the CRC value of a given array of hard-bits.
Definition
crc64gen.c:40
len
uint8_t len
osmo_crc64gen_code
structure describing a given CRC code of max 64 bits
Definition
crc64gen.h:30
osmo_crc64gen_code::remainder
uint64_t remainder
Remainder of the CRC (final XOR).
Definition
crc64gen.h:34
osmo_crc64gen_code::bits
int bits
Actual number of bits of the CRC.
Definition
crc64gen.h:31
osmo_crc64gen_code::init
uint64_t init
Initialization value of the CRC state.
Definition
crc64gen.h:33
osmo_crc64gen_code::poly
uint64_t poly
Polynom (normal representation, MSB omitted.
Definition
crc64gen.h:32
include
osmocom
core
crc64gen.h
Generated by
1.17.0