gprs_cipher.h File Reference
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/utils.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures

struct | gprs_cipher_impl

## Macros

#define | GSM0464_CIPH_MAX_BLOCK 1523

## Enumerations

enum | gprs_ciph_algo { GPRS_ALGO_GEA0 = 0 , GPRS_ALGO_GEA1 = 1 , GPRS_ALGO_GEA2 = 2 , GPRS_ALGO_GEA3 = 3 , GPRS_ALGO_GEA4 = 4 , _GPRS_ALGO_NUM }
enum | gprs_cipher_direction { GPRS_CIPH_MS2SGSN = 0 , GPRS_CIPH_SGSN2MS = 1 }

## Functions

int | gprs_cipher_register (struct gprs_cipher_impl *ciph)
int | gprs_cipher_load (const char *path)
int | gprs_cipher_run (uint8_t *out, uint16_t len, enum gprs_ciph_algo algo, uint8_t *kc, uint32_t iv, enum gprs_cipher_direction dir)
int | gprs_cipher_supported (enum gprs_ciph_algo algo)
unsigned | gprs_cipher_key_length (enum gprs_ciph_algo algo)
| Obtain key lenght for given GPRS cipher. More...
uint32_t | gprs_cipher_gen_input_ui (uint32_t iov_ui, uint8_t sapi, uint32_t lfn, uint32_t oc)
uint32_t | gprs_cipher_gen_input_i (uint32_t iov_i, uint32_t lfn, uint32_t oc)

## Variables

const struct value_string | gprs_cipher_names []

## Macro Definition Documentation

## GSM0464_CIPH_MAX_BLOCK

#define GSM0464_CIPH_MAX_BLOCK 1523

## Enumeration Type Documentation

## gprs_ciph_algo

enum gprs_ciph_algo

Enumerator
GPRS_ALGO_GEA0 |
GPRS_ALGO_GEA1 |
GPRS_ALGO_GEA2 |
GPRS_ALGO_GEA3 |
GPRS_ALGO_GEA4 |
_GPRS_ALGO_NUM |

## gprs_cipher_direction

enum gprs_cipher_direction

Enumerator
GPRS_CIPH_MS2SGSN |
GPRS_CIPH_SGSN2MS |