aboutsummaryrefslogtreecommitdiffstats
path: root/src/hdlc.h
blob: 10ec8e2b7f281d2617767fc421ad3b4911aab555 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once

#include <osmocom/core/bits.h>

enum hdlc_proc_state {
	STATE_INIT,
	STATE_FLAG_WAIT_ZERO,
	STATE_PAYLOAD,
};

struct hdlc_proc {
	ubit_t history[8];
	ubit_t next_outbyte[8];
	enum hdlc_proc_state state;
	uint8_t num_bits;
};

int process_raw_hdlc(struct hdlc_proc *hdlc, uint8_t *data, unsigned int len);