libosmogsm
1.7.0.61-0d9b6.202211030053
Osmocom GSM library
|
#include <stdint.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>
#include <osmocom/gsm/gsm0502.h>
#include <osmocom/gsm/gsm48.h>
#include <osmocom/gsm/rsl.h>
#include <osmocom/gsm/gsm_utils.h>
#include <osmocom/core/logging.h>
#include <inttypes.h>
Data Structures | |
struct | fn_remap_table |
Macros | |
#define | TCH_REPEAT_LENGTH 13 |
#define | FACCH_F_REPEAT_LENGTH 13 |
#define | FACCH_H_REPEAT_LENGTH 26 |
#define | fn_remap_table_from_traffic_block_map(table, map, rows, cols, repeat) |
Functions | |
unsigned int | gsm0502_calc_paging_group (struct gsm48_control_channel_descr *chan_desc, uint64_t imsi) |
static | __attribute__ ((constructor)) |
uint32_t | gsm0502_fn_remap (uint32_t fn, enum gsm0502_fn_remap_channel channel) |
Calculate the frame number of the beginning of a block. More... | |
uint16_t | gsm0502_hop_seq_gen (const struct gsm_time *t, uint8_t hsn, uint8_t maio, size_t n, const uint16_t *ma) |
Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. More... | |
Variables | |
static const uint8_t | gsm0502_tch_f_traffic_block_map [3][8] |
static const uint8_t | gsm0502_tch_h0_traffic_block_map [3][4] |
static const uint8_t | gsm0502_tch_h1_traffic_block_map [3][4] |
static const uint8_t | gsm0502_tch_f_facch_block_map [3][8] |
static const uint8_t | gsm0502_tch_h0_facch_block_map [3][6] |
static const uint8_t | gsm0502_tch_h1_facch_block_map [3][6] |
static struct fn_remap_table | tch_f_remap_table |
static struct fn_remap_table | tch_h0_remap_table |
static struct fn_remap_table | tch_h1_remap_table |
static struct fn_remap_table | facch_f_remap_table |
static struct fn_remap_table | facch_h0_remap_table |
static struct fn_remap_table | facch_h1_remap_table |
static struct fn_remap_table * | fn_remap_table_ptr [FN_REMAP_MAX] |
static const uint8_t | rn_table [114] |
Paging helper code
#define FACCH_F_REPEAT_LENGTH 13 |
#define FACCH_H_REPEAT_LENGTH 26 |
#define fn_remap_table_from_traffic_block_map | ( | table, | |
map, | |||
rows, | |||
cols, | |||
repeat | |||
) |
#define TCH_REPEAT_LENGTH 13 |
|
static |
References facch_f_remap_table, FACCH_F_REPEAT_LENGTH, facch_h0_remap_table, facch_h1_remap_table, FACCH_H_REPEAT_LENGTH, FN_REMAP_FACCH_F, FN_REMAP_FACCH_H0, FN_REMAP_FACCH_H1, fn_remap_table_from_traffic_block_map, fn_remap_table_ptr, FN_REMAP_TCH_F, FN_REMAP_TCH_H0, FN_REMAP_TCH_H1, gsm0502_tch_f_facch_block_map, gsm0502_tch_f_traffic_block_map, gsm0502_tch_h0_facch_block_map, gsm0502_tch_h0_traffic_block_map, gsm0502_tch_h1_facch_block_map, gsm0502_tch_h1_traffic_block_map, tch_f_remap_table, tch_h0_remap_table, tch_h1_remap_table, and TCH_REPEAT_LENGTH.
unsigned int gsm0502_calc_paging_group | ( | struct gsm48_control_channel_descr * | chan_desc, |
uint64_t | imsi | ||
) |
uint32_t gsm0502_fn_remap | ( | uint32_t | fn, |
enum gsm0502_fn_remap_channel | channel | ||
) |
Calculate the frame number of the beginning of a block.
[in] | fn | frame number of the block ending. |
[in] | channel | channel type (see also enum fn_remap_channel). |
References ARRAY_SIZE, fn_remap_table::blockend, fn_remap_table::cycle, fn_remap_table::distance, DLGLOBAL, fn_remap_table_ptr, GSM_TDMA_FN_SUB, fn_remap_table::len, LOGL_ERROR, LOGP, and OSMO_ASSERT.
uint16_t gsm0502_hop_seq_gen | ( | const struct gsm_time * | t, |
uint8_t | hsn, | ||
uint8_t | maio, | ||
size_t | n, | ||
const uint16_t * | ma | ||
) |
Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3.
[in] | t | GSM time (TDMA frame number, T1/T2/T3). |
[in] | hsn | Hopping Sequence Number. |
[in] | maio | Mobile Allocation Index Offset. |
[in] | n | number of entries in mobile allocation (arfcn table). |
[in] | ma | array of ARFCNs (sorted in ascending order) representing the Mobile Allocation. |
References gsm_time::fn, n, rn_table, gsm_time::t1, gsm_time::t2, and gsm_time::t3.
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__(), and gsm0502_fn_remap().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().
|
static |
Referenced by gsm0502_hop_seq_gen().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().
|
static |
Referenced by __attribute__().