blob: 4853aa1236e7905d189b28897f6128d9e6f2d7a3 [file] [log] [blame]
Harald Welte4f361fc2009-02-15 15:32:53 +00001#ifndef _IPACCESS_H
2#define _IPACCESS_H
3
Pablo Neira Ayusoed5cacb2011-08-17 22:44:07 +02004#include <osmocom/abis/e1_input.h>
Holger Hans Peter Freytherec8a4e22010-10-14 22:56:06 +02005#include "gsm_subscriber.h"
Pablo Neira Ayuso136f4532011-03-22 16:47:59 +01006#include <osmocom/core/linuxlist.h>
Harald Weltea85515b2011-05-22 21:57:36 +02007#include <osmocom/gsm/protocol/ipaccess.h>
Harald Welte4f361fc2009-02-15 15:32:53 +00008
Holger Hans Peter Freytherec8a4e22010-10-14 22:56:06 +02009struct ipac_msgt_sccp_state {
10 uint8_t src_ref[3];
11 uint8_t dst_ref[3];
12 uint8_t trans_id;
13 uint8_t invoke_id;
Holger Hans Peter Freyther7a0010b2013-04-29 20:40:44 +020014 char imsi[GSM_IMSI_LENGTH];
15 uint8_t data[0];
Holger Hans Peter Freytherec8a4e22010-10-14 22:56:06 +020016} __attribute__((packed));
17
Holger Hans Peter Freytherc3f28322011-04-23 15:08:44 +020018/*
Holger Hans Peter Freyther2a9eeaa2011-04-23 16:37:58 +020019 * @add_remove 0 for remove, 1 for add, 3 to asK
Holger Hans Peter Freytherc3f28322011-04-23 15:08:44 +020020 * @nr_lacs Number of extra lacs inside this package
21 * @lac One lac entry
22 */
23struct ipac_ext_lac_cmd {
24 uint8_t add_remove;
25 uint8_t nr_extra_lacs;
26 uint16_t lac;
27 uint8_t data[0];
28} __attribute__((packed));
29
Holger Hans Peter Freyther70402a42010-04-15 11:17:24 +020030int ipaccess_drop_oml(struct gsm_bts *bts);
31int ipaccess_drop_rsl(struct gsm_bts_trx *trx);
Holger Hans Peter Freytherd3d5be12010-02-09 14:37:23 +010032
Holger Hans Peter Freyther0183edd2009-12-30 06:13:36 +010033struct sdp_header_item {
Holger Hans Peter Freytherc9f8a6d2009-12-30 06:10:56 +010034 struct sdp_header_entry header_entry;
35 struct llist_head entry;
Holger Hans Peter Freyther38722cc2010-03-22 11:22:54 +010036 off_t absolute_offset;
Holger Hans Peter Freytherc9f8a6d2009-12-30 06:10:56 +010037};
38
Holger Hans Peter Freyther4a98cad2009-12-30 05:56:49 +010039struct sdp_header {
40 struct sdp_firmware firmware_info;
Holger Hans Peter Freytherc9f8a6d2009-12-30 06:10:56 +010041
42 /* for more_magic a list of sdp_header_entry_list */
43 struct llist_head header_list;
44
45 /* the entry of the sdp_header */
46 struct llist_head entry;
Holger Hans Peter Freyther4a98cad2009-12-30 05:56:49 +010047};
48
49int ipaccess_analyze_file(int fd, const unsigned int st_size, const unsigned base_offset, struct llist_head *list);
50
Harald Welte4f361fc2009-02-15 15:32:53 +000051#endif /* _IPACCESS_H */