|
libosmogsm
1.6.0
Osmocom GSM library
|
Paging helper code. More...
#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_MAX_FN, 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__().