GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
cc_common.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2013-2014 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_FEC_CC_COMMON_H
12 #define INCLUDED_FEC_CC_COMMON_H
13 
14 #include <volk/volk_alloc.hh>
15 
16 typedef enum _cc_mode_t {
22 
23 typedef union {
24  // decision_t is a BIT vector
25  unsigned char* t;
26  unsigned int* w;
27  unsigned short* s;
28  unsigned char* c;
29 } decision_t;
30 
31 typedef union {
32  unsigned char* t;
33 } metric_t;
34 
35 struct v {
36  volk::vector<unsigned char> metrics;
38  metrics2; /* Pointers to path metrics, swapped on every bit */
39  volk::vector<unsigned char> decisions;
40 };
41 
42 #endif /*INCLUDED_FEC_CC_COMMON_H*/
enum _cc_mode_t cc_mode_t
_cc_mode_t
Definition: cc_common.h:16
@ CC_STREAMING
Definition: cc_common.h:17
@ CC_TAILBITING
Definition: cc_common.h:20
@ CC_TERMINATED
Definition: cc_common.h:18
@ CC_TRUNCATED
Definition: cc_common.h:19
Definition: cc_common.h:35
metric_t metrics1
Definition: cc_common.h:37
metric_t metrics2
Definition: cc_common.h:38
metric_t new_metrics
Definition: cc_common.h:37
volk::vector< unsigned char > metrics
Definition: cc_common.h:36
volk::vector< unsigned char > decisions
Definition: cc_common.h:39
metric_t old_metrics
Definition: cc_common.h:37
Definition: cc_common.h:23
unsigned short * s
Definition: cc_common.h:27
unsigned char * c
Definition: cc_common.h:28
unsigned int * w
Definition: cc_common.h:26
unsigned char * t
Definition: cc_common.h:25
Definition: cc_common.h:31
unsigned char * t
Definition: cc_common.h:32