libosmogsm  0.9.6-15.20170220git32ee5af8.fc34
Osmocom GSM library
ipaccess.h
1 #pragma once
2 
3 #include <stdint.h>
4 
5 #define IPA_TCP_PORT_OML 3002
6 #define IPA_TCP_PORT_RSL 3003
7 
8 struct ipaccess_head {
9  uint16_t len; /* network byte order */
10  uint8_t proto;
11  uint8_t data[0];
12 } __attribute__ ((packed));
13 
15  uint8_t proto;
16  uint8_t data[0];
17 } __attribute__ ((packed));
18 
19 enum ipaccess_proto {
20  IPAC_PROTO_RSL = 0x00,
21  IPAC_PROTO_IPACCESS = 0xfe,
22  IPAC_PROTO_SCCP = 0xfd,
23  IPAC_PROTO_OML = 0xff,
24 
25 
26  /* OpenBSC extensions */
27  IPAC_PROTO_OSMO = 0xee,
28  IPAC_PROTO_MGCP_OLD = 0xfc,
29 };
30 
31 enum ipaccess_proto_ext {
32  IPAC_PROTO_EXT_CTRL = 0x00,
33  IPAC_PROTO_EXT_MGCP = 0x01,
34  IPAC_PROTO_EXT_LAC = 0x02,
35  IPAC_PROTO_EXT_SMSC = 0x03,
36  IPAC_PROTO_EXT_ORC = 0x04, /* OML Router Control */
37  IPAC_PROTO_EXT_GSUP = 0x05, /* GSUP GPRS extension */
38  IPAC_PROTO_EXT_OAP = 0x06, /* Osmocom Authn Protocol */
39 };
40 
41 enum ipaccess_msgtype {
42  IPAC_MSGT_PING = 0x00,
43  IPAC_MSGT_PONG = 0x01,
44  IPAC_MSGT_ID_GET = 0x04,
45  IPAC_MSGT_ID_RESP = 0x05,
46  IPAC_MSGT_ID_ACK = 0x06,
47 
48  /* OpenBSC extension */
49  IPAC_MSGT_SCCP_OLD = 0xff,
50 };
51 
52 enum ipaccess_id_tags {
53  IPAC_IDTAG_SERNR = 0x00,
54  IPAC_IDTAG_UNITNAME = 0x01,
55  IPAC_IDTAG_LOCATION1 = 0x02,
56  IPAC_IDTAG_LOCATION2 = 0x03,
57  IPAC_IDTAG_EQUIPVERS = 0x04,
58  IPAC_IDTAG_SWVERSION = 0x05,
59  IPAC_IDTAG_IPADDR = 0x06,
60  IPAC_IDTAG_MACADDR = 0x07,
61  IPAC_IDTAG_UNIT = 0x08,
62 };
63 
64 /*
65  * Firmware specific header
66  */
67 struct sdp_firmware {
68  char magic[4];
69  char more_magic[2];
70  uint16_t more_more_magic;
71  uint32_t header_length;
72  uint32_t file_length;
73  char sw_part[20];
74  char text1[64];
75  char time[12];
76  char date[14];
77  char text2[10];
78  char version[20];
79  uint16_t table_offset;
80  /* stuff i don't know */
81 } __attribute__((packed));
82 
84  uint16_t something1;
85  char text1[64];
86  char time[12];
87  char date[14];
88  char text2[10];
89  char version[20];
90  uint32_t length;
91  uint32_t addr1;
92  uint32_t addr2;
93  uint32_t start;
94 } __attribute__((packed));
Definition: ipaccess.h:14
Definition: ipaccess.h:8
Definition: ipaccess.h:67
Definition: ipaccess.h:83