libosmogb  1.3.1
Osmocom Gb library
gsm_08_16.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <stdint.h>
9 
15 struct gprs_ns_hdr {
16  uint8_t pdu_type;
17  uint8_t data[0];
18 } __attribute__((packed));
19 
20 
23  uint32_t ip_addr;
24  uint16_t udp_port;
25  uint8_t sig_weight;
26  uint8_t data_weight;
27 } __attribute__ ((packed));
28 
29 extern const struct value_string gprs_ns_pdu_strings[];
30 
34  NS_PDUT_RESET = 0x02,
36  NS_PDUT_BLOCK = 0x04,
41  NS_PDUT_ALIVE = 0x0a,
43  /* TS 48.016 Section 10.3.7, Table 10.3.7.1 */
44  SNS_PDUT_ACK = 0x0c,
45  SNS_PDUT_ADD = 0x0d,
50  SNS_PDUT_SIZE = 0x12,
52 };
53 
55 enum ns_ctrl_ie {
56  NS_IE_CAUSE = 0x00,
57  NS_IE_VCI = 0x01,
58  NS_IE_PDU = 0x02,
59  NS_IE_BVCI = 0x03,
60  NS_IE_NSEI = 0x04,
61  /* TS 48.016 Section 10.3, Table 10.3.1 */
68  NS_IE_IP_ADDR = 0x0b,
69  NS_IE_TRANS_ID = 0xff, /* osmocom. Spec has this IE but without IEI! */
70 };
71 
73 enum ns_cause {
85  /* TS 48.016 Section 10.3.2, Table 10.3.2.1 */
93 };
Definition: gsm_08_16.h:46
Definition: gsm_08_16.h:80
Definition: gsm_08_16.h:42
ns_pdu_type
NS PDU Type (TS 08.16, Section 10.3.7, Table 14)
Definition: gsm_08_16.h:32
Definition: gsm_08_16.h:87
Definition: gsm_08_16.h:49
Definition: gsm_08_16.h:84
Definition: gsm_08_16.h:39
Definition: gsm_08_16.h:78
Definition: gsm_08_16.h:66
Definition: gsm_08_16.h:41
uint8_t pdu_type
NS PDU type.
Definition: gsm_08_16.h:16
Definition: gsm_08_16.h:64
Definition: gsm_08_16.h:76
Definition: gsm_08_16.h:74
Definition: gsm_08_16.h:60
Definition: gsm_08_16.h:79
enum ns_pdu_type __attribute__
Definition: gsm_08_16.h:36
Definition: gsm_08_16.h:56
Definition: gsm_08_16.h:88
Definition: gsm_08_16.h:35
Definition: gsm_08_16.h:68
uint8_t data[0]
variable-length payload
Definition: gsm_08_16.h:17
Definition: gsm_08_16.h:86
uint16_t udp_port
Definition: gsm_08_16.h:24
Definition: gsm_08_16.h:75
Definition: gsm_08_16.h:40
Definition: gsm_08_16.h:90
Definition: gsm_08_16.h:69
Definition: gsm_08_16.h:34
Definition: gsm_08_16.h:63
Definition: gsm_08_16.h:48
Definition: gsm_08_16.h:91
ns_cause
NS Cause (TS 08.16, Section 10.3.2, Table 13)
Definition: gsm_08_16.h:73
Section 10.3.2c List of IP4 Elements.
Definition: gsm_08_16.h:22
Definition: gsm_08_16.h:77
uint8_t data_weight
Definition: gsm_08_16.h:26
const struct value_string gprs_ns_pdu_strings[]
Definition: gprs_ns.c:403
Definition: gsm_08_16.h:45
Definition: gsm_08_16.h:62
Definition: gsm_08_16.h:51
Definition: gsm_08_16.h:59
Definition: gsm_08_16.h:37
Definition: gsm_08_16.h:81
Definition: gsm_08_16.h:89
Definition: gsm_08_16.h:50
Definition: gsm_08_16.h:67
Definition: gsm_08_16.h:83
Definition: gsm_08_16.h:65
Definition: gsm_08_16.h:58
Definition: gsm_08_16.h:33
uint8_t sig_weight
Definition: gsm_08_16.h:25
uint32_t ip_addr
Definition: gsm_08_16.h:23
Definition: gsm_08_16.h:44
Definition: gsm_08_16.h:47
Definition: gsm_08_16.h:38
Definition: gsm_08_16.h:57
Definition: gsm_08_16.h:82
ns_ctrl_ie
NS Control IE (TS 08.16, Section 10.3, Table 12)
Definition: gsm_08_16.h:55
Definition: gsm_08_16.h:92
Common header of GPRS NS.
Definition: gsm_08_16.h:15