libosmogsm 1.9.0.196-9975
Osmocom GSM library
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

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

EGPRS header types (TS 44.060 10.0a.2)

Enumerator
EGPRS_HDR_TYPE1 
EGPRS_HDR_TYPE2 
EGPRS_HDR_TYPE3 

◆ 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

Enumerator
GPRS_NMO_I 
GPRS_NMO_II 
GPRS_NMO_III 

Function Documentation

◆ egprs_get_cps()

◆ 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__