libosmogsm
1.11.0.26-c59d.202505152026
Osmocom GSM library
Loading...
Searching...
No Matches
ipaccess.h
Go to the documentation of this file.
1
3
#pragma once
4
5
#include <stdint.h>
6
7
#define IPA_TCP_PORT_OML 3002
8
#define IPA_TCP_PORT_RSL 3003
9
10
struct
ipaccess_head
{
11
uint16_t
len
;
/* network byte order */
12
uint8_t
proto
;
13
uint8_t
data
[0];
14
}
__attribute__
((packed));
15
16
struct
ipaccess_head_ext
{
17
uint8_t
proto
;
18
uint8_t
data
[0];
19
}
__attribute__
((packed));
20
21
enum
ipaccess_proto
{
22
IPAC_PROTO_RSL
= 0x00,
23
IPAC_PROTO_IPACCESS
= 0xfe,
24
IPAC_PROTO_SCCP
= 0xfd,
25
IPAC_PROTO_OML
= 0xff,
26
27
28
/* OpenBSC extensions */
29
IPAC_PROTO_OSMO
= 0xee,
30
IPAC_PROTO_MGCP_OLD
= 0xfc,
31
};
32
33
enum
ipaccess_proto_ext
{
34
IPAC_PROTO_EXT_CTRL
= 0x00,
35
IPAC_PROTO_EXT_MGCP
= 0x01,
36
IPAC_PROTO_EXT_LAC
= 0x02,
37
IPAC_PROTO_EXT_SMSC
= 0x03,
38
IPAC_PROTO_EXT_ORC
= 0x04,
/* OML Router Control */
39
IPAC_PROTO_EXT_GSUP
= 0x05,
/* GSUP GPRS extension */
40
IPAC_PROTO_EXT_OAP
= 0x06,
/* Osmocom Authn Protocol */
41
IPAC_PROTO_EXT_RSPRO
= 0x07,
/* Remote SIM protocol */
42
IPAC_PROTO_EXT_PCU
= 0x08,
/* BSC<->BTS<->PCU communication */
43
};
44
45
enum
ipaccess_msgtype
{
46
IPAC_MSGT_PING
= 0x00,
/* Heartbeet */
47
IPAC_MSGT_PONG
= 0x01,
/* Heartbeat Ack */
48
IPAC_MSGT_ID_GET
= 0x04,
/* Identity Request */
49
IPAC_MSGT_ID_RESP
= 0x05,
/* Identity */
50
IPAC_MSGT_ID_ACK
= 0x06,
/* Identity Ack */
51
IPAC_MSGT_ID_NACK
= 0x07,
/* Identity Nack */
52
IPAC_MSGT_PROXY
= 0x08,
/* Proxy */
53
IPAC_MSGT_PROXY_ACK
= 0x09,
/* Proxy Ack */
54
IPAC_MSGT_PROXY_NACK
= 0x0a,
/* Proxy Nack */
55
IPAC_MSGT_SSL_INFO
= 0x0b,
/* SSL Info */
56
57
/* OpenBSC extension */
58
IPAC_MSGT_SCCP_OLD
= 0xff,
59
};
60
61
enum
ipaccess_id_tags
{
62
IPAC_IDTAG_SERNR
= 0x00,
/* Unit Serial Number */
63
IPAC_IDTAG_UNITNAME
= 0x01,
/* Unit Name */
64
IPAC_IDTAG_LOCATION1
= 0x02,
/* Unit Location */
65
IPAC_IDTAG_LOCATION2
= 0x03,
/* Unit Type */
66
IPAC_IDTAG_EQUIPVERS
= 0x04,
/* Hardware Version */
67
IPAC_IDTAG_SWVERSION
= 0x05,
/* Software Version */
68
IPAC_IDTAG_IPADDR
= 0x06,
/* IP Address */
69
IPAC_IDTAG_MACADDR
= 0x07,
/* Ethernet Address */
70
IPAC_IDTAG_UNIT
= 0x08,
/* Unit ID */
71
IPAC_IDTAG_USERNAME
= 0x09,
/* User Name */
72
IPAC_IDTAG_PASSWORD
= 0x0a,
/* Password */
73
IPAC_IDTAG_ACCESS_CLASS
= 0x0b,
/* Access Class */
74
IPAC_IDTG_APP_PROTO_VER
= 0x0c,
/* Application Protocol Version */
75
};
76
77
/*
78
* Firmware specific header
79
*/
80
struct
sdp_firmware
{
81
char
magic
[4];
82
char
more_magic
[2];
83
uint16_t
more_more_magic
;
84
uint32_t
header_length
;
85
uint32_t
file_length
;
86
char
sw_part
[20];
87
char
text1
[64];
88
char
time
[12];
89
char
date
[14];
90
char
text2
[10];
91
char
version
[20];
92
uint16_t
table_offset
;
93
/* stuff i don't know */
94
}
__attribute__
((packed));
95
96
struct
sdp_header_entry
{
97
uint16_t
something1
;
98
char
text1
[64];
99
char
time
[12];
100
char
date
[14];
101
char
text2
[10];
102
char
version
[20];
103
uint32_t
length
;
104
uint32_t
addr1
;
105
uint32_t
addr2
;
106
uint32_t
start
;
107
}
__attribute__
((packed));
ipaccess_msgtype
ipaccess_msgtype
Definition
ipaccess.h:45
IPAC_MSGT_ID_GET
@ IPAC_MSGT_ID_GET
Definition
ipaccess.h:48
IPAC_MSGT_ID_ACK
@ IPAC_MSGT_ID_ACK
Definition
ipaccess.h:50
IPAC_MSGT_SCCP_OLD
@ IPAC_MSGT_SCCP_OLD
Definition
ipaccess.h:58
IPAC_MSGT_PROXY
@ IPAC_MSGT_PROXY
Definition
ipaccess.h:52
IPAC_MSGT_SSL_INFO
@ IPAC_MSGT_SSL_INFO
Definition
ipaccess.h:55
IPAC_MSGT_PONG
@ IPAC_MSGT_PONG
Definition
ipaccess.h:47
IPAC_MSGT_ID_NACK
@ IPAC_MSGT_ID_NACK
Definition
ipaccess.h:51
IPAC_MSGT_ID_RESP
@ IPAC_MSGT_ID_RESP
Definition
ipaccess.h:49
IPAC_MSGT_PROXY_NACK
@ IPAC_MSGT_PROXY_NACK
Definition
ipaccess.h:54
IPAC_MSGT_PROXY_ACK
@ IPAC_MSGT_PROXY_ACK
Definition
ipaccess.h:53
IPAC_MSGT_PING
@ IPAC_MSGT_PING
Definition
ipaccess.h:46
ipaccess_proto_ext
ipaccess_proto_ext
Definition
ipaccess.h:33
IPAC_PROTO_EXT_GSUP
@ IPAC_PROTO_EXT_GSUP
Definition
ipaccess.h:39
IPAC_PROTO_EXT_CTRL
@ IPAC_PROTO_EXT_CTRL
Definition
ipaccess.h:34
IPAC_PROTO_EXT_ORC
@ IPAC_PROTO_EXT_ORC
Definition
ipaccess.h:38
IPAC_PROTO_EXT_LAC
@ IPAC_PROTO_EXT_LAC
Definition
ipaccess.h:36
IPAC_PROTO_EXT_OAP
@ IPAC_PROTO_EXT_OAP
Definition
ipaccess.h:40
IPAC_PROTO_EXT_RSPRO
@ IPAC_PROTO_EXT_RSPRO
Definition
ipaccess.h:41
IPAC_PROTO_EXT_SMSC
@ IPAC_PROTO_EXT_SMSC
Definition
ipaccess.h:37
IPAC_PROTO_EXT_PCU
@ IPAC_PROTO_EXT_PCU
Definition
ipaccess.h:42
IPAC_PROTO_EXT_MGCP
@ IPAC_PROTO_EXT_MGCP
Definition
ipaccess.h:35
ipaccess_id_tags
ipaccess_id_tags
Definition
ipaccess.h:61
IPAC_IDTAG_PASSWORD
@ IPAC_IDTAG_PASSWORD
Definition
ipaccess.h:72
IPAC_IDTAG_USERNAME
@ IPAC_IDTAG_USERNAME
Definition
ipaccess.h:71
IPAC_IDTG_APP_PROTO_VER
@ IPAC_IDTG_APP_PROTO_VER
Definition
ipaccess.h:74
IPAC_IDTAG_EQUIPVERS
@ IPAC_IDTAG_EQUIPVERS
Definition
ipaccess.h:66
IPAC_IDTAG_MACADDR
@ IPAC_IDTAG_MACADDR
Definition
ipaccess.h:69
IPAC_IDTAG_ACCESS_CLASS
@ IPAC_IDTAG_ACCESS_CLASS
Definition
ipaccess.h:73
IPAC_IDTAG_UNIT
@ IPAC_IDTAG_UNIT
Definition
ipaccess.h:70
IPAC_IDTAG_UNITNAME
@ IPAC_IDTAG_UNITNAME
Definition
ipaccess.h:63
IPAC_IDTAG_SWVERSION
@ IPAC_IDTAG_SWVERSION
Definition
ipaccess.h:67
IPAC_IDTAG_LOCATION2
@ IPAC_IDTAG_LOCATION2
Definition
ipaccess.h:65
IPAC_IDTAG_LOCATION1
@ IPAC_IDTAG_LOCATION1
Definition
ipaccess.h:64
IPAC_IDTAG_SERNR
@ IPAC_IDTAG_SERNR
Definition
ipaccess.h:62
IPAC_IDTAG_IPADDR
@ IPAC_IDTAG_IPADDR
Definition
ipaccess.h:68
ipaccess_proto
ipaccess_proto
Definition
ipaccess.h:21
IPAC_PROTO_RSL
@ IPAC_PROTO_RSL
Definition
ipaccess.h:22
IPAC_PROTO_IPACCESS
@ IPAC_PROTO_IPACCESS
Definition
ipaccess.h:23
IPAC_PROTO_SCCP
@ IPAC_PROTO_SCCP
Definition
ipaccess.h:24
IPAC_PROTO_OML
@ IPAC_PROTO_OML
Definition
ipaccess.h:25
IPAC_PROTO_OSMO
@ IPAC_PROTO_OSMO
Definition
ipaccess.h:29
IPAC_PROTO_MGCP_OLD
@ IPAC_PROTO_MGCP_OLD
Definition
ipaccess.h:30
__attribute__
enum ipaccess_proto __attribute__
ipaccess_head_ext
Definition
ipaccess.h:16
ipaccess_head_ext::proto
uint8_t proto
Definition
ipaccess.h:17
ipaccess_head_ext::data
uint8_t data[0]
Definition
ipaccess.h:18
ipaccess_head
Definition
ipaccess.h:10
ipaccess_head::data
uint8_t data[0]
Definition
ipaccess.h:13
ipaccess_head::proto
uint8_t proto
Definition
ipaccess.h:12
ipaccess_head::len
uint16_t len
Definition
ipaccess.h:11
sdp_firmware
Definition
ipaccess.h:80
sdp_firmware::time
char time[12]
Definition
ipaccess.h:88
sdp_firmware::date
char date[14]
Definition
ipaccess.h:89
sdp_firmware::file_length
uint32_t file_length
Definition
ipaccess.h:85
sdp_firmware::text2
char text2[10]
Definition
ipaccess.h:90
sdp_firmware::text1
char text1[64]
Definition
ipaccess.h:87
sdp_firmware::header_length
uint32_t header_length
Definition
ipaccess.h:84
sdp_firmware::more_more_magic
uint16_t more_more_magic
Definition
ipaccess.h:83
sdp_firmware::table_offset
uint16_t table_offset
Definition
ipaccess.h:92
sdp_firmware::magic
char magic[4]
Definition
ipaccess.h:81
sdp_firmware::sw_part
char sw_part[20]
Definition
ipaccess.h:86
sdp_firmware::more_magic
char more_magic[2]
Definition
ipaccess.h:82
sdp_firmware::version
char version[20]
Definition
ipaccess.h:91
sdp_header_entry
Definition
ipaccess.h:96
sdp_header_entry::something1
uint16_t something1
Definition
ipaccess.h:97
sdp_header_entry::addr2
uint32_t addr2
Definition
ipaccess.h:105
sdp_header_entry::addr1
uint32_t addr1
Definition
ipaccess.h:104
sdp_header_entry::start
uint32_t start
Definition
ipaccess.h:106
sdp_header_entry::length
uint32_t length
Definition
ipaccess.h:103
sdp_header_entry::date
char date[14]
Definition
ipaccess.h:100
sdp_header_entry::text1
char text1[64]
Definition
ipaccess.h:98
sdp_header_entry::text2
char text2[10]
Definition
ipaccess.h:101
sdp_header_entry::version
char version[20]
Definition
ipaccess.h:102
sdp_header_entry::time
char time[12]
Definition
ipaccess.h:99
include
osmocom
gsm
protocol
ipaccess.h
Generated by
1.9.8