Neels Hofmeyr | c69ee85 | 2016-05-10 12:50:31 +0200 | [diff] [blame] | 1 | #pragma once |
Neels Hofmeyr | 402006d | 2016-05-11 14:28:25 +0200 | [diff] [blame] | 2 | |
Neels Hofmeyr | e78ae21 | 2016-05-14 00:46:29 +0200 | [diff] [blame] | 3 | #include <stdint.h> |
| 4 | |
Neels Hofmeyr | 402006d | 2016-05-11 14:28:25 +0200 | [diff] [blame] | 5 | struct msgb; |
| 6 | struct gsm_network; |
| 7 | |
| 8 | typedef int (*mncc_recv_cb_t)(struct gsm_network *, struct msgb *); |
Neels Hofmeyr | e78ae21 | 2016-05-14 00:46:29 +0200 | [diff] [blame] | 9 | |
Neels Hofmeyr | b90eabf | 2016-05-11 18:48:39 +0200 | [diff] [blame] | 10 | struct vty; |
| 11 | |
Neels Hofmeyr | ac1f143 | 2016-05-10 13:30:17 +0200 | [diff] [blame] | 12 | #define MAX_A5_KEY_LEN (128/8) |
| 13 | |
| 14 | struct gsm_encr { |
| 15 | uint8_t alg_id; |
| 16 | uint8_t key_len; |
| 17 | uint8_t key[MAX_A5_KEY_LEN]; |
| 18 | }; |
| 19 | |
Neels Hofmeyr | e78ae21 | 2016-05-14 00:46:29 +0200 | [diff] [blame] | 20 | struct gsm_network *gsm_network_init(void *ctx, |
| 21 | uint16_t country_code, |
| 22 | uint16_t network_code, |
| 23 | mncc_recv_cb_t mncc_recv); |
Neels Hofmeyr | b90eabf | 2016-05-11 18:48:39 +0200 | [diff] [blame] | 24 | |
Neels Hofmeyr | 06d39fd | 2016-05-12 01:16:58 +0200 | [diff] [blame] | 25 | int common_cs_vty_init(struct gsm_network *network, |
| 26 | int (* config_write_net )(struct vty *)); |
Neels Hofmeyr | b90eabf | 2016-05-11 18:48:39 +0200 | [diff] [blame] | 27 | struct gsm_network *gsmnet_from_vty(struct vty *v); |