libosmogsm 1.13.1.1-afb4 Osmocom GSM library

Data Structures | Enumerations | Functions | Variables
gsm_44_060.h File Reference

General Packet Radio Service (GPRS). More...

`#include <stdint.h>`
`#include <osmocom/core/endian.h>`

Go to the source code of this file.

## Data Structures
struct | gprs_rlc_ul_header_egprs_1
struct | gprs_rlc_ul_header_egprs_2
struct | gprs_rlc_ul_header_egprs_3
struct | gprs_rlc_dl_header_egprs_1
struct | gprs_rlc_dl_header_egprs_2
struct | gprs_rlc_dl_header_egprs_3
struct | osmo_gprs_cell_options
struct | osmo_gprs_power_ctrl_pars
struct | egprs_cps
| Structure for CPS coding and puncturing scheme (TS 44.060 10.4.8a) More...

## Enumerations
enum | osmo_gprs_nmo { GPRS_NMO_I = 0 , GPRS_NMO_II = 1 , GPRS_NMO_III = 2 }
enum | egprs_cps_punc { EGPRS_CPS_P1 , EGPRS_CPS_P2 , EGPRS_CPS_P3 , EGPRS_CPS_NONE = -1 }
| CPS puncturing table selection (TS 44.060 10.4.8a) More...
enum | egprs_hdr_type { EGPRS_HDR_TYPE1 , EGPRS_HDR_TYPE2 , EGPRS_HDR_TYPE3 }
| EGPRS header types (TS 44.060 10.0a.2) More...
enum | osmo_gprs_cs { OSMO_GPRS_CS_NONE , OSMO_GPRS_CS1 , OSMO_GPRS_CS2 , OSMO_GPRS_CS3 , OSMO_GPRS_CS4 , OSMO_GPRS_MCS1 , OSMO_GPRS_MCS2 , OSMO_GPRS_MCS3 , OSMO_GPRS_MCS4 , OSMO_GPRS_MCS5 , OSMO_GPRS_MCS6 , OSMO_GPRS_MCS7 , OSMO_GPRS_MCS8 , OSMO_GPRS_MCS9 , _NUM_OSMO_GPRS_CS }

## Functions
struct gprs_rlc_ul_header_egprs_1 | __attribute__ ((packed))
int | egprs_get_cps (struct egprs_cps *cps, uint8_t type, uint8_t bits)
int | osmo_gprs_ul_block_size_bits (enum osmo_gprs_cs cs)
| Return size of (E)GPRS uplink block for given coding scheme in bits. More...
int | osmo_gprs_dl_block_size_bits (enum osmo_gprs_cs cs)
| Return size of (E)GPRS downlink block for given coding scheme in bits. More...
int | osmo_gprs_ul_block_size_bytes (enum osmo_gprs_cs cs)
| Return size of (E)GPRS uplink block for given coding scheme in bytes. More...
int | osmo_gprs_dl_block_size_bytes (enum osmo_gprs_cs cs)
| Return size of (E)GPRS downlink block for given coding scheme in bytes. More...
enum osmo_gprs_cs | osmo_gprs_ul_cs_by_block_bytes (uint8_t block_size)
| Return coding scheme for given (E)GPRS uplink block size. More...
enum osmo_gprs_cs | osmo_gprs_dl_cs_by_block_bytes (uint8_t block_size)
| Return coding scheme for given (E)GPRS downlink block size. More...

## Variables
enum osmo_gprs_nmo | __attribute__

## Detailed Description

General Packet Radio Service (GPRS).

Radio Link Control / Medium Access Control (RLC/MAC) protocol 3GPP TS 44.060

## Enumeration Type Documentation

## ◆ egprs_cps_punc

enum egprs_cps_punc

CPS puncturing table selection (TS 44.060 10.4.8a)

Enumerator
EGPRS_CPS_P1 |
EGPRS_CPS_P2 |
EGPRS_CPS_P3 |
EGPRS_CPS_NONE |

## ◆ egprs_hdr_type

enum egprs_hdr_type

EGPRS header types (TS 44.060 10.0a.2)

Enumerator
EGPRS_HDR_TYPE1 |
EGPRS_HDR_TYPE2 |
EGPRS_HDR_TYPE3 |

## ◆ osmo_gprs_cs

enum osmo_gprs_cs

Enumerator
OSMO_GPRS_CS_NONE |
OSMO_GPRS_CS1 |
OSMO_GPRS_CS2 |
OSMO_GPRS_CS3 |
OSMO_GPRS_CS4 |
OSMO_GPRS_MCS1 |
OSMO_GPRS_MCS2 |
OSMO_GPRS_MCS3 |
OSMO_GPRS_MCS4 |
OSMO_GPRS_MCS5 |
OSMO_GPRS_MCS6 |
OSMO_GPRS_MCS7 |
OSMO_GPRS_MCS8 |
OSMO_GPRS_MCS9 |
_NUM_OSMO_GPRS_CS |

## ◆ osmo_gprs_nmo

enum osmo_gprs_nmo

Enumerator
GPRS_NMO_I |
GPRS_NMO_II |
GPRS_NMO_III |

## Function Documentation

## ◆ egprs_get_cps()

int egprs_get_cps | ( | struct egprs_cps * | cps,
|  | uint8_t | type,
|  | uint8_t | bits
| ) |  |

References egprs_cps::bits, egprs_cps_table_type1, egprs_cps_table_type2, egprs_cps_table_type3, EGPRS_CPS_TYPE1_TBL_SZ, EGPRS_CPS_TYPE2_TBL_SZ, EGPRS_CPS_TYPE3_TBL_SZ, EGPRS_HDR_TYPE1, EGPRS_HDR_TYPE2, EGPRS_HDR_TYPE3, and type.

## ◆ osmo_gprs_dl_block_size_bits()

int osmo_gprs_dl_block_size_bits | ( | enum osmo_gprs_cs | cs | ) |

Return size of (E)GPRS downlink block for given coding scheme in bits.

References ARRAY_SIZE, gprs_cs_desc::bits, gprs_cs_desc::bytes, and gprs_cs_desc::downlink.

## ◆ osmo_gprs_dl_block_size_bytes()

int osmo_gprs_dl_block_size_bytes | ( | enum osmo_gprs_cs | cs | ) |

Return size of (E)GPRS downlink block for given coding scheme in bytes.

References ARRAY_SIZE, gprs_cs_desc::bytes, and gprs_cs_desc::downlink.

Referenced by osmo_gprs_dl_cs_by_block_bytes().

## ◆ osmo_gprs_dl_cs_by_block_bytes()

enum osmo_gprs_cs osmo_gprs_dl_cs_by_block_bytes | ( | uint8_t | block_size | ) |

Return coding scheme for given (E)GPRS downlink block size.

References ARRAY_SIZE, OSMO_GPRS_CS_NONE, and osmo_gprs_dl_block_size_bytes().

## ◆ osmo_gprs_ul_block_size_bits()

int osmo_gprs_ul_block_size_bits | ( | enum osmo_gprs_cs | cs | ) |

Return size of (E)GPRS uplink block for given coding scheme in bits.

References ARRAY_SIZE, gprs_cs_desc::bits, gprs_cs_desc::bytes, and gprs_cs_desc::uplink.

## ◆ osmo_gprs_ul_block_size_bytes()

int osmo_gprs_ul_block_size_bytes | ( | enum osmo_gprs_cs | cs | ) |

Return size of (E)GPRS uplink block for given coding scheme in bytes.

References ARRAY_SIZE, gprs_cs_desc::bytes, and gprs_cs_desc::uplink.

Referenced by osmo_gprs_ul_cs_by_block_bytes().

## ◆ osmo_gprs_ul_cs_by_block_bytes()

enum osmo_gprs_cs osmo_gprs_ul_cs_by_block_bytes | ( | uint8_t | block_size | ) |

Return coding scheme for given (E)GPRS uplink block size.

References ARRAY_SIZE, OSMO_GPRS_CS_NONE, and osmo_gprs_ul_block_size_bytes().

## Variable Documentation

## ◆ __attribute__

enum osmo_gprs_nmo __attribute__