Neels Hofmeyr | 17518fe | 2017-06-20 04:35:06 +0200 | [diff] [blame] | 1 | /*! \file meas_rep.h */ |
| 2 | |
Sylvain Munaut | 12ba778 | 2014-06-16 10:13:40 +0200 | [diff] [blame] | 3 | #pragma once |
Harald Welte | e128f46 | 2013-03-07 18:36:32 +0000 | [diff] [blame] | 4 | |
| 5 | #include <stdint.h> |
Max | 764b022 | 2016-05-11 17:33:17 +0200 | [diff] [blame] | 6 | #include <stdbool.h> |
Harald Welte | e128f46 | 2013-03-07 18:36:32 +0000 | [diff] [blame] | 7 | |
| 8 | /* RX Level and RX Quality */ |
| 9 | struct gsm_rx_lev_qual { |
| 10 | uint8_t rx_lev; |
| 11 | uint8_t rx_qual; |
| 12 | }; |
| 13 | |
Pau Espin Pedrol | 4e3b594 | 2021-09-28 11:32:44 +0200 | [diff] [blame] | 14 | /* unidirectional measurement report */ |
Harald Welte | e128f46 | 2013-03-07 18:36:32 +0000 | [diff] [blame] | 15 | struct gsm_meas_rep_unidir { |
| 16 | struct gsm_rx_lev_qual full; |
| 17 | struct gsm_rx_lev_qual sub; |
| 18 | }; |
| 19 | |
| 20 | enum meas_rep_field { |
| 21 | MEAS_REP_DL_RXLEV_FULL, |
| 22 | MEAS_REP_DL_RXLEV_SUB, |
| 23 | MEAS_REP_DL_RXQUAL_FULL, |
| 24 | MEAS_REP_DL_RXQUAL_SUB, |
| 25 | MEAS_REP_UL_RXLEV_FULL, |
| 26 | MEAS_REP_UL_RXLEV_SUB, |
| 27 | MEAS_REP_UL_RXQUAL_FULL, |
| 28 | MEAS_REP_UL_RXQUAL_SUB, |
| 29 | }; |
Max | 764b022 | 2016-05-11 17:33:17 +0200 | [diff] [blame] | 30 | |
Pau Espin Pedrol | 50e6f06 | 2021-09-28 11:32:00 +0200 | [diff] [blame] | 31 | size_t gsm0858_rsl_ul_meas_enc(const struct gsm_meas_rep_unidir *mru, bool dtxd_used, |
Max | 764b022 | 2016-05-11 17:33:17 +0200 | [diff] [blame] | 32 | uint8_t *buf); |