libosmogsm  1.4.0
Osmocom GSM library
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 
17  uint8_t proto;
18  uint8_t data[0];
19 } __attribute__ ((packed));
20 
26 
27 
28  /* OpenBSC extensions */
31 };
32 
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 };
43 
50 
51  /* OpenBSC extension */
53 };
54 
65 };
66 
67 /*
68  * Firmware specific header
69  */
70 struct sdp_firmware {
71  char magic[4];
72  char more_magic[2];
73  uint16_t more_more_magic;
74  uint32_t header_length;
75  uint32_t file_length;
76  char sw_part[20];
77  char text1[64];
78  char time[12];
79  char date[14];
80  char text2[10];
81  char version[20];
82  uint16_t table_offset;
83  /* stuff i don't know */
84 } __attribute__((packed));
85 
87  uint16_t something1;
88  char text1[64];
89  char time[12];
90  char date[14];
91  char text2[10];
92  char version[20];
93  uint32_t length;
94  uint32_t addr1;
95  uint32_t addr2;
96  uint32_t start;
97 } __attribute__((packed));
sdp_firmware
Definition: ipaccess.h:70
IPAC_PROTO_MGCP_OLD
@ IPAC_PROTO_MGCP_OLD
Definition: ipaccess.h:30
sdp_firmware::text2
char text2[10]
Definition: ipaccess.h:80
__attribute__
enum ipaccess_proto __attribute__
sdp_firmware::more_more_magic
uint16_t more_more_magic
Definition: ipaccess.h:73
sdp_firmware::file_length
uint32_t file_length
Definition: ipaccess.h:75
IPAC_IDTAG_SWVERSION
@ IPAC_IDTAG_SWVERSION
Definition: ipaccess.h:61
sdp_header_entry::addr1
uint32_t addr1
Definition: ipaccess.h:94
ipaccess_head::proto
uint8_t proto
Definition: ipaccess.h:12
IPAC_PROTO_OML
@ IPAC_PROTO_OML
Definition: ipaccess.h:25
sdp_firmware::time
char time[12]
Definition: ipaccess.h:78
ipaccess_head_ext
Definition: ipaccess.h:16
IPAC_PROTO_IPACCESS
@ IPAC_PROTO_IPACCESS
Definition: ipaccess.h:23
IPAC_MSGT_PING
@ IPAC_MSGT_PING
Definition: ipaccess.h:45
IPAC_MSGT_ID_ACK
@ IPAC_MSGT_ID_ACK
Definition: ipaccess.h:49
sdp_header_entry::version
char version[20]
Definition: ipaccess.h:92
IPAC_IDTAG_EQUIPVERS
@ IPAC_IDTAG_EQUIPVERS
Definition: ipaccess.h:60
sdp_header_entry::something1
uint16_t something1
Definition: ipaccess.h:87
IPAC_PROTO_OSMO
@ IPAC_PROTO_OSMO
Definition: ipaccess.h:29
IPAC_PROTO_EXT_ORC
@ IPAC_PROTO_EXT_ORC
Definition: ipaccess.h:38
IPAC_PROTO_EXT_OAP
@ IPAC_PROTO_EXT_OAP
Definition: ipaccess.h:40
sdp_firmware::magic
char magic[4]
Definition: ipaccess.h:71
ipaccess_proto_ext
ipaccess_proto_ext
Definition: ipaccess.h:33
IPAC_PROTO_EXT_CTRL
@ IPAC_PROTO_EXT_CTRL
Definition: ipaccess.h:34
sdp_firmware::table_offset
uint16_t table_offset
Definition: ipaccess.h:82
sdp_header_entry::start
uint32_t start
Definition: ipaccess.h:96
IPAC_IDTAG_SERNR
@ IPAC_IDTAG_SERNR
Definition: ipaccess.h:56
IPAC_PROTO_EXT_SMSC
@ IPAC_PROTO_EXT_SMSC
Definition: ipaccess.h:37
ipaccess_head
Definition: ipaccess.h:10
ipaccess_id_tags
ipaccess_id_tags
Definition: ipaccess.h:55
IPAC_MSGT_ID_RESP
@ IPAC_MSGT_ID_RESP
Definition: ipaccess.h:48
IPAC_IDTAG_IPADDR
@ IPAC_IDTAG_IPADDR
Definition: ipaccess.h:62
IPAC_PROTO_EXT_RSPRO
@ IPAC_PROTO_EXT_RSPRO
Definition: ipaccess.h:41
sdp_firmware::date
char date[14]
Definition: ipaccess.h:79
ipaccess_msgtype
ipaccess_msgtype
Definition: ipaccess.h:44
sdp_firmware::version
char version[20]
Definition: ipaccess.h:81
ipaccess_head_ext::proto
uint8_t proto
Definition: ipaccess.h:17
sdp_header_entry::addr2
uint32_t addr2
Definition: ipaccess.h:95
sdp_header_entry::date
char date[14]
Definition: ipaccess.h:90
sdp_firmware::more_magic
char more_magic[2]
Definition: ipaccess.h:72
IPAC_PROTO_EXT_GSUP
@ IPAC_PROTO_EXT_GSUP
Definition: ipaccess.h:39
ipaccess_head::data
uint8_t data[0]
Definition: ipaccess.h:13
sdp_firmware::text1
char text1[64]
Definition: ipaccess.h:77
sdp_header_entry
Definition: ipaccess.h:86
IPAC_PROTO_RSL
@ IPAC_PROTO_RSL
Definition: ipaccess.h:22
sdp_header_entry::time
char time[12]
Definition: ipaccess.h:89
IPAC_PROTO_EXT_MGCP
@ IPAC_PROTO_EXT_MGCP
Definition: ipaccess.h:35
ipaccess_head_ext::data
uint8_t data[0]
Definition: ipaccess.h:18
sdp_firmware::header_length
uint32_t header_length
Definition: ipaccess.h:74
ipaccess_proto
ipaccess_proto
Definition: ipaccess.h:21
IPAC_IDTAG_LOCATION2
@ IPAC_IDTAG_LOCATION2
Definition: ipaccess.h:59
IPAC_PROTO_EXT_LAC
@ IPAC_PROTO_EXT_LAC
Definition: ipaccess.h:36
IPAC_MSGT_SCCP_OLD
@ IPAC_MSGT_SCCP_OLD
Definition: ipaccess.h:52
IPAC_IDTAG_UNITNAME
@ IPAC_IDTAG_UNITNAME
Definition: ipaccess.h:57
sdp_header_entry::text2
char text2[10]
Definition: ipaccess.h:91
sdp_firmware::sw_part
char sw_part[20]
Definition: ipaccess.h:76
IPAC_PROTO_SCCP
@ IPAC_PROTO_SCCP
Definition: ipaccess.h:24
IPAC_IDTAG_MACADDR
@ IPAC_IDTAG_MACADDR
Definition: ipaccess.h:63
IPAC_IDTAG_LOCATION1
@ IPAC_IDTAG_LOCATION1
Definition: ipaccess.h:58
ipaccess_head::len
uint16_t len
Definition: ipaccess.h:11
IPAC_IDTAG_UNIT
@ IPAC_IDTAG_UNIT
Definition: ipaccess.h:64
sdp_header_entry::length
uint32_t length
Definition: ipaccess.h:93
IPAC_MSGT_ID_GET
@ IPAC_MSGT_ID_GET
Definition: ipaccess.h:47
IPAC_MSGT_PONG
@ IPAC_MSGT_PONG
Definition: ipaccess.h:46
sdp_header_entry::text1
char text1[64]
Definition: ipaccess.h:88