blob: cc7222e8f4cd7e8944c7873d2bbe34efcf92b8f7 [file] [log] [blame]
Harald Welte17a642d2018-07-01 19:09:52 +02001#pragma once
2
3#include <osmocom/core/msgb.h>
4#include <osmocom/gsm/tlv.h>
5#include <osmocom/gprs/gprs_ns.h>
6
Harald Welte047f3872018-07-01 21:04:45 +02007/* gprs_ns_sns.c */
8int gprs_ns_rx_sns(struct gprs_ns_inst *nsi, struct msgb *msg, struct tlv_parsed *tp);
9
10struct osmo_fsm_inst *gprs_sns_bss_fsm_alloc(void *ctx, struct gprs_nsvc *nsvc, const char *id);
11int gprs_sns_bss_fsm_start(struct gprs_ns_inst *nsi);
12
13int gprs_sns_init(void);
14
15/* gprs_ns.c */
Harald Welte35042a22019-02-23 14:07:00 +010016void gprs_nsvc_start_test(struct gprs_nsvc *nsvc);
Harald Welte047f3872018-07-01 21:04:45 +020017void gprs_start_alive_all_nsvcs(struct gprs_ns_inst *nsi);
Harald Welte17a642d2018-07-01 19:09:52 +020018int gprs_ns_tx_sns_ack(struct gprs_nsvc *nsvc, uint8_t trans_id, uint8_t *cause,
19 const struct gprs_ns_ie_ip4_elem *ip4_elems,unsigned int num_ip4_elems);
20
21int gprs_ns_tx_sns_config(struct gprs_nsvc *nsvc, bool end_flag,
22 const struct gprs_ns_ie_ip4_elem *ip4_elems,
23 unsigned int num_ip4_elems);
24
25int gprs_ns_tx_sns_config_ack(struct gprs_nsvc *nsvc, uint8_t *cause);
26
27int gprs_ns_tx_sns_size(struct gprs_nsvc *nsvc, bool reset_flag, uint16_t max_nr_nsvc,
28 uint16_t *ip4_ep_nr, uint16_t *ip6_ep_nr);
29
30int gprs_ns_tx_sns_size_ack(struct gprs_nsvc *nsvc, uint8_t *cause);
Harald Welte047f3872018-07-01 21:04:45 +020031
32struct vty;
33void gprs_sns_dump_vty(struct vty *vty, const struct gprs_ns_inst *nsi, bool stats);