blob: db3f2cc7ec3354e7ceff1a0ba3ffb27bb89571e7 [file] [log] [blame]
Neels Hofmeyr17518fe2017-06-20 04:35:06 +02001/*! \file gprs_gea.c
2 * GEA 3 & 4 plugin */
Max4f169502016-06-30 10:39:00 +02003/*
Max4f169502016-06-30 10:39:00 +02004 * Copyright (C) 2016 by Sysmocom s.f.m.c. GmbH
5 *
6 * All Rights Reserved
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 */
22
23#include <osmocom/crypt/gprs_cipher.h>
24#include <osmocom/gsm/gea.h>
25
26#include <stdint.h>
27
Harald Welte96e2a002017-06-12 21:44:18 +020028/*! \addtogroup crypto
29 * @{
30 */
31
Max4f169502016-06-30 10:39:00 +020032static struct gprs_cipher_impl gea3_impl = {
33 .algo = GPRS_ALGO_GEA3,
34 .name = "GEA3 (libosmogsm built-in)",
35 .priority = 100,
36 .run = &gea3,
37};
38
39static struct gprs_cipher_impl gea4_impl = {
40 .algo = GPRS_ALGO_GEA4,
41 .name = "GEA4 (libosmogsm built-in)",
42 .priority = 100,
43 .run = &gea4,
44};
45
46static __attribute__((constructor)) void on_dso_load_gea(void)
47{
48 gprs_cipher_register(&gea3_impl);
49 gprs_cipher_register(&gea4_impl);
50}
Harald Welte96e2a002017-06-12 21:44:18 +020051
52/*! @} */