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