libosmogb  1.9.0.192-1c24.202404212026
Osmocom Gb library
gb_internal.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <osmocom/core/msgb.h>
4 #include <osmocom/gsm/tlv.h>
5 #include <osmocom/gprs/gprs_ns.h>
6 
7 /* gprs_ns_sns.c */
8 int gprs_ns_rx_sns(struct gprs_ns_inst *nsi, struct msgb *msg, struct tlv_parsed *tp);
9 
10 struct osmo_fsm_inst *gprs_sns_bss_fsm_alloc(void *ctx, struct gprs_nsvc *nsvc, const char *id);
11 int gprs_sns_bss_fsm_start(struct gprs_ns_inst *nsi);
12 
13 int gprs_sns_init(void);
14 
15 /* gprs_ns.c */
16 void gprs_nsvc_start_test(struct gprs_nsvc *nsvc);
18 int 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 
21 int 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 
25 int gprs_ns_tx_sns_config_ack(struct gprs_nsvc *nsvc, uint8_t *cause);
26 
27 int 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 
30 int gprs_ns_tx_sns_size_ack(struct gprs_nsvc *nsvc, uint8_t *cause);
31 
32 struct vty;
33 void gprs_sns_dump_vty(struct vty *vty, const struct gprs_ns_inst *nsi, bool stats);
int gprs_sns_bss_fsm_start(struct gprs_ns_inst *nsi)
Definition: gprs_ns_sns.c:680
void gprs_sns_dump_vty(struct vty *vty, const struct gprs_ns_inst *nsi, bool stats)
Definition: gprs_ns_sns.c:753
int gprs_sns_init(void)
Definition: gprs_ns_sns.c:736
struct osmo_fsm_inst * gprs_sns_bss_fsm_alloc(void *ctx, struct gprs_nsvc *nsvc, const char *id)
Definition: gprs_ns_sns.c:630
int gprs_ns_rx_sns(struct gprs_ns_inst *nsi, struct msgb *msg, struct tlv_parsed *tp)
Definition: gprs_ns_sns.c:686
int gprs_ns_tx_sns_config_ack(struct gprs_nsvc *nsvc, uint8_t *cause)
Encode + Transmit a SNS-CONFIG-ACK as per Section 9.3.5.
Definition: gprs_ns.c:959
int gprs_ns_tx_sns_config(struct gprs_nsvc *nsvc, bool end_flag, const struct gprs_ns_ie_ip4_elem *ip4_elems, unsigned int num_ip4_elems)
Encode + Transmit a SNS-CONFIG as per Section 9.3.4.
Definition: gprs_ns.c:918
int gprs_ns_tx_sns_ack(struct gprs_nsvc *nsvc, uint8_t trans_id, uint8_t *cause, const struct gprs_ns_ie_ip4_elem *ip4_elems, unsigned int num_ip4_elems)
Encode + Transmit a SNS-ACK as per Section 9.3.1.
Definition: gprs_ns.c:873
int gprs_ns_tx_sns_size(struct gprs_nsvc *nsvc, bool reset_flag, uint16_t max_nr_nsvc, uint16_t *ip4_ep_nr, uint16_t *ip6_ep_nr)
Encode + transmit a SNS-SIZE as per Section 9.3.7.
Definition: gprs_ns.c:998
void gprs_start_alive_all_nsvcs(struct gprs_ns_inst *nsi)
Definition: gprs_ns.c:2239
void gprs_nsvc_start_test(struct gprs_nsvc *nsvc)
Start the ALIVE timer procedure in all NS-VCs part of this NS Instance.
Definition: gprs_ns.c:2229
int gprs_ns_tx_sns_size_ack(struct gprs_nsvc *nsvc, uint8_t *cause)
Encode + Transmit a SNS-SIZE-ACK as per Section 9.3.8.
Definition: gprs_ns.c:1038
Section 10.3.2c List of IP4 Elements.
Definition: gsm_08_16.h:24
An instance of the NS protocol stack.
Definition: gprs_ns.h:79
Structure representing a single NS-VC.
Definition: gprs_ns.h:122