blob: 5765281be63d40e87b1410a86d78aaa539ce6a82 [file] [log] [blame]
#pragma once
#include <stdint.h>
/*! Structure for CPS coding and puncturing scheme (TS 04.60 10.4.8a) */
struct egprs_cps {
uint8_t bits;
uint8_t mcs;
uint8_t p[2];
};
/*! CPS puncturing table selection (TS 04.60 10.4.8a) */
enum egprs_cps_punc {
EGPRS_CPS_P1,
EGPRS_CPS_P2,
EGPRS_CPS_P3,
EGPRS_CPS_NONE = -1,
};
/*! EGPRS header types (TS 04.60 10.0a.2) */
enum egprs_hdr_type {
EGPRS_HDR_TYPE1,
EGPRS_HDR_TYPE2,
EGPRS_HDR_TYPE3,
};
int egprs_get_cps(struct egprs_cps *cps, uint8_t type, uint8_t bits);